Postado Junho 5, 2020 4 anos Bom dia galera! Queria saber se existe alguma maneira de uma classe não atacar outra classe igual. To usando um tfs 1.2 como base, e queria fazer algo parecido com o sistema de alianças do wow. Se alguém pude me ajudar ou sanar minha dúvida agradeço!
Postado Junho 14, 2020 4 anos Olha não sei como você quer fazer essa classe então vou por configurável por storage aqui para você ok? Assim só você ir modificando ao seu gosto. Crie 4 arquivos nas pastas a seguir. data/creaturescripts/avoidclass/EvadeOnCast.lua Spoiler local storage = 10000 --Mude a storage para a que vc quiser function onCast(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end end end data/creaturescripts/avoidclass/EvadeOnAttack.lua Spoiler local storage = 10000 --Mude a storage para a que vc quiser function onAttack(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end end end data/creaturescripts/avoidclass/EvadeOnAreaCombat.lua Spoiler local storage = 10000 --Mude a storage para a que vc quiser function onAreaCombat(cid, target, tileItem, tilePosition, isAggressive) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end end end data/creaturescripts/avoidclass/EvadeOnCombat.lua Spoiler local storage = 10000 --Mude a storage para a que vc quiser function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(target, storage) == getPlayerStorageValue(cid, storage) then return false end end end Não esqueça de registrar os eventos no Login.lua data/creaturescripts/login.lua registerCreatureEvent(cid, "EvadeOnCombat") registerCreatureEvent(cid, "EvadeOnAttack") registerCreatureEvent(cid, "EvadeOnCast") registerCreatureEvent(cid, "EvadeOnAreaCombat") Depois disso só adiciona as tags no creaturescripts.xml <event type="attack" name="EvadeOnAttack" event="script" value="avoidclass/EvadeOnAttack.lua" /> <event type="cast" name="EvadeOnCast" event="script" value="avoidclass/EvadeOnCast.lua" /> <event type="areacombat" name="EvadeOnAreaCombat" event="script" value="avoidclass/EvadeOnAreaCombat.lua" /> <event type="combat" name="EvadeOnCombat" event="script" value="avoidclass/EvadeOnCombat.lua" /> Agora é só usar, Storage representa todas as classes, o valor que você colocará em cada uma storage representará sua classe especifica. Exemplo: setPlayerStorageValue(cid, 1000, 1) --Classe 1 setPlayerStorageValue(cid, 1000, 2) --Classe 2 setPlayerStorageValue(cid, 1000, 3) --Classe 3 setPlayerStorageValue(cid, 1000, 4) --Classe 4
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.