-
Total de itens
2221 -
Registro em
-
Última visita
-
Dias Ganhos
60
Tudo que Yan Oliveira postou
-
Você mexeu em algo no script? Colocou as storages certo? Coloque o script com suas storages, ou coloque todas as storages que quer resetar que eu coloco no código para você.
-
Vai em Data/NPC/Scripts e Poste o Benjamim.lua.
-
Obrigado por compartilhar esse sistema, mas essa não é a área correta para recursos, o certo seria na área de Recursos em: https://www.xtibia.com/forum/forum/1107-scripting/ e no seu caso npc. Essa área é para dúvidas e problemas com script. E você também não explicou se precisa criar um arquivo xml para esse sistema de npc ou se da para usar o arquivo.lua em xml algum existente.
-
De nada! Testa ai, qualquer problema você me fala.
-
Tranquilo, mas recomendo mudar de base para evitar problemas.
-
De nada amigo! Que bom que funcionou.
-
Que estranho eu testei agora aqui e está funcionando normal, mas esse ai é erro do xml dele e não do script. Posta aqui o xml desse saffron2.xml
-
Abra o script do NPC Breno e troque o código por esse: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local storage = 150000 local storage_start = 150001 local id_item = 12163 -- ID DO ITEM QUE O NPC PEDE local quantidade_item = 100 -- QUANTIDADE DE ITENS QUE O NPC PEDE local id_item_recebido = 16563 -- ID DO ITEM QUE RECEBE AO COMPLETAR A TASK local quantidade_item_recebido = 1 -- QUANTIDADE DE ITENS QUE RECEBE AO COMPLETAR A TASK local level = 10 -- NÍVEL NECESSÁRIO PARA FAZER A TASK DO NPC ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'task') then if getPlayerLevel(cid) < level then selfSay("Para fazer minha missão é necessário ter nível " ..level.. " ou mais para fazer. Fale novamente comigo quando você atingir o nível necessário.") talkState[talkUser] = 0 return true else if getPlayerStorageValue(cid, storage) == 1 then selfSay("Você já completou minha task.", cid) talkState[talkUser] = 0 return true else selfSay("Preciso que você me traga " ..quantidade_item.. " " ..getItemNameById(id_item).. " Você trouxe?", cid) talkState[talkUser] = 1 return true end return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_start) < 1 then setPlayerStorageValue(cid, storage_start, 1) return true end if getPlayerItemCount(cid, id_item) >= quantidade_item then doPlayerRemoveItem(cid, id_item, quantidade_item) selfSay("Parabéns! Você trouxe " ..quantidade_item.. " " ..getItemNameById(id_item).. " que eu precisava. Receba sua recompensa.", cid) doPlayerAddItem(cid, id_item_recebido, quantidade_item_recebido) doSendMagicEffect(getPlayerPosition(cid), 29) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true else selfSay("Você ainda não trouxe " ..quantidade_item.. " " ..getItemNameById(id_item).. " que eu preciso.", cid) talkState[talkUser] = 0 return true end return true elseif (msgcontains(msg, 'no') or msgcontains(msg, 'não')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_start) < 1 then selfSay("Ok, fale comigo novamente caso queira fazer minha task.") talkState[talkUser] = 0 return true else selfSay("Então vá buscar os itens que eu pedi.") talkState[talkUser] = 0 return true end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Deixei o nível mínimo como 10, caso queira trocar, só alterar na variável level.
-
Esse atributo não é para o player fazer a missão em si do NPC, mas o nível mínimo que os players terão que ter para falar com o NPC. Eu não curto muito e nem ideal verificar nível por ali, até porque se tiver verificação de nível no script da ruim kkk. Acho bem melhor verificar o nível no script do npc, e não pelo XML. Até porque se o player não tiver nível, pelo menos na mensagem da verificação o player vai saber. Se quiser faço uma verificação de nível para você nos 2 npc.
-
Level do NPC que você fala é o atributo do xml ?
-
Então vai funcionar tranquilamente ^^, a menos que algum função do script não exista na sua base ou esteja bugada.
-
Testa ai, eu testei aqui e funcinou. Mas qualquer problema me fale. E só fazendo um adendo, se você usa a base DXP provavelmente não vai funcionar porque o onKill dela está bugado e as task que fiz nessa base não funcionaram.
-
Não, para criar outros NPC de task de derrotar pokémon vai ter que repetir o mesmo processo. Pois naquele script eu apenas defini que vai derrotar o pokémon Scyther pois na tabela eu pego a primeira posição da tabela (só para amostra) e defini a storage do onKill do creaturescripts como verificação para o NPC. Então para criar outro é necessário criar outro npc (xml e lua) criar o script de verificação no arquivo lua e em creaturescripts que você faz o script da task.
-
Você fala a tag do OnKill do creaturescripts.xml?
-
- Começando pelo NPC de Task de item Vai em Data/NPC e crie o arquivo Breno.xml e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Breno" script="Breno.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1421" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, em que posso ajudar? Diga {help}, {ajuda} ou {task} para mais informações."/> </parameters> </npc> Agora em Data/NPC/Scripts crie o arquivo Breno.lua (com codificação ANSI) e adicione o código dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local storage = 150000 local storage_start = 150001 local id_item = 12163 -- ID DO ITEM QUE O NPC PEDE local quantidade_item = 100 -- QUANTIDADE DE ITENS QUE O NPC PEDE local id_item_recebido = 16563 -- ID DO ITEM QUE RECEBE AO COMPLETAR A TASK local quantidade_item_recebido = 1 -- QUANTIDADE DE ITENS QUE RECEBE AO COMPLETAR A TASK ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'task') then if getPlayerStorageValue(cid, storage) == 1 then selfSay("Você já completou minha task.", cid) talkState[talkUser] = 0 return true else selfSay("Preciso que você me traga " ..quantidade_item.. " " ..getItemNameById(id_item).. " Você trouxe?", cid) talkState[talkUser] = 1 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_start) < 1 then setPlayerStorageValue(cid, storage_start, 1) return true end if getPlayerItemCount(cid, id_item) >= quantidade_item then doPlayerRemoveItem(cid, id_item, quantidade_item) selfSay("Parabéns! Você trouxe " ..quantidade_item.. " " ..getItemNameById(id_item).. " que eu precisava. Receba sua recompensa.", cid) doPlayerAddItem(cid, id_item_recebido, quantidade_item_recebido) doSendMagicEffect(getPlayerPosition(cid), 29) setPlayerStorageValue(cid, storage, 1) talkState[talkUser] = 0 return true else selfSay("Você ainda não trouxe " ..quantidade_item.. " " ..getItemNameById(id_item).. " que eu preciso.", cid) talkState[talkUser] = 0 return true end return true elseif (msgcontains(msg, 'no') or msgcontains(msg, 'não')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_start) < 1 then selfSay("Ok, fale comigo novamente caso queira fazer minha task.") talkState[talkUser] = 0 return true else selfSay("Então vá buscar os itens que eu pedi.") talkState[talkUser] = 0 return true end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) - Agora é o NPC da Task que derrota Pokémon Vá em Data/NPC e crie o arquivo Brime.xml e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Brime" script="Brime.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1421" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, eu recompenso jogadores que aceitam meus desafios. Diga {help}, {ajuda} ou {task} para mais informações."/> </parameters> </npc> Agora em Data/NPC/Scripts crie o arquivo Brime.lua (com codificação ANSI) e adicione o código dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local nome_poke_task = "Scyther" local quantidade_pokemon = 50 local storage_npc = 120000 local storage_task = 110000 local storage_start = 121000 -- RECOMPENSAS -- local id_item = 12545 local quantidade_item = 1 local exp = 500000 ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') or msgcontains(msg, 'task') then if getPlayerStorageValue(cid, storage_task) == 1 then -- VERIFICA SE TERMINOU A TASK selfSay("Você já completou minha missão.", cid) talkState[talkUser] = 0 return true else selfSay("Preciso que você derrote alguns {"..nome_poke_task.."} para mim. Você aceita este desafio?", cid) talkState[talkUser] = 1 return true end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim') or (msgcontains(msg, 'ok'))) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_start) < 1 then setPlayerStorageValue(cid, storage_start, 1) return true end if getPlayerStorageValue(cid, storage_npc) == 1 then selfSay("Parabéns! Você completou minha tarefa. Receba sua recompensa.", cid) doPlayerAddExp(cid, exp) doPlayerAddItem(cid, id_item, quantidade_item) doSendAnimatedText(getThingPos(cid), exp, 27) doSendMagicEffect(getPlayerPosition(cid), 29) setPlayerStorageValue(cid, storage_task, 1) talkState[talkUser] = 0 return true else if getPlayerStorageValue(cid, storage_npc) < 0 then selfSay("Vá derrotar todos os " ..quantidade_pokemon.. " " ..nome_poke_task.. " para mim.") setPlayerStorageValue(cid, storage_npc, 0) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, storage_npc) == 0 then selfSay("Você ainda não derrotou todos os " ..quantidade_pokemon.. " " ..nome_poke_task.. ". Vá derrotar os " ..nome_poke_task.. " restante antes de falar comigo.") talkState[talkUser] = 0 return true end return true end return true elseif (msgcontains(msg, 'no') or msgcontains(msg, 'não')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, storage_start) < 1 then selfSay("Ok, fale comigo novamente caso queira fazer minha task.", cid) talkState[talkUser] = 0 return true else selfSay("Então vá completar sua tarefa.") talkState[talkUser] = 0 return true end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora em Data/Creaturescripts/scripts crie o arquivo task_npc.lua (com a codificação ANSI do arquivo pelo fato de ter acentuação no português) e adicione o código dentro: local storage_npc = 120000 local storage_contador = 120001 local pokemon = { [1] = {name = "Scyther", count = 50}, } local restante local nome = pokemon[1].name function onKill(cid, target) for _, t in ipairs(pokemon) do local quantidade = t.count if getCreatureName(target) == nome then if getPlayerStorageValue(cid, storage_npc) == 0 then if getPlayerStorageValue(cid, storage_contador) == quantidade then doPlayerSendTextMessage(cid, 27, "Não há mais " ..nome.. " para derrotar.") setPlayerStorageValue(cid, storage_contador, getPlayerStorageValue(cid, storage_contador) + 1) setPlayerStorageValue(cid, storage_npc, 1) return true elseif getPlayerStorageValue(cid, storage_contador) < quantidade then -- AS STORAGES COMEÇAM COM -1, ENTÃO NESSA PARTE EU APENAS DEFINO COMO 0 PARA NA LINHA SEGUINTE JÁ IR PARA 1. NÃO COLOQUE RETURN NESSE LAÇO PORQUE VAI ENCERRAR O ESCOPO E NÃO VAI CONTAR CORRETAMENTE -- if getPlayerStorageValue(cid, storage_contador) < 0 then setPlayerStorageValue(cid, storage_contador, 0) end setPlayerStorageValue(cid, storage_contador, getPlayerStorageValue(cid, storage_contador) + 1) restante = quantidade - getPlayerStorageValue(cid, storage_contador) doPlayerSendTextMessage(cid, 27, "Faltam " ..restante.. " " ..nome.. " para derrotar.") return true end elseif (getPlayerStorageValue(cid, storage_npc) < 0) or (getPlayerStorageValue(cid, storage_npc) > 0) then return true end return true end return true end end Agora em Data/Creaturescripts abra o creaturescripts.xml e adiciona a tag: <event type="kill" name="task_npc" script="task_npc.lua"/> E por último em Data/Creaturescripts/Scripts abra o Login.lua e adicione a tag na parte de eventos: registerCreatureEvent(cid, "task_npc")
-
Foi o que eu havia falado para você, você pegou código para adaptar para outro, e alterou errado as coisas. Você deve ter trocado errado o valor das variáveis e colocou o nome do NPC Peter como pokémon. Essa parte é para setar a chave da storage como 0, pois ela começa com -1, e como está incrementando para fazer a contagem da task ela tem que começar do 0, senão o contador ficará com o valor com um a menos.
-
Eu fiz com NPC, caso queira com item só falar que faço também. Vai em Data/NPC e crie Resetador.xml (crie como codificação ANSI porque usei acentuação, mas caso use inglês, pode deixar no UTF-8 mesmo) e adicione o código dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Resetador" script="Resetador.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="1421" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, o que você procura aqui? Diga {help} ou {ajuda} para mais informações."/> </parameters> </npc> Agora em Data/NPC/Scripts crie o arquivo Resetador.lua (crie como codificação ANSI porque usei acentuação, mas caso use inglês, pode deixar no UTF-8 mesmo) e adicione o código dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local level = 100 local storages = {100008, 100009, 100010} ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') then selfSay("Se você for nível "..level.. " ou mais eu posso resetar todas as quests que você já fez. Gostaria de reseta-lás?", cid) talkState[talkUser] = 1 return true elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then if getPlayerLevel(cid) >= level then for i = 1, #storages do if getPlayerStorageValue(cid, storages[i]) > 0 then doSendMagicEffect(getPlayerPosition(cid), 28) doPlayerSendTextMessage(cid, 27, "Todas as quests foram resetadas com sucesso. Agora você pode fazê-las novamente.") setPlayerStorageValue(cid, storages[i], 0) return true else selfSay("Todas as quests já foram resetadas.", cid) return true end end talkState[talkUser] = 0 end return true elseif (msgcontains(msg, 'no') or msgcontains(msg, 'não')) and talkState[talkUser] == 1 then selfSay("Ok então.", cid) talkState[talkUser] = 0 return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Eu fiz bem básico mesmo para ver se é assim que quer. Deixei a frase como storage porque não sei se irá adicionar o código em server online e os players não vão saber o que é storage, então deixei como quest a mensagem. Deixei apenas uma verificação para falar com npc se o player possuir nível 100 ou mais. Caso queira o NPC com mais validações só falar. As storages que quiser resetar, adicione na tabela storages, deixei 3 de exemplo lá. Testei aqui e está funcionando, mas qualquer problema me fala.
-
[Resolvido] Poder ter +de uma box para abrir
pergunta respondeu ao Olan trein de Yan Oliveira em Resolvidos
@Olan trein Substitua seu código por esse: local id_box = 15266 local storage_time = 100001 local storage = 100000 local addons = {14953,14954,14956,14996,14997,14998,14955} local quantidade = 10 function onUse(cid, item, frompos, item2, topos, pos) local randomChance = math.random(1, #addons) if item.itemid == id_box then if (getPlayerStorageValue(cid, storage) <= 10) and (getPlayerStorageValue(cid, storage_time) <= os.time()) then doPlayerAddItem(cid, addons[randomChance], quantidade) doSendMagicEffect(getCreaturePosition(cid), 28) doPlayerSendTextMessage(cid, 19, "Você ganhou " .. quantidade.. " " ..getItemNameById(addons[randomChance])) if getPlayerStorageValue(cid, storage) < 0 then setPlayerStorageValue(cid, storage, 0) end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 10 then setPlayerStorageValue(cid, storage_time, os.time() + (3*60*60)) end return true else doPlayerSendTextMessage(cid, 27, "Você já abriu todas as 10 boxes possíveis dentro do tempo. Agora é necessário esperar 3 horas.") return true end return true end end Assim como pediu, ele consegue abrir 10 boxes no máximo dentro do período de 3 horas, depois que abrir as 10, é necessário esperar 3 horas. Eu testei aqui e funcionou, testa ai e me fala se der algum problema. -
Esse problema parece que o parâmetro de algum método de string está errado. Só tem isso no script do npc?
-
[Resolvido] Poder ter +de uma box para abrir
pergunta respondeu ao Olan trein de Yan Oliveira em Resolvidos
Torna a outra inútil porque no caso ele está trabalhando com 1 item só por conta da verificação da storage. Mas quantas box iguais no máximo o player pode ter? Isso precisa ser definido. -
Então ai é outro caso kkk, não é que o script não funcionou, mas você usou ele como base para fazer uma adaptação, então o problema deve estar no que você mudou, pois esse script funciona porque eu testei antes de postar e testei em duas bases diferentes e funcionou. Irei olhar seu script que mandou por PM.
-
Você fez o procedimento certo como falei no tutorial ? Adicionou tudo certo? Porque eu testei no meu servidor e deu certo, e na parte da task eu só usei funções genéricas que tem em qualquer base de poketibia. Mas aparece algum erro na distro?
-
Que chato, mas vamos fazer o seguinte, vamos testar até achar a cor da mensagem pelo privado, assim não fica spammando o tópico, e quando encontrarmos a cor postamos aqui para que se outras pessoas queiram saber tem a resposta.
-
Vish, geralmente nesse arquivo mostra todas as constantes do servidor (que inclui a cor das mensagens). Mas seu TFS é 1.2 correto? Procurei aqui no fórum a cor das mensagens laranja e uma outra alternativa é com o parâmetro 37, tente esse código: local id_crystal_coin = 3043 -- ID CRYSTAL COIN local id_montaria_donkey = 13 -- ID MONTARIA DONKEY local id_plague_mask = 13925 -- ID PLAGUE MASK local id_plague_bell = 13926 -- ID PLAGUE BELL local id_soft_boots = 6132 -- ID SOFT BOOTS local id_montaria_crystal_wolf = 16 -- ID MONTARIA CRYSTAL WOLF -- TABELA PARA ADDON CITIZEN DE ACORDO COM SEXO DO PLAYER -- local addon_citizen = { [0] = 136, [1] = 128 } function onAdvance(cid, skill, oldlevel, newlevel) if (getPlayerLevel(cid) >= 20) and (getPlayerStorageValue(cid, 99980) < 1) then doPlayerAddItem(cid, id_crystal_coin, 2) -- ADICIONA CRYSTAL COIN doPlayerAddOutfit(cid, addon_citizen[getPlayerSex(cid)], 3) -- ADICIONA ADDON CITIZEN FULL DE ACORDO COM SEXO DO PLAYER doSendMagicEffect(cid, CONST_ME_POFF) -- EFEITO AO UPAR doPlayerSendTextMessage(cid, 37, "You have received 2 Crystal Coin and the addon Citizen Full for advancing to level 20.") -- MENSAGEM setPlayerStorageValue(cid, 99980, 1) -- STORAGE PARA NÃO FICAR UPANDO MAIS ASSIM QUE ESTIVER NO LEVEL OU SUPERIOR end if (getPlayerLevel(cid) >= 50) and (getPlayerStorageValue(cid, 99981) < 1) then doPlayerAddMount(cid, id_montaria_donkey) -- ADICIONA MO0NTARIA DONKEY doSendMagicEffect(cid, CONST_ME_POFF) doPlayerSendTextMessage(cid, 37, "You have received Donkey mount for advancing to level 50.") setPlayerStorageValue(cid, 99981, 1) end if (getPlayerLevel(cid) >= 80) and (getPlayerStorageValue(cid, 99982) < 1) then doPlayerAddItem(cid, id_plague_mask, 1) -- ADICIONA PLAGUE MASK doPlayerAddItem(cid, id_plague_bell, 1) -- ADICIONA PLAGUE BELL doSendMagicEffect(cid, CONST_ME_POFF) doPlayerSendTextMessage(cid, 37, "You have received Plague Mask and Plague Bell for advancing to Level 80.") setPlayerStorageValue(cid, 99982, 1) end if (getPlayerLevel(cid) >= 100) and (getPlayerStorageValue(cid, 99983) < 1) then doPlayerAddItem(cid, id_soft_boots, 1) -- ADICIONA SOFT BOOTS doSendMagicEffect(cid, CONST_ME_POFF) doPlayerSendTextMessage(cid, 37, "You have received Soft Boots for advancing to Level 100.") setPlayerStorageValue(cid, 99983, 1) end if (getPlayerLevel(cid) >= 150) and (getPlayerStorageValue(cid, 99984) < 1) then doPlayerAddMount(cid, id_montaria_crystal_wolf) -- ADICIONA MONTARIA CRYSTAL WOLF doSendMagicEffect(cid, CONST_ME_POFF) doPlayerSendTextMessage(cid, 37, "You have received the Crystal Wolf mount for advancing to Level 150.") setPlayerStorageValue(cid, 99984, 1) return true end return true end Testa e me fala se deu certo.
-
Pode ser por conta da cor da mensagem, talvez não exista esse parâmetro no seu server. Mas se funcionou as recompensas menos mal, mas faz o seguinte, vai em Data/Lib e mostra o arquivo 000-constant.lua.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.