
Tudo que xWhiteWolf postou
-
[PEDIDO] Script de raios
Desculpa a demora, mas aqui está. Tirei o script desse tópico aqui: http://www.tibiaking.com/forum/topic/12115-creaturescripts-walking-effect-on-outfit/ --[[CRÉDITOS VÃO TODOS PARA AnneMotta & Vodkart POR TEREM CRIADO O SCRIPT, EU APENAS EDITEI O SCRIPT DO JEITO QUE VC PEDIU ]] function onLogin(cid) registerCreatureEvent(cid, "EffectOutLogin") registerCreatureEvent(cid, "OutfitEffects") return doCreatureChangeOutfit(cid,{lookType = getCreatureOutfit(cid).lookType, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons}) end local events = {} function onOutfit(cid, old, current) -------------------------------------------- CONFIGURE ABAIXO------------------------------------------ local effect = { [535] = 4 --para adicionar mais outfits e eventos apenas coloque uma virgula depois do 4 e siga o padrão. } local tempo = 1500 --tempo entre 1 efeito e outro em milisegundos -------------------------------------------FIM DA CONFIGURAÇÃO --------------------------------------- local o,c= effect[old.lookType],effect[current.lookType] if getPlayerAccess(cid) > 2 then return true elseif (not o or not c or o) then stopEvent(events[getPlayerGUID(cid)]) end if c then function WalkEffect(cid, c, pos) if not isCreature(cid) then return LUA_ERROR end if c then frompos = getThingPos(cid) doSendMagicEffect(frompos, c) events[getPlayerGUID(cid)] = addEvent(WalkEffect, tempo, cid, c, frompos) end return true end WalkEffect(cid, c, {x=0, y=0, z=0}) end return trueend
-
SCRIPT DE SUMMON BIXO
oque exatamente não tá dando certo? O primeiro boss é sumonado?
-
PUSH PLAYER
como assim empurrar de longe? Você quer dizer com o GOD ou arrastar a distância e o player andar até o player e então arrastar ele?
-
[PEDIDO] Error no Distro - VOCATIONS
posta o seu vocations.xml, vc provavelmente deixou um <Vocation/> em aberto e isso impede o server de processar o resto da informação.. resultando um erro gigante ahauhuha
-
Runa que heala vida e mana ao mesmo tempo
é bem fácil cara, só trocar os locais minmana e maxmana por getPlayerLevel(cid)*X+ getPlayerMagicLevel(cid)*Y e ir brincando. Lembrando q esses comandos são apenas exemplos e não são os comandos certos de verdade.
-
Runa que heala vida e mana ao mesmo tempo
local minmanasorc = 400 local maxmanasorc = 1500 local minmanakina = 200 local maxmanakina = 600 if getPlayerVoc(cid) == 1 or getPlayerVoc(cid) == 5 or getPlayerVoc(cid) == 2 or getPlayerVoc(cid) == 6 doPlayeraddMana = math.random (minmanasorc, maxmanasorc) doPlayeraddHealth = math.random (minmanakina, maxmanakina) else if getPlayerVoc(cid) == 3 or getPlayerVoc(cid) == 7 or getPlayerVoc(cid) == 4 or getPlayerVoc(cid) == 8 doPlayeraddHealth = math.random (minmanasorc, maxmanasorc) doPlayeraddMana = math.random (minmanakina, maxmanakina) return true end os comandos aí estão errados porque fiz tudo de cabeça.. dps te ajudo melhor mas isso foi só pra vc ter uma noção doque deve fazer. Boa sorte
-
(Resolvido)[PEDIDO] Account Manager
Não sei arrumar pq nunca mexi com website mas vc já tentou baixar os arquivos de Account Manager de um outro server que já esteja pronto e funcionando?
-
como colocar uma spell de area com 1 sprite
se possível poste a resolução...
-
[EDITAR] Script - Addon Bonus
Crie um combat2 que será o dano caso o player esteja usando o full addon e leia atentamente tudo que vem a seguir getCreatureOutfit(cid) Info This function checks creature current outfit. Returns Creature outfit in array. For example: {lookType = 266, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0} --my current God outfit Example local myOutfit = getCreatureOutfit(cid) Só colocar isso isso depois de Function OncastSpell (cid,var) local sex = getPlayerSex(cid) local myOutfit = getCreatureOutfit(cid) local maleoutfit = {lookType = 152, lookHead = myOutfit.lookHead, lookBody = myOutfit.lookBody, lookLegs = myOutfit.lookLegs, lookFeet = myOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3} local femaleoufit = {lookType = 156, lookHead = myOutfit.lookHead, lookBody = myOutfit.lookBody, lookLegs = myOutfit.lookLegs, lookFeet = myOutfit.lookFeet, lookTypeEx = 0, lookAddons = 3} if sex == 0 then if myOutfit == femaleoutfit then return doCombat(cid, combat2, var) else return doCombat(cid, combat, var) end end if sex == 1 then if myOutfit == maleoutfit then return doCombat(cid, combat2, var) else return doCombat(cid, combat, var) end end end Se não der certo utiliza isInArray que é sucesso; Explicando: Caso o player seja homem e esteja utilizando o outfit de homem da determinada vocação dele (você deve mudar o outfit, addons 3 significa os addons 1 e 2 juntos) ou mulher e utilizando o outfit de mulher daquela determinada vocação ele irá dar o dano do combat2 (que vc deve declarar anteriormente) Note que eu não utilizei o getPlayerVocation para checar a vocação do player pois seria um consumo maior de memória ATOA, sendo que é bem mais fácil colocar esse sistema somente nas spells que são próprias pra cada vocação.. caso vc queira vc pode usar a vontade, somente adicionais mais um if e mais um end ali.
- (Resolvido)[PEDIDO] Personagem Brilhando!
-
Script, Monstro morrer, Nascer outros 2
É um script bem complicadinho mas é totalmente fazível. O segredo é utilizar uma lever que chece se o player tem 4 storages, se ele não tiver nenhum a alavanca sumona o primeiro monstro e muda um dos storages, daí ela vira outra alavanca de id 1946, após matar o monstro vc ganha um storage novo, e a alavanca só volta pra 1945 se vc tiver esse storage novo (utilize a função onDeath pra colocar storage após matar o monstro). Daí qnd virasse 1945 ela sumonava 2 monstros nas posições locais predefinidas e ia repetindo tudo. No final ela criaria o tp com essa funçãozinha aqui (também checando o storage do player) local toPos = {x = 251, y = 37, z = 5} -- posição que leva local Postele = {x = 251, y = 37, z = 5} --posição que nasce o teleporte doCreateTeleport(1387, toPos, PosTele) Eu consigo fazer pra ti mas eu gostaria MUITO que vc tentasse fazer sozinho pra aumentar o número de scripters desse fórum. Me manda PM qualquer dúvida que eu tento te ajudar com oque eu conseguir
-
(Resolvido)FASTER REGENERATION
Só editar no items.xml os itens vip e depois colocar no movements.xml pra fazer a função que vc declarou no items.xml. Se isso soou muito vago pra você me manda PM que eu te ajudo
-
Bug Player Morre com Promote e Volta Level 1
Acredito que alguém zoou a taxa que perde de experience quando morre e colocou pra perder tudo :/ acho que é no config.lua que arruma isso ou no vocations.xml
- Tibia.Dat e Tibia.Spr
- [PEDIDO] Como Colocar Exp Adicional Para Premiuns
-
(Resolvido)[PEDIDO] Editar Items.
Você coloca no items.xml oque vc quer que o item faça, experimenta usar comandos de itens parecidos: Exemplo: Quero que o set de Knight dê skill de club/sword/axe.. daí vc procura algum item que faça isso e só copia a parte que aumenta a skill <attribute key="skillSword" value="3" /> <attribute key="skillAxe" value="3" /> <attribute key="skillClub" value="3" /> Se você quiser que aumente distance é só colocar <attribute key="skillDist" value="3" /> para absorver danos é bem simples <attribute key="absorbPercentPhysical" value="3" /> <attribute key="absorbPercentEarth" value="5" /> <attribute key="absorbPercentDeath" value="6" /> <attribute key="absorbPercentFire" value="-3" /> <attribute key="absorbPercentIce" value="2" /> Perceba que o PercentFire está negativo, é porque ele tem fraqueza contra fogo, positivo ele é bom contra o elemento, negativo ele é fraco contra o elemento. Pra aumentar ML é só usar: <attribute key="magiclevelpoints" value="1" /> Pra aumentar speed é só procurar a BOH e copiar: <attribute key="speed" value="20" /> E não esquece de colocar no final <attribute key="showattributes" value="1" /> para que apareçam os atributos quando o player der look no item. Em <attribute key="slotType" value="necklace" /> Você escolhe que tipo de item aquilo é, os values são: body, two-handed, one-handed, ammo, ring, necklace, legs, feet, head, backpack E PARA FINALIZAR DECLARE TUDO NO MOVEMENTS.XML: <movevent type="Equip" itemid="IDDOITEM" slot="TIPO DE SLOT" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="IDDOITEM" slot="TIPO DE SLOT" event="function" value="onDeEquipItem"/> itemid="IDDOITEM" troque IDDOITEM pelo ID DO ITEM (BEM ÓBVIO, NÉ?) slot="TIPO DE SLOT" coloque um dos slots possíveis, os que são possiveis estão nessa lista aqui: armor feet legs head shield pickupable necklace ring OBSERVAÇÃO FINAL: O SLOT QUE VC DECLARAR NO MOVEMENTS TEM QUE SER DO MESMO TIPO QUE O ITEMS.XML ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agora as flechas/bows/armas: Essas não precisam declarar no movements.xml mas precisam de um script no weapon.xml 1) Flechas As flechas são bem simples: <attribute key="slotType" value="ammo" /> <attribute key="attack" value="25" /> <attribute key="maxHitChance" value="90" /> <attribute key="weaponType" value="ammunition" /> <attribute key="ammoType" value="arrow" /> <attribute key="shootType" value="arrow" /> slotype = ammo para ficar no lugar da munição (ammo) Attack vc muda a vontade pro que vc quiser MaxHitChance = chance de acertar o hit, qualquer numero menor que 100 apresenta uma chance do hit falhar WeaponType= Tipo de arma, flechas são munições então deixe sempre ammunition ammoTyoe = Tipo de munição, pode ser "arrow" ou "bolt" dependendo doque vc quiser usar, um bow ou um crossbow shootType é o efeito que vai sair, no caso dessa aí seria uma arrow normalzinha mas vc pode colocar qualquer flecha que exista ou até mesmo copiar efeitos de runas Dê ctrl+F no items.xml em shootType e copie diferentes tipos e vá vendo no servidor qual se encaixa melhor na sua opinião. 2) Bows e Crossbows Eu te aconselho copiar de algum item que já exista o modificar oque você quiser <attribute key="slotType" value="two-handed" /> <attribute key="weaponType" value="distance" /> <attribute key="ammoType" value="bolt" /> <attribute key="range" value="5" /> <attribute key="hitChance" value="1" /> isso daqui é um crossbow duas mãos que ataca bolt (podia ser arrows tb) a uma distância de no máximo 5 SQM (modifique o range) a chance de hit padrão dele é 1 e essa hit chance soma com a da munição 3) Wands e Rods <attribute key="weight" value="2900" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="ice" /> <attribute key="range" value="3" /> peso, tipo (mesmo que seja uma rod o tipo é "wand"), tipo de efeito que sai dela (no caso é o ice), distância que ataca (no caso, 3 sqm) Agora no weapons.xml: <wand id="2190" level="7" mana="2" min="8" max="18" type="energy" event="function" value="default"> <!-- Wand of Vortex --> <vocation id="1"/> </wand> id do item, level pra usar, custo de mana por hit, dano minimo e maximo, tipo de ataque, event (deixe function para ele fazer tudo que vc colocou no items.xml) value= não mexa a menos que vc seja um programador C++, vocation vc coloca as classes que podem usar. 1= sorc, 2= druid, 3= pally, 4= kina, 5= master sorc, 6= elder druid, 7= royal pally, 8= elit kina OBS: Você pode colocar isso também para que quando o player dê look não apareça o nome da classe que pode usar aquele determinado item (isso é util quando vc declarar que ambos sorceres e master sorcerers podem usar o item, evitando as repetições quando o player der look no item <vocation id="5" showInDescription="0"/> <vocation id="1"/> 4) Outros tipos de arma É bem simples, só edite oque quiser seguindo o modelo: <attribute key="weight" value="6800" /> <attribute key="defense" value="65" /> <attribute key="attack" value="90" /> <attribute key="weaponType" value="sword" /> <attribute key="extradef" value="5" /> <attribute key="elementIce" value="30" /> <attribute key="slotType" value="two-handed" /> <attribute key="decayTo" value="2401" /> <attribute key="duration" value="60" /> weight = peso defense= defesa q ela dá attack = ataque weapontype = Tipo de arma (sword, axe, club) extradef = defesa extra (fica Defesa 65 +5 nesse caso) ElementIce = adiciona dano elemental à arma, pode usar também ElementFire, ElementEarth e ElementEnergy slotType = se a arma é duas mãos ou não (caso não seja apenas retire essa linha) decayTo = apos um tempo igual a duration (em segundos) ela vira o item de ID 2401 (se não quiser isso apenas remova essas duas ultimas linhas) OBSERVAÇÃO FINAL: Tudo que você não quiser utilizar é só remover a linha do items.xml, e todo tipo de edição em armas deve ser declarado no weapons.xml seguindo o exemplo. (COMO VOCÊ NÃO TÁ CRIANDO NENHUM ITEM E SIM EDITANDO OS QUE JÁ EXISTEM EU TE ACONSELHO A PROCURAR O ITEM LÁ DANDO CTRL F E PROCURANDO PELO ID DOQUE SAIR ADICIONANDO UM MONTE DE LINHA A MAIS QUE TALVEZ DÊ CONFLITO COM AS QUE JÁ EXISTAM). OS ITENS QUE VC COLOCAR PRA DAR SKILL, ML OU PORCENTAGEM ELEMENTAL VOCÊ DEVE DECLARAR NO MOVEMENTS.XML E SE ESSE ITEM FOR PARA UMA DETERMINADA VOCAÇÃO VOCÊ DEVE DECLARAR TAMBÉM SEGUINDO O EXEMPLO: <movevent type="Equip" itemid="7886" slot="feet" event="function" value="onEquipItem"> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </movevent> <movevent type="DeEquip" itemid="7886" slot="feet" event="function" value="onDeEquipItem"/>
-
[PEDIDO] Script que aumenta atk speed
Mesmo com esse comando precisa descompilar o server e editar a source direto. Oque dá pra fazer sem mexer na source é o seguinte 1) criar uma arma com mais attack speed e colocar pro ataque e a defesa dela serem iguais a arma que vc tá utilizando no momento, ele remove a arma atual, coloca a nova no lugar e ela vai ter mesmo attack e defesa só que mais attack speed (o script fica enorme e é bem provavel que os players consigam dupar itens com esse novo sistema mas é possível sim 2) aumentar o attack speed de todo mundo de uma determinada vocação usando um comando q lançou no TFS 0.3.6 mas provavelmente vai bugar muito e se duas pessoas utilizarem ao mesmo tempo vai bugar a porra toda.. daí vc teria que colocar storage e um monte de merda pra evitar bugs (só dor de cabeça) Sugiro que vc aguarde primeiro a Cipsoft lançar alguma função do gênero para que seja possivel a criação de tal magia, caso contrário, a unica coisa que dá pra fazer são diversas gambiarras nos scripts pra tornar isso possível (de uma forma bem bugada)
-
[Pedido]Spell que invoca 2 montros como pet... Script facil para vocês
tenta usar isso daqui doConvinceCreature(cid, doCreateMonster("Arqueiro", pos)) doConvinceCreature(cid, doCreateMonster("Bruxa", pos)) se baseia no script do undead legion e retira o if corpse para não precisar de corpo morto em volta.. se você não manjar nada me manda um PM que eu tento te explicar melhor, mas tenta fazer antes
-
Spell que muda Outfit!
@Kaesar7 Desculpa por não dar uma resposta concreta ontem, eu tinha acabado de chegar da farra e tava com preguiça kk mas hoje eu fiz o script pra caso você não manje nada de scripting: eu coloquei a magia prontinha e explicada, só muda oque vc quiser --Script for kaesar7 local tempo = 15 --tempo em segundos local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) local homem = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} --outfit que muda caso seja homem local mulher = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} --outfit que muda caso seja mulher local sex = getPlayerSex(cid) if sex == 0 then --sexo == 0 significa que o personagem é mulher doSetCreatureOutfit(cid, mulher, tempo*1000) else doSetCreatureOutfit(cid, homem, tempo*1000) end return doCombat(cid, combat, var) end local tempo = 15 --tempo em segundos Em verde estão as explicações, a gente usa "--" para colocar comentários porque tudo que vem depois do "--" é desconsiderado no script em vermelho o tempo que dura o outfit local homem = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} --outfit que muda caso seja homem local mulher = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} --outfit que muda caso seja mulher em azul está o outfit que vai ser colocado caso o player seja homem e caso ele seja mulher (te recomendo procurar a lista na internet OU ir na pasta monsters ou npcs e procurar um outfit que vc queira se baseando no que o monstro/npc está usando; Em looktype vc coloca o numero do outfit, em lookhead/body/legs/feet/ex vc coloca a cor do outfit e em lookaddons vc coloca qual addon vai estar usando (1 é o first, 2 é o second e 3 são ambos) e no spells.xml: <instant name="Flame Strike2" words="teste" lvl="12" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="attack/kaesar7.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Explicando cada tag: instant name: Nome da magia words: palavra para fazer a magia sair level: level necessário para usar mana: quanto de mana custa pra conjurar prem: precisa ser premium range: alcance máximo da magia (no caso, 3 sqm) casterTargetOrDirection: Solta a magia ou na target (caso esteja dentro do range) ou na frente da direção que você está olhando (caso não tenha target ou caso a target esteja muito longe) blockwalls: se estiver true (1) a magia não atravessará paredes, se estiver false (0) ela atravessa. exhaustion: Tempo que vc fica exhausted pra usar essa magia (em milisegundos: 1 segundo = 1000 milisegundos) needlearn: Se é preciso aprender a spell (ou fazendo quest, ou falando com npc ou qualquer outra coisa que vc imaginar) ou se ela já vem com o cara event: oque irá fazer quando vc soltar a magia, no caso ele irá ler e executar o script (não mexa nisso a menos que vc seja um programador muito fodido e tenha mudado o server inteiro) value: se refere ao value do event, no caso ele irá ler e executar o script que se encontra em.. e coloca a localização do script da magia, no caso está na pasta spells/scripts/attack/kaesar7 vocation: são as vocações que vão poder utilizar essa spell, para ver procure o arquivo data/xml/vocations.xml do seu server, mas o padrão é: 1= sorcerer, 2= druid, 3= paladin, 4= knight, 5= master sorcerer, 6= elder druid, 7= royal paladin, 8= elite knight @Nogard Antes de tudo, muito obrigado pelo REP :DD. Eu achava que era a única pessoa que ainda vinha pros fóruns de OT pra responder dúvidas kkk Vi que você tem um projeto parado de OTAvatar, se quiser falar sobre me adiciona no face https://www.facebook.com/andercfaria
-
Spell que muda Outfit!
se baseia nesse script que eu fiz --COISAS PARA DE UTILIZAR NESSE OU EM OUTROS SCRIPTS.. --doSetItemOutfit(getThingfromPos(poslook).uid, 2317, 1*15000) --doSetCreatureOutfit(cid, outfit, time) local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_EFFECT, 61) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, 2) setCombatParam(combat, COMBAT_PARAM_DISPEL, 1) setCombatParam(combat, COMBAT_PARAM_DISPEL, 4) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 15000) setConditionParam(condition, CONDITION_PARAM_SKILL_MELEEPERCENT, 140) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 140) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICPOINTSPERCENT, 140) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 140) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) local mninja = {lookType = 152, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local fninja = {lookType = 156, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local sex = getPlayerSex(cid) if sex == 0 then doSetCreatureOutfit(cid, fninja, 15000) local mana = getCreatureMaxMana(cid) doCreatureAddMana(cid, -mana) else doSetCreatureOutfit(cid, mninja, 15000) local mana = getCreatureMaxMana(cid) doCreatureAddMana(cid, -mana) end return doCombat(cid, combat, var) end