Postado Maio 6, 2015 10 anos Olá, eu preciso de um NPC TFS 0.4 que se o player falar hi-present-yes ele entregue o item id: 11401. O Player pode pedir o item novamente a cada 24 horas e precisa ter lv 200+ . Quando o player der use nesse item ele tem chance de ganhar aleatoriamente outros itens (configuravel e se possivel com quantidade ilimitada). Caso seja muito difícil de fazer como eu quero, pode ser apenas o NPC entregando os items aleatoriamente a cada 24 horas e precisar ter lv 200+. Desde já agradeço. Editado Maio 6, 2015 10 anos por Boush (veja o histórico de edições)
Postado Maio 6, 2015 10 anos local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local itens = {11401, 11401, 11401, 11401, 11401, 11401} local days = 1 * 24 * 60 * 60 local storage = 9934 local effect = 10 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then if getPlayerStorageValue(cid, storage) ~= 1 then doPlayerAddItem(cid, math.random(itens) doSendMagicEffect(getThingPos(cid), effect) selfSay('Pronto, aqui esta seu premio!', cid) setPlayerStorageValue(player, storage, os.time() + days) else selfSay('Aguarde 24 horas para pegar seu premio denovo.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) npc .xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome" script="data/npc/scripts/nome.lua" walkinterval="1500" speed="0" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="300" head="0" body="0" legs="0" feet="0" addons="0" mount="0"/> <parameters> <parameter key="message_greet" value="Ola, |PLAYERNAME| gostaria de pegar seu premio diario ?"/> <parameter key="message_farewell" value="Ate mais."/> </parameters> </npc> Editado Maio 6, 2015 10 anos por Vinicius Xxgamexx (veja o histórico de edições) Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais... ________________________________________________________________________________ Minhas Sprites: Mega Metagross Mega Abomasnow Pack de Shinys [Posso atualizá-lo com novos shinys a qualquer momento] Tutoriais: [Completo] Criando e adicionando um novo Pokémon [Actions] Criando quest no RME Editores Lua/Xml/Sync Entre outros: Editores Win/Mac/Linux
Postado Maio 6, 2015 10 anos Autor [7/5/2015 0:18:46] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/Legolas.lua [7/5/2015 0:18:46] data/npc/scripts/Legolas.lua:12: '}' expected (to close '{' at line 10) near 'st' ta dando isso
Postado Maio 6, 2015 10 anos Solução npc .xml: Mexi no seu script... Tinha muita coisa faltando e sem sentido. Script lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local itens = { --{iddoitem, quantidade}, {2160, 15}, {2158, 10}, {2157, 2}, } local hours = 24 local level = 200 local storage = 9934 local effect = 10 function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return true end if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then if getPlayerLevel(cid) >= level then if getPlayerStorageValue(cid, storage) <= os.time() then local item = itens[math.random(1,#itens)] doPlayerAddItem(cid, item[1], item[2]) doSendMagicEffect(getThingPos(cid), effect) selfSay('Pronto, aqui esta seu premio! Aguarde '..hours..' hora'..(hours > 1 and "s" or "")..' para pegar seu premio denovo.', cid) setPlayerStorageValue(cid, storage, os.time() + (hours * 60 * 60)) else selfSay('Aguarde '..hours..' hora'..(hours > 1 and "s" or "")..' para pegar seu premio denovo.', cid) end else selfSay('Você precisa de level '..level..' para pegar seu prêmio', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) O XML, usa o dele mesmo. _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
Postado Maio 7, 2015 10 anos Mexi no seu script... Tinha muita coisa faltando e sem sentido. Só peguei um npc que encontrei aqui e modifiquei, e sem servidor para testar fica complicado . Mesmo assim vlw Snowsz Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais... ________________________________________________________________________________ Minhas Sprites: Mega Metagross Mega Abomasnow Pack de Shinys [Posso atualizá-lo com novos shinys a qualquer momento] Tutoriais: [Completo] Criando e adicionando um novo Pokémon [Actions] Criando quest no RME Editores Lua/Xml/Sync Entre outros: Editores Win/Mac/Linux
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.