Postado Dezembro 25, 2014 10 anos Autor Vc n tem.idéia do q qr n amg? O @nogard fez um system de presente. Procura ae, agr to no cell ai complica passar... :s Qualquer coisa amigo, pode até ser por NPC
Postado Dezembro 25, 2014 10 anos Solução Aqui, pensei em fazer um npc papai noel que dá items aleatorios. Va na pasta data/npc e crie um arquivo Papai Noel.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Papai Noel" script="data/npc/scripts/papai_noel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="160" head="0" body="113" legs="94" feet="132" addons="0" mount="0"/> <parameters> <!--MESSAGES--> <parameter key="message_greet" value="Hohoho, |PLAYERNAME| bem-vindo. Voce gostaria de um presente?"/> <parameter key="message_farewell" value="Hohoho, tenha um feliz natal, |PLAYERNAME|."/> </parameters> </npc> Agora va na pasta data/npc/scripts e crie um arquivo chamado papai_noel.lua e coloque isso dentro: 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 config = { --IDs dos items que irão ser sorteados [30] = {2152}, [31] = {15492}, [32] = {9971}, [33] = {7591}, [34] = {7590}, [35] = {15546}, [36] = {15487}, [37] = {5022}, [38] = {2144} } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'sim') then if getPlayerStorageValue(cid, 6966) ~= 1 then local chance_growing = {} for chance, _ in pairs(config) do table.insert(chance_growing, chance) end table.sort(chance_growing, function(a, b) return a > b end) local chance = 0 for _, v in pairs(chance_growing) do if math.random(100) < v then chance = v break end end local item = config[chance] if item then doPlayerAddItem(cid, item[1]) doSendMagicEffect(getThingPos(cid), 13) end selfSay('Aqui esta! Feliz natal!', cid) setPlayerStorageValue(cid, 6966, 1) else selfSay('Voce ja pegou seu presente. Agora espalhe o espirito do natal!', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Vc configura os items aqui: local config = { --IDs dos items que irão ser sorteados [30] = {2152}, [31] = {15492}, [32] = {9971}, [33] = {7591}, [34] = {7590}, [35] = {15546}, [36] = {15487}, [37] = {5022}, [38] = {2144} } Vá colocando os ids dos items. Só peguei um script que tinha aqui de items aleatorios com probabilidade e adaptei pra o npc. (A probabilidade é feita assim, quanto mais em baixo da lista de items o item estiver, maior a chance de ele ser sorteado.) Também achei esse outro npc de natal que dá items: http://www.tibiaking.com/forum/topic/20494-npc-de-natal/ Se ajudei, REP+ pf Editado Dezembro 25, 2014 10 anos por danihcv (veja o histórico de edições)
Postado Dezembro 25, 2014 10 anos Autor Aqui, pensei em fazer um npc papai noel que dá items aleatorios. Va na pasta data/npc e crie um arquivo Papai Noel.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="Papai Noel" script="data/npc/scripts/papai_noel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="160" head="0" body="113" legs="94" feet="132" addons="0" mount="0"/> <parameters> <!--MESSAGES--> <parameter key="message_greet" value="Hohoho, |PLAYERNAME| bem-vindo. Voce gostaria de um presente?"/> <parameter key="message_farewell" value="Hohoho, tenha um feliz natal, |PLAYERNAME|."/> </parameters> </npc> Agora va na pasta data/npc/scripts e crie um arquivo chamado papai_noel.lua e coloque isso dentro: 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 config = { --IDs dos items que irão ser sorteados [30] = {2152}, [31] = {15492}, [32] = {9971}, [33] = {7591}, [34] = {7590}, [35] = {15546}, [36] = {15487}, [37] = {5022}, [38] = {2144} } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'sim') then if getPlayerStorageValue(cid, 6966) ~= 1 then local chance_growing = {} for chance, _ in pairs(config) do table.insert(chance_growing, chance) end table.sort(chance_growing, function(a, b) return a > b end) local chance = 0 for _, v in pairs(chance_growing) do if math.random(100) < v then chance = v break end end local item = config[chance] if item then doPlayerAddItem(cid, item[1]) doSendMagicEffect(getThingPos(cid), 13) end selfSay('Aqui esta! Feliz natal!', cid) setPlayerStorageValue(cid, 6966, 1) else selfSay('Voce ja pegou seu presente. Agora espalhe o espirito do natal!', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Vc configura os items aqui: Vá colocando os ids dos items. Só peguei um script que tinha aqui de items aleatorios com probabilidade e adaptei pra o npc. (A probabilidade é feita assim, quanto mais em baixo da lista de items o item estiver, maior a chance de ele ser sorteado.) Também achei esse outro npc de natal que dá items: http://www.tibiaking.com/forum/topic/20494-npc-de-natal/ Se ajudei, REP+ pf Boa vlw
Postado Dezembro 30, 2014 10 anos @Lord Stryton, sim apenas uma vez. Se quiser que possa pegar indefinidamente basta usar esse papai_noel.lua no lugar do outro: 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 config = { --IDs dos items que irão ser sorteados [30] = {2152}, [31] = {15492}, [32] = {9971}, [33] = {7591}, [34] = {7590}, [35] = {15546}, [36] = {15487}, [37] = {5022}, [38] = {2144} } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'sim') then local chance_growing = {} for chance, _ in pairs(config) do table.insert(chance_growing, chance) end table.sort(chance_growing, function(a, b) return a > b end) local chance = 0 for _, v in pairs(chance_growing) do if math.random(100) < v then chance = v break end end local item = config[chance] if item then doPlayerAddItem(cid, item[1]) doSendMagicEffect(getThingPos(cid), 13) end selfSay('Aqui esta! Feliz natal!', cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Dezembro 30, 2014 10 anos por danihcv (veja o histórico de edições)
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.