Postado Junho 6, 2015 10 anos Bom tenho uma base pda 8.54 e estou precisando desse npc ai >> Explicando'- o npc pede para o player matar 3 pokémons diferentes em quantidades diferentes Ex- (10 weedle, 30 kakuna, 40 beedrill), quando o player terminar a "matança" volta la no npc fala com ele e recebe o premio,no caso sera item ou itens! lembrando que o player só poderá fazer essa missão 1 vez! Agradeço!!!! Editado Junho 6, 2015 10 anos por Sepultura (veja o histórico de edições) Meus tópicos Se ajudei você deixe seu Rep! para fortalecer a amizade Vamos ajudar o fórum a crescer mais. Mengão porra! . . ----- NPC que vende informação ----- -----Baú Que dá Outfit se tiver Level ----- ----- [Npc] Que vende Stones (itens) por diamonds -----
Postado Junho 8, 2015 10 anos Autor Bom tenho uma base pda 8.54 e estou precisando desse npc ai >> Explicando'- o npc pede para o player matar 3 pokémons diferentes em quantidades diferentes Ex- (10 weedle, 30 kakuna, 40 beedrill), quando o player terminar a "matança" volta la no npc fala com ele e recebe o premio,no caso sera item ou itens! lembrando que o player só poderá fazer essa missão 1 vez! Agradeço!!!! Ninguem pr ajudar ??????? Meus tópicos Se ajudei você deixe seu Rep! para fortalecer a amizade Vamos ajudar o fórum a crescer mais. Mengão porra! . . ----- NPC que vende informação ----- -----Baú Que dá Outfit se tiver Level ----- ----- [Npc] Que vende Stones (itens) por diamonds -----
Postado Junho 8, 2015 10 anos Ninguem pr ajudar ??????? cara nao manjo muito mais tento aq no meu ot. se vc tiver ae usa a mesma script dos npc de clan so edita la dentro delas e recria eles com outro nome.
Postado Junho 9, 2015 10 anos Solução Cara, não sei como funciona scripts do poke, não sei se um tfs serveria, mas conforme for tente assim. vá até em npcs script e crie um tasks.lua e adicione local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local xmsg = {} 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 storage = 62003 local monsters = { ["Weedle"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 5000, items = {{id = 2160, count = 3}}}, } local function getItemsFromTable(itemtable) local text = "" for v = 1, #itemtable do count, info = itemtable[v].count, ItemType(itemtable[v].id) local ret = ", " if v == 1 then ret = "" elseif v == #itemtable then ret = " and " end text = text .. ret text = text .. (count > 1 and count or info:getArticle()).." "..(count > 1 and info:getPluralName() or info:getName()) end return text end local function Cptl(f, r) return f:upper()..r:lower() end function creatureSayCallback(cid, type, msg) local player, cmsg = Player(cid), msg:gsub("(%a)([%w_']*)", Cptl) if not npcHandler:isFocused(cid) then if msg == "hi" or msg == "hello" then npcHandler:addFocus(cid) if player:getStorageValue(storage) == -1 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. ", " text = text .. ""..x.amount.." {"..k.."}" end end if n > 1 then npcHandler:say("I have several tasks for you to kill monsters"..text..", which one do you choose? I can also show you a {list} with rewards and you can {stop} a task if you want.", cid) npcHandler.topic[cid] = 1 xmsg[cid] = msg elseif n == 1 then npcHandler:say("I have one last task for you"..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks, I have nothing for you to do anymore, good job though.", cid) end elseif player:getStorageValue(storage) == 1 then for k, x in pairs(monsters) do if player:getStorageValue(x.storage) == 1 then npcHandler:say("Did you kill "..x.amount.." "..k.."?", cid) npcHandler.topic[cid] = 2 xmsg[cid] = k end end end else return false end elseif monsters[cmsg] and npcHandler.topic[cid] == 1 then if player:getStorageValue(monsters[cmsg].storage) == -1 then npcHandler:say("Good luck, come back when you killed "..monsters[cmsg].amount.." "..cmsg..".", cid) player:setStorageValue(storage, 1) player:setStorageValue(monsters[cmsg].storage, 1) else npcHandler:say("You already did the "..cmsg.." mission.", cid) end npcHandler.topic[cid] = 0 elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 2 then local x = monsters[xmsg[cid]] if player:getStorageValue(x.mstorage) >= x.amount then npcHandler:say("Good job, here is your reward, "..getItemsFromTable(x.items)..".", cid) for g = 1, #x.items do player:addItem(x.items[g].id, x.items[g].count) end player:addExperience(x.exp) player:setStorageValue(x.storage, 2) player:setStorageValue(storage, -1) npcHandler.topic[cid] = 3 else npcHandler:say("You didn't kill them all, you still need to kill "..x.amount -(player:getStorageValue(x.mstorage) + 1).." "..xmsg[cid]..".", cid) end elseif msgcontains(msg, "task") and npcHandler.topic[cid] == 3 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" end end if text ~= "" then npcHandler:say("Want to do another task? You can choose "..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks.", cid) end elseif msgcontains(msg, "no") and npcHandler.topic[cid] == 1 then npcHandler:say("Ok then.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "stop") then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" if player:getStorageValue(x.storage) == 1 then player:setStorageValue(x.storage, -1) end end end if player:getStorageValue(storage) == 1 then npcHandler:say("Alright, let me know if you want to continue an other task, you can still choose "..text..".", cid) else npcHandler:say("You didn't start any new task yet, if you want to start one, you can choose "..text..".", cid) end player:setStorageValue(storage, -1) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "list") then local text = "Tasks\n\n" for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then text = text ..k .." ["..(player:getStorageValue(x.mstorage) + 1).."/"..x.amount.."]:\n Rewards:\n "..getItemsFromTable(x.items).."\n "..x.exp.." experience \n\n" else text = text .. k .." [DONE]\n" end end player:showTextDialog(1949, "" .. text) npcHandler:say("Here you are.", cid) elseif msgcontains(msg, "bye") then npcHandler:say("Bye.", cid) npcHandler:releaseFocus(cid) else npcHandler:say("What?", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) vá em npcs, e crie um xml e adicone isso. <?xml version="1.0" encoding="UTF-8"?> <npc name="Samuel" script="tasks.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150"/> <look type="637" head="97" body="53" legs="115" feet="0" addons="3" mount="688" corpse="2212"/> <parameters> <parameter key="module_shop" value="1"/> </parameters> </npc> Agora vá em creaturescript e adicione isso <event script="killtasks.lua" name="Tasks" type="kill"/> Agora vá em creaturesript/script, crie killtasks.lua e adicione isso local config = { ['Weedle'] = {amount = 100, storage = 19000, startstorage = 5010, startvalue = 1} } function onKill(player, target) local monster = config[target:getName():lower()] if target:isPlayer() or not monster or target:getMaster() then return true end local stor = player:getStorageValue(monster.storage)+1 if stor < monster.amount and player:getStorageValue(monster.startstorage) >= monster.startvalue then player:setStorageValue(monster.storage, stor) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Task message: '..(stor +1)..' of '..monster.amount..' '..target:getName()..'s killed.') end if (stor +1) == monster.amount then player:sendTextMessage(MESSAGE_INFO_DESCR, 'Congratulations, you have killed '..(stor +1)..' '..target:getName()..'s and completed the '..target:getName()..'s mission.') player:setStorageValue(monster.storage, stor +1) end return true end e por final adicione isso em creaturescript/script/login.lua registerCreatureEvent(cid, "Tasks" repetindo não sei se o script irá funcionar no seu servidor, mas faz o teste. Editado Junho 9, 2015 10 anos por pedrook (veja o histórico de edições)
Postado Junho 9, 2015 10 anos Autor cara nao manjo muito mais tento aq no meu ot. se vc tiver ae usa a mesma script dos npc de clan so edita la dentro delas e recria eles com outro no Mano nao quero ficar editando outras scripts... pq tem chances de bugalas kkk! quero uma unica so pr esse npc mesmo assim vlw Aguardar alguem ajudar .-. Editado Junho 9, 2015 10 anos por Sepultura (veja o histórico de edições) Meus tópicos Se ajudei você deixe seu Rep! para fortalecer a amizade Vamos ajudar o fórum a crescer mais. Mengão porra! . . ----- NPC que vende informação ----- -----Baú Que dá Outfit se tiver Level ----- ----- [Npc] Que vende Stones (itens) por diamonds -----
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.