Ir para conteúdo

Wakon

Héroi
  • Registro em

  • Última visita

Tudo que Wakon postou

  1. Wakon postou uma resposta no tópico em Suporte OTServer Derivados
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Scripts" Para: "OTServ → Suporte OTServ → Suporte de Clients"
  2. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    voclogout.lua: O valor das storages de onLogin está diferente das storages de onLogout, coloque as storages do onLogin iguais a do onLogout e teste.
  3. Wakon postou uma resposta no tópico em Sprites
    Adicione scan do download, por favor.
  4. Amigo, também tenho problemas ao atualizar o asprate, lhe recomendo esse: http://www.tibiaking.com/forum/topic/12079-new-ph-ip-changer-71951/ -- Bem fácil de configurar e tem a opção de ver o stats do servidor .
  5. Amigo novamente, você testou o primeiro script que te passei alterando a storage 30 para 51? Não tem erro algum no script, eu sei pois testei aqui, a única explicação é o valor da storage errado.
  6. function onStepIn(cid, item, position, lastPosition) if(getPlayerStorageValue(cid, 30) == 51) then setPlayerStorageValue(cid, 30, 52) doCreatureSay(cid, "It seems by defeating Azerus you have stopped this army from entering your world! Better leave this ghastly place forever.", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) end return true end Testa assim e não esqueça de trocar a storage 30 para o valor 51.
  7. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Testa o voclogin.lua assim: local vocations = { ["Tapion"] = {voc = 5, storage = 210000, outfit = 139}, ["Kame"] = {voc = 8, storage = 210001, outfit = 303} } function onLogin(cid) for k, v in pairs(vocations) do local outfit = {lookType = v.outfit , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} if getPlayerStorageValue(cid, v.storage) == 1 then doPlayerSetVocation(cid, v.voc) doSetCreatureOutfit(cid, outfit, -1) break end end return true end
  8. Amigo, trocou a storage 30 para o valor 51? O script está normal.
  9. A storage 30 foi alterada para 52, o script só da questlog caso a storage 30 for 51.
  10. Script está correto, mais acho que esses -- na frente que estão bugando ele. function onStepIn(cid, item, position, lastPosition) if(item.uid == 3087) then if(getPlayerStorageValue(cid, 30) == 51) then setPlayerStorageValue(cid, 30, 52) Player(cid):setStorageValue(12021, 3) -- StorageValue for Questlog "Mission 10: The Final Battle" doCreatureSay(cid, "It seems by defeating Azerus you have stopped this army from entering your world! Better leave this ghastly place forever.", TALKTYPE_ORANGE_1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) end end return true end
  11. Que bom que resolveu, se o tópico foi resolvido marque a melhor resposta para ficar como resolvido, vou dar uma olhada no seu outro tópico.
  12. Modificar essa quest sem conhecimento em script é tenso amigo, você pode criar uma storage só para os baús: Troque: if(getPlayerStorageValue(cid, 30) == 53) then por: if(getPlayerStorageValue(cid, 30300) <= 0) then Lembrando que tem 3 linhas iguais, troque as 3. E troque também: setPlayerStorageValue(cid, 30, 54) por: setPlayerStorageValue(cid, 30300, 1) Esse também tem 3 linhas, troque as 3.
  13. É por que a storage tem que ser alterada para 53 amigo, essa storage irá mudar quando completar a quest. O padrão da storage é -1, então se você criou um char e a storage não foi alterada para 53, óbvio que não irá ganhar o item, porém essa storage muda quando o player está fazendo a quest de yalahar, por isso tem um valor tão alto, já a storage exp é < 1, como eu disse o padrão é -1 então ele vai dar exp para um char criado agora.
  14. Amigo, storage é um código/key que fica marcado no player e esse código/key tem um valor para ser usado em varias coisas. Como nessa quest o "código" é 30 para ganhar os items e 10012 para ganhar exp, você deve alterar o código 30 para o valor 53 e o 10012 para -1 (caso queira ganhar exp novamente). Vou explicar mais ou menos o script: function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, 10012) < 1) then -- Se a storage 10012 for menor que 1 então faça. doPlayerAddExp(cid, 250000, true, true) -- Adiciona 250000 exp ao player. setPlayerStorageValue(cid, 10012, 1) -- Modifica a storage 10012 para o valor 1, fazendo com que o script não dê mais exp para o player quando clicar no baú. end if(item.uid == 3088) then -- Se a actionID do baú for 3088 então faça. if(getPlayerStorageValue(cid, 30) == 53) then -- Se a storage 30 for igual a 53 então faça. doPlayerAddItem(cid, 9776, 1) -- Adiciona o item 9776 no valor 1. setPlayerStorageValue(cid, 30, 54) -- Modifica a storage 30 para o valor 54. Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari armor.") -- Mensagem ao ganhar o item. else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") -- Mensagem caso a storage 30 não for valor 53 end elseif(item.uid == 3089) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9778, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari mask.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif(item.uid == 3090) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9777, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari leg piece.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end end return true end Mais amigo, basicamente sua quest não está bugada, é a storage que está com um valor errado, quando o player for fazer, irá ficar normal.
  15. local effectSpell = CONST_ANI_CAKE local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, effectSpell) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 6) function onCastSpell1(parameters) doCombat(parameters.cid, combat, parameters.var) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell1, 300, parameters) return true end Se der erro novamente, poste print da distro, por favor.
  16. Tem end a mais no script, teste assim: local effectSpell = CONST_ANI_CAKE local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, effectSpell) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 6) function onCastSpell1(parameters) doCombat(parameters.cid, combat, parameters.var) end function onCastSpell(cid, var) local parameters = {cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) return addEvent(onCastSpell1, 300, parameters) return true end
  17. É usado para guardar valores de players ou globais. Essa linha é para verificar a storage da quest, que no caso é 30: if(getPlayerStorageValue(cid, 30) == 53) then Significa que ele só vai te dar os itens caso a storage no valor 30 for igual a 53. Para alterar a storage, você pode mudar o valor na database em player_storages ou ativar o comando /storage. Para ativa-lo vá em "Data/talkactions" abra o arquivo talkactions.xml e adicione: <talkaction words="/storage" separator=" " script="setstorage.lua" /> Caso não tenha o script, coloque ele em "Data/talkactions/scripts" como setstorage.lua: Para usar: /storage Wakon, 30, 53 -- Vai citar que a storage 30 do personagem Wakon é 53. Provavelmente a quest está funcionando normalmente, porém seu char não tem valor 53 na storage 30.
  18. Aparece a mensagem "The chest is empty."? "estou usando a mesma" tem duas no script, uma para XP e outra para ganhar os items: 10012 e 30.
  19. Qual a storage que você está mudando para testar? Testei esse script em TFS 1.0 e está normal...
  20. Wakon postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Tópico aprovado, movido para a área correta e você ganhou um rep pela contribuição, obrigado pelo conteúdo.
  21. Testa: local storage = 32444 local coin = 1967 local lever = { [6004] = {1,12698}, [6005] = {1,12713}, [6006] = {1,12723}, [6007] = {1,12751}, } function onUse(cid,item,fromPosition,itemEx,toPosition) if getPlayerStorageValue(cid, storage) <= 0 then if doPlayerRemoveItem(cid,coin,lever[item.actionid][1]) == TRUE then setPlayerStorageValue(cid, storage, 1) doPlayerAddItem(cid,lever[item.actionid][2]) doPlayerSendTextMessage(cid,22,"Você pegou o " .. getItemNameById(lever[item.actionid][2])..".") doSendMagicEffect(getCreaturePosition(cid), 13) else doPlayerSendCancel(cid, "Você precisa de "..lever[item.actionid][1].." " ..getItemNameById(coin)..".") end else return doPlayerSendCancel(cid, "Você não pode trocar novamente.") end return true end
  22. Abra o config.lua e altere o encryptionType = para "sha1" que vai funcionar, testei aqui.
  23. Tente assim: function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, 10012) < 1) then doPlayerAddExp(cid, 250000, true, true) setPlayerStorageValue(cid, 10012, 1) end if(item.uid == 3088) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9776, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari armor.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif(item.uid == 3089) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9778, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari mask.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif(item.uid == 3090) then if(getPlayerStorageValue(cid, 30) == 53) then doPlayerAddItem(cid, 9777, 1) setPlayerStorageValue(cid, 30, 54) Player(cid):setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've found a yalahari leg piece.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end end return true end Lembrando que a storage para ganhar o item é 30 e não 10012.
  24. Wakon postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Tópico aprovado, movido para a área correta e você ganhou um rep pela contribuição, obrigado pelo conteúdo.

Informação Importante

Confirmação de Termo