Tudo que felippepsa postou
-
Como criar Monster que muda o próprio outfit
Acho que isso seria mais colocando um buff que muda a outfit nele! Não sei se é possivel de outra forma, mais também não sou scripter, Se for isso que quer tenho uma script aqui local tempo = 180 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 15 -- quantos ira aumentar o skill de ML local skillfist = 15 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 15 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 15 -- quantos ira aumentar o skill de Shield local health = 80 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) -- parte modificada local summons = getCreatureSummons(cid) if #summons > 0 then for k = 1, #summons do local pos = getCreaturePosition(summons[k]) local positions = {x = pos.x + 1, y = pos.y, z = pos.z} doSendMagicEffect(positions, effect[i]) end end -- fim da parte modificada end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then if getPlayerLevel(cid) <= 25 then local outfit = {lookType = 510, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 50 then local outfit = {lookType = 511, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 75 then local outfit = {lookType = 513, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 100 then local outfit = {lookType = 515, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 125 then local outfit = {lookType = 516, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 150 then local outfit = {lookType = 517, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 175 then local outfit = {lookType = 518, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) elseif getPlayerLevel(cid) <= 500000 then local outfit = {lookType = 519, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) end doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect18, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. else doPlayerSendCancel(cid, "Sorry, you are transformed.") end local position129 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "HACHIMON KAI!", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end Ela tá por level mais é facil de alterar, se não conseguir é so por outfit pra todos
-
Effect no lugar errado
local tempo = 60 -- tempo em segundos. local effect = {120} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 25 -- quantos ira aumentar o skill de ML local skillfist = 35 -- quantos ira aumentar o skill de Fist local skillsword = 35 -- quantos ira aumentar o skill de Sword local skillaxe = 35 -- quantos ira aumentar o skill de Axe local skillclub = 35 -- quantos ira aumentar o skill de Club local skilldistance = 35 -- quantos ira aumentar o skill de Distance local skillshield = 35 -- quantos ira aumentar o skill de Shield local health = 100 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) local function magicEffect1(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) local position127 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect1, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Susano", TALKTYPE_MONSTER) doSendMagicEffect(position127, 110) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end Testa ai, Tava faltando o local function
-
SPELL, EFEITO POR DIREÇÃO.
Se não funcionar não sei o que fazer, tirei essa script do meu server!
-
SPELL, EFEITO POR DIREÇÃO.
TFS 0.4 talvez não funcione Tenho essa spell aqui srv/data/spells/scripts/spell.lua local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 134) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -180.2, 1, -170.2, 1) arr1 = { {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 3, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) function onCastSpell(cid, var) local waittime = 2 -- Tempo de exhaustion local storage = 550000 if exhaustion.check(cid, storage) then doCreatureSay(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.", TALKTYPE_MONSTER) return false end local p = getCreaturePos(cid) local x = { [0] = {x=p.x, y=p.y-1, z=p.z}, [1] = {x=p.x+4, y=p.y, z=p.z}, [2] = {x=p.x, y=p.y+4, z=p.z}, [3] = {x=p.x-1, y=p.y, z=p.z} } local y = { [0] = 249, [1] = 248, [2] = 246, [3] = 247 } pos = x[getCreatureLookDirection(cid)] eff = y[getCreatureLookDirection(cid)] doSendMagicEffect(pos, eff) doCreatureSay(cid, "Giant Rasengan", TALKTYPE_MONSTER) exhaustion.set(cid, storage, waittime) doCombat(cid, combat1, var) end Mude os effects em local y = { [0] = 249, [1] = 248, [2] = 246, [3] = 247 srv/data/spells/spells.xml <instant name="Oyako Rasengan" words="oyako rasengan" lvl="325" mana="8200" prem="0" needtarget="0" range="3" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="naruto/GiantRasengan.lua"> </instant>
-
(Resolvido)FirstItems no Lugar Errado
Funcionou perfeitamente, porém gostaria de que viesse mais 2 itens na bag! Edit: Pode deixar, consegui editar o script ficou assim: -- Script Adaptado por Jeremias // Tibiaking.com 12/03/2018 local itemsIniciais = { head = 7436, armor = 2665, legs = 2427, boots = 7387, ring = 2138, bag = 1999, gold = 2160, quantidadeDeGold = 10, sword = 2417, shuriken = 2545, kunai = 2379} function onLogin(cid) if getPlayerStorageValue(cid, 3013101) < 1 then doPlayerAddItem(cid, itemsIniciais.ring, 1, false, CONST_SLOT_NECKLACE) doPlayerAddItem(cid, itemsIniciais.head, 1, false, CONST_SLOT_HEAD) doPlayerAddItem(cid, itemsIniciais.bag, 1, false, CONST_SLOT_BACKPACK) doPlayerAddItem(cid, itemsIniciais.sword, 1, false, CONST_SLOT_RIGHT) doPlayerAddItem(cid, itemsIniciais.gold, itemsIniciais.quantidadeDeGold, false, CONST_SLOT_LEFT) doPlayerAddItem(cid, itemsIniciais.armor, 1, false, CONST_SLOT_ARMOR) doPlayerAddItem(cid, itemsIniciais.legs, 1, false, CONST_SLOT_LEGS) doPlayerAddItem(cid, itemsIniciais.boots, 1, false, CONST_SLOT_BOOTS) doPlayerAddItem(cid, itemsIniciais.shuriken, 1, false, CONST_BACKPACK) doPlayerAddItem(cid, itemsIniciais.kunai, 1, false, CONST_BACKPACK) doPlayerSendTextMessage(cid, 19, "Voce acaba de receber seus item iniciais.") end setPlayerStorageValue(cid, 3013101, 1) return TRUE end
-
(Resolvido)FirstItems no Lugar Errado
Utilizo TFS 0.4 Instalei os firstitems recentemente e eles estão vindo no local errado! E também gostaria de definir quantos goldbars estão vindo, ali no local firstitems e não no doAddContainerItem, gostaria que viesse 10! local firstItems = { 7436, 2665, 2427, 7387, 2138, 2417 } function onLogin(cid) if getPlayerStorageValue(cid, 30001) < 1 then for i=1, #firstItems do doPlayerAddItem(cid, firstItems[i], 1) end local bag = doPlayerAddItem(cid, 1999, 1) setPlayerStorageValue(cid, 30001, 1) doAddContainerItem(bag,2160,10) doAddContainerItem(bag,2379,1) doAddContainerItem(bag,2545,1) end return TRUE end
-
(Resolvido)Color Name
Ok ;s, Também achei que seria dificil alguem disponibilizar isso! Valeu ai vou por como melhor resposta! Edit: Achei essa dll aqui no forum mais ela tá pra versão 8.54 meu server é 8.60, Alguem ai sabe alguma forma de mudar pra 8.60 ou outra coisa ?
-
Sources
Tenta baixar uma source vazia, é 0.3.6 ou 1.3 ?
-
(Resolvido)Color Name
Tfs 0.4 Bom, Procurei muito por um sistema de color em nomes parecido com o do Nto Ultimate, Lá os npcs tem a cor amarela no nome, gostaria de por isso no meu server! Estou com a source aqui também, se alguem poder ajudar agradeço! obs : é pra oldclient!
-
(Resolvido)Buff que troca Outfit
Funcionou perfeitamente, só tive que alterar o level da ultima, por que se não os players de level mais alto acabariam não trocando outfit, Vlw ai !
-
(Resolvido)Buff que troca Outfit
Bom, utilizo tfs 0.4 e achei uma script aqui no forum, gostaria de pedir pra que colocassem um sistema de level, ou seja o player no level 25 vai trocar pra outfit 511 e assim vai indo, gostaria de um limite de 8 outfits! E também percebi que ao ativar o buff utilizando esse script a fala que fica no final no caso "SHIMON KAI" não aparece no server, se poderem arrumar agradeço! local tempo = 180 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 15 -- quantos ira aumentar o skill de ML local skillfist = 15 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 15 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 15 -- quantos ira aumentar o skill de Shield local health = 80 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) -- parte modificada local summons = getCreatureSummons(cid) if #summons > 0 then for k = 1, #summons do local pos = getCreaturePosition(summons[k]) local positions = {x = pos.x + 1, y = pos.y, z = pos.z} doSendMagicEffect(positions, effect[i]) end end -- fim da parte modificada end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then local outfit = {lookType = 511, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect18, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. else doPlayerSendCancel(cid, "Sorry, you are transformed.") end local position129 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "SHIMON KAI!", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end
-
Buff que troca Outfit
Bom, utilizo tfs 0.4 e achei uma script aqui no forum, gostaria de pedir pra que colocassem um sistema de level, ou seja o player no level 25 vai trocar pra outfit 511 e assim vai indo, gostaria de um limite de 8 outfits! E também percebi que ao ativar o buff utilizando esse script a fala que fica no final no caso "SHIMON KAI" não aparece no server, se poderem arrumar agradeço! local tempo = 180 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 15 -- quantos ira aumentar o skill de ML local skillfist = 15 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 15 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 15 -- quantos ira aumentar o skill de Shield local health = 80 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) -- parte modificada local summons = getCreatureSummons(cid) if #summons > 0 then for k = 1, #summons do local pos = getCreaturePosition(summons[k]) local positions = {x = pos.x + 1, y = pos.y, z = pos.z} doSendMagicEffect(positions, effect[i]) end end -- fim da parte modificada end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then local outfit = {lookType = 511, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, outfit, 15000) doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect18, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. else doPlayerSendCancel(cid, "Sorry, you are transformed.") end local position129 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "SHIMON KAI!", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end
-
Shop (Anti-Cloner)
TFS 0.4 Bom eu peguei uma script de shop.lua aqui no forum, Instalei ela no meu server e funcionou perfeitamente. Ela adiciona uma descrição no item(attribute) Assim dando pra excluir os itens clonados, Porém preciso de um comando sql para achar todos itens vips que não tem esta descrição, Eu utilizo modern acc e Xampp! Agradeço ai! Você tem o código disponível? Se tiver publique-o aqui: function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local um_um = {1,2,3,4,5,6,7,8,9,0} um = um_um[math.random(1, #um_um)] local dois_dois = {1,2,3,4,5,6,7,8,9,0} dois = dois_dois[math.random(1, #dois_dois)] local tres_tres = {1,2,3,4,5,6,7,8,9,0} tres = tres_tres[math.random(1, #tres_tres)] local quatro_quatro = {1,2,3,4,5,6,7,8,9,0} quatro = quatro_quatro[math.random(1, #quatro_quatro)] local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doPlayerAddItem(cid, id, count, false) if received then doItemSetAttribute(received, "description", ''.. productn ..' Comprado por: ' .. getCreatureName(cid) .. ' [ID:' .. um .. '' .. dois .. '' .. tres .. '' .. quatro .. '].') doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.query("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") f = io.open("data/logs/Shop.txt", "a+") f:write("Player : '".. productn .." Comprado por: ".. getCreatureName(cid) .." [ID: ".. um .."".. dois .."".. tres .."".. quatro .."] Item : "..productn.." - "..getCreatureName(cid).."- " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n") f:close() else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço suficiente em sua Backpack para receber a(o) >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe você não tem nenhuma Backpack para receber a(o) >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade suficiente para receber a(o) >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." de capacidade.)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "Você recebeu >> "..productn.." << do nosso Shop. Bom uso dele!") db.query("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber a(o) >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para receber a(o) >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." Capacidade.)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end
-
(Resolvido)!saga
Eu consegui resolver, Eu tambem fiz um topico de uma spell se você poder dar uma ajudada lá, vlw ai por ajudar! -- <talkaction words="!saga; /saga; /transformar; !transformar" event="script" value="saga.lua"/> local saga = { [1] = {471,401,402,472,473,405,406,470,408,409,410,411,412,413,398}, -- [ID DA VOC] = { ID DAS NEWTYPES }, [700] = {469,468,458,459,460,464,465,436,430,466,467}, [710] = {475,476,477,478,479,480,481,482,483,484,485,484} } local level = 5 -- Limite para liberar uma saga nova function onSay(cid, words, param, channel) if exhaustion.check(cid, 120) == TRUE then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 3) return TRUE end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") exhaustion.set(cid, 120, 0.5) return true end if not saga[getPlayerVocation(cid)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") exhaustion.set(cid, 120, 0.5) return true end local t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") exhaustion.set(cid, 120, 0.5) return true end if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") exhaustion.set(cid, 120, 0.5) return true end if getPlayerLevel(cid) >= (tonumber(t[1])*level) then doCreatureChangeOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]}) doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) exhaustion.set(cid, 120, 0.5) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.") end return true end Pra quem quiser a script tá ai, aqui funcionou normal
-
(Resolvido)Spell Naruto
TFS 0.4 Olá, gostaria de fazer uma spell que mandasse 3 effects, so que da seguinte forma: O primeiro effect sai do player que solta o ataque no caso o effect:259(258 em spell) depois o effect 261(260 em spell) sai no target e pra finalizar vem o effect 260(259 em spell)! Já procurei pra ver se tinha algum parecido no meu server, mais não achei nenhum então vim pedir pra alguem fazer isso!!
-
(Resolvido)!saga
UP
-
(Resolvido)!saga
Olá, Estou criando um narutibia, o erro dessa script de !saga (transforma o player ex: !saga 1 = 1 transformação) é que está deixando o player invisivel ao utilizar !saga 1.x ex : saga 1.2, Eu quero que caso o player utilize o !saga 1.x, De que essa transformação não existe, que de apenas para transformar com números inteiros! local saga = { [1] = {400,401,402,403,404,405,406,407,408,409,410,411,412,413,398}, -- [ID DA VOC] = { ID DAS NEWTYPES }, [700] = {418,419,420,421,422,423,424,426,428,436,430,431,435,433} } local level = 25 -- Limite para liberar uma saga nova function onSay(cid, words, param, channel) if exhaustion.check(cid, 120) == TRUE then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 3) return TRUE end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") exhaustion.set(cid, 120, 0.5) return true end if not saga[getPlayerVocation(cid)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") exhaustion.set(cid, 120, 0.5) return true end local t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") exhaustion.set(cid, 120, 0.5) return true end if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") exhaustion.set(cid, 120, 0.5) return true end if getPlayerLevel(cid) >= (tonumber(t[1])*level) then doCreatureChangeOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]}) doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) exhaustion.set(cid, 120, 0.5) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.") end return true end
-
[Spells] Hiraishin no jutsu seal (Minato)
Aqui diz que não marquei nenhum lugar com a kunai! Mais eu marquei sim.
-
(Resolvido)!saga
Ok, vou ver se consigo arrumar, O estranho é que antes estava normal!
-
(Resolvido)!saga
Deu certo, Mas agora o erro antigo voltou, tipo se usar !saga 1.2 o player fica invisivel!
-
(Resolvido)!saga
Up
-
(Resolvido)!saga
Agora diz 10:10 Voce nao pode trocar de saga. 10:10 Voce nao pode trocar de saga. 10:10 Voce nao pode trocar de saga. Eu mudei a script lá em cima pra arrumar um outro erro, vlw!
-
(Resolvido)!saga
Não funcionou, ao dizer !saga, funcionava corretamente, dizia para colocar o número da saga, Porém se colocar o numero sai uma fala normal do player como se não existisse o comando!
-
(Resolvido)!saga
Eu já retirei ela antes, Mas não muda nada!
-
(Resolvido)!saga
Olá pessoal do tk, bom recentemente achei um script do xWhiteWolf de !saga, A talkaction saga transforma o player, ou seja eu transformo a cada 25 leveis dizendo !saga e o numero da transformação, porém percebi que esta talkaction não salva a transformação, quando o player desloga ele volta a transformação antiga! Eu queria que ficasse mesmo depois de deslogar e só mudar se o player utilizar a talkaction novamente! A script é essa : Edit: Descobri um outro erro na script mais já arrumei local saga = { [1] = {[1] = 400, [2] = 401, [3] = 402, [4] = 403, [5] = 405, [6] = 404, [7] = 405, [8] = 406, [9] = 407, [10] = 408, [11] = 409, [12] = 410, [13] = 411, [14] = 412, [15] = 413, [16] = 398, effect = 208}, --[Vocation] = {[1] = Roupa, effect = Efeito da transformação} [700] = {[1] = 419, [2] = 420, [3] = 421, [4] = 422, [5] = 423, [6] = 424, [7] = 425, [8] = 426, [9] = 427, [10] = 428, [11] = 436, [12] = 431, [13] = 430, [14] = 435, [15] = 433, effect = 238} --TESTE } local level = 25 -- Limite para liberar uma saga nova function onSay(cid, words, param, channel) if(param == '' or not tonumber(param)) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") return true end local voc = saga[getPlayerVocation(cid)] if not voc then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") return true end if not voc[tonumber(param)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end if getPlayerLevel(cid) < tonumber(param) * level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(param) * level).." para usar essa saga.") return true end doSetCreatureOutfit(cid, {lookType = voc[tonumber(param)]}, -1) doSendMagicEffect(getThingPos(cid), voc.effect) doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) return true end