Ir para conteúdo
Banner com Efeitos

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. local templepos = {x= 140, y= 54, z = 7} function onUse(cid, item, fromPosition, itemEx, toPosition) queststatus = getPlayerStorageValue(cid,19485) if queststatus == -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ganhou uma hora de vip.") doPlayerAddPremiumDays(cid, 1/24) addEvent(function() if isCreature(cid) then doTeleportThing(cid, templepos, true) end end, 1000*3600) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ja pegou sua recompensa.") end return true end
  2. nunca mexi no gesior mas acho que tanto faz.. se os items tão caindo pode ser a função que tá setada pra criar o item no chão ou pode ser algum erro na sua distro
  3. não tem nenhum script no seu server que utilize a função broacast message? tenta achar esse script e posta ele aqui que eu faço as mudanças necessárias
  4. depende do comando que vc utilizou pra dar os items
  5. Se não tá nem em mods e nem no spells.xml então é uma talkaction '-'
  6. as vezes a spell pode estar em mods.. abre a pasta do server\mods\customspells.xml
  7. todos os items que vc editar e quiser que eles deem atributos vc tem que declará-los no movements.xml
  8. que eu saiba é só usar a condition muted.. vc declara ela antes do script e chama pra adicionar a condition em quem vc quer dar muted (pelo menos é assim em 8.54
  9. acho que não vai ser possível porque esse script usa storage e pra colocar storage nos outros chars da conta eles teriam que estar logados :/
  10. muito bom, vou usar como base de estudo pra futuros scripts haha REP+ por ter trazido pra cá
  11. Line: 128, Info: Input is not proper UTF-8, indicate encoding ! escreve a frase em inglês que resolve... oque tá dando erro são os acentos haha
  12. auhuheuhauheuha esse script vc coloca no próprio login.lua rs. não tem oque registrar e nem oque colocar no creaturescripts.xml
  13. if isKnight(cid) then local tempo = 0.3 --- de quanto em quanto segundos ele solta o efeito function loop (cid) local pos = getCreaturePosition(cid) local effects = math.random (28,30) local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z} } doSendMagicEffect(effectPositions[math.random(1, #effectPositions)], effects) addEvent(function() if isCreature(cid) then loop(cid) end end, 1000 * tempo) return true end loop(cid) end ou if getPlayerStorageValue(cid, 19399) >= 1 then local tempo = 0.3 --- de quanto em quanto segundos ele solta o efeito function loop (cid) local pos = getCreaturePosition(cid) local effects = math.random (28,30) local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z} } doSendMagicEffect(effectPositions[math.random(1, #effectPositions)], effects) addEvent(function() if isCreature(cid) then loop(cid) end end, 1000 * tempo) return true end loop(cid) end
  14. a condição inicial é essa daqui: if getPlayerGroupId(cid) >= 3 and isPlayer(cid) then vc pode trocar por isKnight (pra todos os knights terem isso) ou até getPlayerStorageValue(cid, storage) > 0 then (ativa se tiver um determinado storage) Se a dúvida foi resolvida clica em melhor resposta
  15. a linha 72 do seu login.lua é essa daqui: local pos = getCreaturePosition(cid)?? se for troca pra local pos = getThingPos(cid) OU local pos = getPlayerPosition (cid)
  16. se o player deslogar não vai ter como voltar ele pro templo :/
  17. vc editou seu items.xml recentemente e deve ter deixado alguma coisa ou aberta ou sem fechar :/ na certa deve ter deletado algum > ou <; <items> item </item> . O jeito é dar ctrl + F e tentar achar ou tente lembrar doque vc mudou recentemente e vai atrás do erro
  18. funciona em todos os TFS pelo que eu sei... se der algum erro posta aqui que eu faço as alterações pra rodar certinho EDIT: ATENÇÃO GALERA QUE ESTAVA USANDO A SPELL NO SEU SERVER: A spell dava erro quando não havia espaço suficiente pra ser criado a spider.. era um erro bobo mas enxia o saco qnd um monte de gente usava ao mesmo tempo, pensando nisso eu decidi mudar a spell um pouco e agora ela tá funcionando igual o utevo res. Oque isso muda pra vocês? Nada, só não vai retornar o erro. Peço que quem não queria ficar olhando uma mensagem de erro toda hora substitua a spell anterior pela nova (é só trocar o spiderling.lua antigo pelo novo que eu atualizei) Grato. Obs: Se alguém achar qualquer erro ou qualquer coisa me avisa aqui que eu tento corrigir :]
  19. <!-- Guild Outfit Command --> <config name="guild-outfit-config"><![CDATA[ exhaust = 30 -- in seconds storage = 3005 -- storage value used to save exhaustion ]]></config> <talkaction words="!go;/go" event="script"><![CDATA[ domodlib('guild-outfit-config') local config = { exhaustion = exhaust, storage = storage } function onSay(cid, words, param, channel) if (getPlayerStorageValue(cid, 140125) ~= -1) or (getPlayerStorageValue(cid, 140124) ~= -1) then doPlayerSendCancel(cid, "Você não pode usar invisible durante o evento!") doSendMagicEffect(getThingPos(cid), 2) return true else if(exhaustion.check(cid, config.storage)) then doPlayerSendCancel(cid, "You can change outfit only 1 time per " .. config.exhaustion .. " seconds.") return true end local playerGuild = getPlayerGuildId(cid) if(not playerGuild or playerGuild == 0) then doPlayerSendCancel(cid, "Sorry, you're not in a guild.") return true end if(getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendCancel(cid, "You have to be Leader of your guild to change outfits!") return true end local outfit, members = getCreatureOutfit(cid), 0 local message = "*Guild* Your outfit has been changed by leader. (" .. getCreatureName(cid) .. ")" for _, tid in ipairs(getPlayersOnline()) do if(getPlayerGuildId(tid) == playerGuild and cid ~= tid) then local newOutfit = outfit if(not canPlayerWearOutfit(tid, outfit.lookType, outfit.lookAddons)) then local tmpOutfit = getCreatureOutfit(tid) newOutfit.lookAddons = 0--tmpOutfit.lookAddons if(not canPlayerWearOutfit(tid, outfit.lookType, 0)) then newOutfit.lookType = tmpOutfit.lookType end end doSendMagicEffect(getCreaturePosition(tid), 66) doCreatureChangeOutfit(tid, newOutfit) doPlayerSendTextMessage(tid, MESSAGE_INFO_DESCR, message) members = members + 1 end end exhaustion.set(cid, config.storage, config.exhaustion) doPlayerSendCancel(cid, "Guild members outfit has been changed. (Total: " .. members .. ")") end return true end ]]></talkaction>
  20. local up = { {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0}, {0, 0, 2, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} } local area1 = createCombatArea(up) local down = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, {0, 0, 1, 0, 0}, {0, 1, 1, 1, 0} } local area2 = createCombatArea(down) local left = { {0, 0, 0, 0, 0}, {1, 0, 0, 0, 0}, {1, 1, 2, 0, 0}, {1, 0, 0, 0, 0}, {0, 0, 0, 0, 0} } local area3 = createCombatArea(left) local right = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 1}, {0, 0, 2, 1, 1}, {0, 0, 0, 0, 1}, {0, 0, 0, 0, 0} } local area4 = createCombatArea(right) local tempo = 1 local storage = 19481 function onUse(cid, item, frompos, item2, topos) if getPlayerSlotItem(cid, 5).itemid == item.itemid or getPlayerSlotItem(cid, 6).itemid == item.itemid then if not exhaustion.get(cid, storage) then exhaustion.set(cid, storage, tempo) if getPlayerLookDirection(cid) == 0 then doAreaCombatHealth(cid, 1, getThingPos(cid), area2, -(getPlayerLevel(cid) * 2 / 3), -(getPlayerLevel(cid) * 4 / 3), 15) elseif getPlayerLookDirection(cid) == 1 then doAreaCombatHealth(cid, 1, getThingPos(cid), area3, -(getPlayerLevel(cid) * 2 / 3), -(getPlayerLevel(cid) * 4 / 3), 15) elseif getPlayerLookDirection(cid) == 2 then doAreaCombatHealth(cid, 1, getThingPos(cid), area1, -(getPlayerLevel(cid) * 2 / 3), -(getPlayerLevel(cid) * 4 / 3), 15) elseif getPlayerLookDirection(cid) == 3 then doAreaCombatHealth(cid, 1, getThingPos(cid), area4, -(getPlayerLevel(cid) * 2 / 3), -(getPlayerLevel(cid) * 4 / 3), 15) end else doPlayerSendCancel(cid, "You are exhausted.") end end return true end a unica coisa ruim do meu trabalho é que as pessoas pedem uma coisa pensando em outra e depois reclamam que oque eu fiz tá errado --'. Nos próximos pedidos seja extremamente detalista noque vc quer se não eu não vou ajudar.
  21. function onUse (cid, item, frompos, item2, topos) playervoc = getPlayerVocation(cid) if playervoc == 1 or playervoc == 5 or playervoc == 9 then -- Especifica se o player é sorcerer ou master sorcerer if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seu item.") --Mensagem da Quest local quest = doPlayerAddItem(cid,7424,1) -- Item ID no caso SpellBook of mind control doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seu premio.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end if playervoc == 2 or playervoc == 6 or playervoc == 10 then -- Especifica se o player é druid ou elder druid if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seu item.") --Mensagem da Quest local quest = doPlayerAddItem(cid,7424,1) -- Item ID no caso SpellBook of dark mysteries doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seu premio.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end if playervoc == 3 or playervoc == 7 or playervoc == 11 then -- Especifica se o player é pally ou royal pally if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seus items.") --Mensagem da Quest local quest1 = doPlayerAddItem(cid,7438,1) -- Item ID no caso 100 assassin stars doItemSetAttribute(quest1,"description","Esse item foi obtido por "..getPlayerName(cid)..".") local quest2 = doPlayerAddItem(cid,2352,1) doItemSetAttribute(quest2,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seus premios.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end if playervoc == 4 or playervoc == 8 or playervoc == 12 then --Especifica se o player é kina ou elite kina if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seu item.") --Mensagem da Quest local club, sword, axe = getPlayerSkillLevel(cid, 1), getPlayerSkillLevel(cid, 2), getPlayerSkillLevel(cid, 3) if club > sword and club >= axe then quest = doPlayerAddItem(cid,2421,1) -- club elseif sword >= axe and sword >= club then quest = doPlayerAddItem(cid,115,1) -- sword elseif axe > sword and axe > club then quest = doPlayerAddItem(cid,2431,1) -- axe return quest enddoItemSetAttribute(quest,"description","Refinado(Atk): +26.\nEsse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seu premio.") -- Mensagem Caso Player já tenha feito a Quest end end else return 0 end return 1 end end eu tinha mudado no meu server porque 115 é o id do ground ahuhauheuha dai qnd eu passei pra cá eu acabei removendo um end sem querer... agora tá certinho!
  22. obrigado hahaha espero que daqui a um tempo eu possa entrar num server famoso e ver um dos meus scripts lá *-* EDIT: arrumei o erro que dava qnd vc passava em fire field's ou até mesmo qnd usava a função doPlayerAddHealth pra retirar vida. substituam a versão anterior por essa nova.
  23. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    Exemplo: se o player tem 50/1000 de vida significa que ele tem 50 de mana pra gastar e o máximo que ele pode ter é 1000. A função doPlayerAddMana(cid, quantidade) adiciona quantidade de mana na mana pra gastar... logo, se a quantidade for 300 eu vou ficar com 350/1000; Se você quiser modificar a mana máxima o jeito é fazer utilizando setCreatureMaxMana(cid, novo valor de mana). Essa função funciona assim, ela vai transformar sua mana máxima no novo valor que eu colocar ali. Se eu fizer setCreatureMaxMana(cid, 100) eu vou passar a ter 50/100 de vida ao invés de 50/1000. Se eu quiser fazer com que a mana total seja aumentada em 500 o jeito é utilizar a função getCreatureMaxMana(cid); Essa função retorna o valor máximo de mana (que no caso do nosso exemplo é 1000); Tudo que eu tenho que fazer agora é juntar as duas funções: setCreatureMaxMana(cid, getCreatureMaxMana(cid)+ 500) em outras palavras: Setar a mana máxima como sendo a mana máxima atual + 500
  24. function onUse (cid, item, frompos, item2, topos) playervoc = getPlayerVocation(cid) if playervoc == 1 or playervoc == 5 or playervoc == 9 then -- Especifica se o player é sorcerer ou master sorcerer if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seu item.") --Mensagem da Quest local quest = doPlayerAddItem(cid,7424,1) -- Item ID no caso SpellBook of mind control doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seu premio.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end if playervoc == 2 or playervoc == 6 or playervoc == 10 then -- Especifica se o player é druid ou elder druid if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seu item.") --Mensagem da Quest local quest = doPlayerAddItem(cid,7424,1) -- Item ID no caso SpellBook of dark mysteries doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seu premio.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end if playervoc == 3 or playervoc == 7 or playervoc == 11 then -- Especifica se o player é pally ou royal pally if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seus items.") --Mensagem da Quest local quest1 = doPlayerAddItem(cid,7438,1) -- Item ID no caso 100 assassin stars doItemSetAttribute(quest1,"description","Esse item foi obtido por "..getPlayerName(cid)..".") local quest2 = doPlayerAddItem(cid,2352,1) doItemSetAttribute(quest2,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seus premios.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end if playervoc == 4 or playervoc == 8 or playervoc == 12 then --Especifica se o player é kina ou elite kina if item.uid == 3002 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "Você recebeu seu item.") --Mensagem da Quest local club, sword, axe = getPlayerSkillLevel(cid, 1), getPlayerSkillLevel(cid, 2), getPlayerSkillLevel(cid, 3) if club > sword and club >= axe then quest = doPlayerAddItem(cid,2421,1) -- club elseif sword >= axe and sword >= club then quest = doPlayerAddItem(cid,10313,1) -- sword elseif axe > sword and axe > club then quest = doPlayerAddItem(cid,2431,1) -- axe return quest enddoItemSetAttribute(quest,"description","Refinado(Atk): +26.\nEsse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid, 3002, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seu premio.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end end erro meu, perdão
  25. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    essa função adiciona mana no character mas não muda o valor máximo da mana.. testei aqui e funcionou perfeito. Se você quiser que aumente a mana máxima do player vc tem que fazer assim: function onUse(cid, item, itemEx, toPosition, fromPosition) if getPlayerLevel(cid) >= 1 then doPlayerAddMana(cid,500) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+ 500) doPlayerSendTextMessage(cid , 12, 'Voce recebeu 500 de mana' ) else doPlayerSendCancel(cid, 'Desculpe voce não pode usar este item.') end return true end

Informação Importante

Confirmação de Termo