NdboHakai 0 Postado Março 16, 2019 Share Postado Março 16, 2019 Boa noite Galera queria saber se tinha como colocar nesses 2 script um de npc e outro de bau Esse codigo: doItemSetAttribute(cid, "serial", generateSerial()) E também se tem como invés de falar o nome da missão para entregar os items O jogador falar [entregar] e os item for entregues e ele recebe a recompensa Se caso o jogador não tiver os items que foi pedido der um error avisando que ele não tem os items que foi pedido. Npc : Spoiler 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 local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local itenscoleta = {{id =2666, count =50}, {id =11580, count =500}, {id =11580, count =1000}} local str = { {mission1 = 58321, recompensa = 2160}, {mission2 = 58322, recompensa = 11920}, {mission3 = 58323, recompensa = 11920},} name = getCreatureName(cid) strstart = 988223 if msgcontains(msg, "conversar") and getPlayerStorageValue(cid, strstart) < 1 then selfSay("Olá {" ..name.. "}, tenho algumas missões interessantes para você, deseja saber quais são? digite {missoes}", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "conversar") and getPlayerStorageValue(cid, strstart) == 1 then selfSay("{" ..name.. "}, Você está em missão e falta entregar os itens para mim. {Digite o nome da missao}", cid) elseif msgcontains(msg, "missoes") and talkState[talkUser] == 1 then selfSay("{" ..name.. "}, digite : {200gold missao}, {50plations missao}, {100plations missao}", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "200gold missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[1].mission1) < 1 then selfSay("Colete 50 Meat!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Missão iniciada!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "50plations missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[2].mission2) < 1 then selfSay("Colete 500 Essence Coins!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Missão iniciada!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "100plations missao") and talkState[talkUser] == 2 and getPlayerStorageValue(cid, strstart) < 1 and getPlayerStorageValue(cid, str[3].mission3) < 1 then selfSay("Colete 1000 Essence Coins!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Missão iniciada!") setPlayerStorageValue(cid, strstart, 1) elseif msgcontains(msg, "200gold missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[1].id) >= itenscoleta[1].count and getPlayerStorageValue(cid, str[1].mission1) < 1 then setPlayerStorageValue(cid, str[1].mission1, 1) doPlayerRemoveItem(cid, itenscoleta[1].id, itenscoleta[1].count) selfSay("Obrigada, Aqui está sua recompensa!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Missão Completada!") setPlayerStorageValue(cid, strstart, -1) doPlayerAddItem(cid, str[1].recompensa, 200) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkState[talkUser] = 0 elseif msgcontains(msg, "50plations missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[2].id) >= itenscoleta[2].count and getPlayerStorageValue(cid, str[2].mission2) < 1 then setPlayerStorageValue(cid, str[2].mission2, 1) doPlayerRemoveItem(cid, itenscoleta[2].id, itenscoleta[2].count) selfSay("Obrigada, Aqui está sua recompensa!!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Missão Completada!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str[2].mission2, 1) doPlayerAddItem(cid, str[2].recompensa, 50) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkState[talkUser] = 0 elseif msgcontains(msg, "100plations missao") and getPlayerStorageValue(cid, strstart) == 1 and getPlayerItemCount(cid, itenscoleta[3].id) >= itenscoleta[3].count and getPlayerStorageValue(cid, str[3].mission3) < 1 then setPlayerStorageValue(cid, str[3].mission3, 1) doPlayerRemoveItem(cid, itenscoleta[3].id, itenscoleta[3].count) selfSay("Obrigada, Aqui está sua recompensa!!", cid) doSendMagicEffect(getThingPos(cid), 12) doPlayerSendTextMessage(cid, 22, "Missão Completada!") setPlayerStorageValue(cid, strstart, -1) setPlayerStorageValue(cid, str[3].mission3, 1) doPlayerAddItem(cid, str[3].recompensa, 100) --- O VALOR 100 E O TANTO DE ITEM QUE VAI GANHAR NA RECOMPENSA talkState[talkUser] = 0 else selfSay("Missão não existe ou Não tem items suficiente ou Você já completou essa missão", cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Bau : Spoiler local vocs = { --[voc] = {item, count} tabebados [3] = {{12052 ,1}, {11812 ,1}, {11813 ,1}, {11814 ,1}, {2160 ,5}, {7368 ,1}, {1988}}, -- Madara [4] = {{12052 ,1}, {11812 ,1}, {11813 ,1}, {11814 ,1}, {2160 ,5}, {11440 ,1}, {1988}}, -- Hashirama } local storage = 122234 -- storage para não fazer a quest novamente function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) < 1 then for voc, all in pairs(vocs) do if getPlayerVocation(cid) == voc then for z = 1, #all do doPlayerAddItem(cid, all[z][1], all[z][2]) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de pegar o baú inicial!") setPlayerStorageValue(cid, storage, 1) end end else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, mas você já pegou os items inicial.") end return true end Rep ++ Link para o comentário Compartilhar em outros sites More sharing options...
LeoTK 173 Postado Março 17, 2019 Share Postado Março 17, 2019 @NdboHakai Testa esse de baú Spoiler local vocs = { --[voc] = {item, count} tabebados [3] = {{12052 ,1}, {11812 ,1}, {11813 ,1}, {11814 ,1}, {2160 ,5}, {7368 ,1}, {1988}}, -- Madara [4] = {{12052 ,1}, {11812 ,1}, {11813 ,1}, {11814 ,1}, {2160 ,5}, {11440 ,1}, {1988}}, -- Hashirama } local storage = 122234 -- storage para não fazer a quest novamente function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) < 1 then for voc, all in pairs(vocs) do if getPlayerVocation(cid) == voc then for z = 1, #all do doPlayerAddItem(cid, all[z][1], all[z][2]) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de pegar o baú inicial!") setPlayerStorageValue(cid, storage, 1) doItemSetAttribute(item.uid, "unique", 1) end end else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, mas você já pegou os items inicial.") end return true end Link para o comentário Compartilhar em outros sites More sharing options...
NdboHakai 0 Postado Março 17, 2019 Autor Share Postado Março 17, 2019 4 horas atrás, Brunds disse: @NdboHakai Testa esse de baú Ocultar conteúdo local vocs = { --[voc] = {item, count} tabebados [3] = {{12052 ,1}, {11812 ,1}, {11813 ,1}, {11814 ,1}, {2160 ,5}, {7368 ,1}, {1988}}, -- Madara [4] = {{12052 ,1}, {11812 ,1}, {11813 ,1}, {11814 ,1}, {2160 ,5}, {11440 ,1}, {1988}}, -- Hashirama } local storage = 122234 -- storage para não fazer a quest novamente function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) < 1 then for voc, all in pairs(vocs) do if getPlayerVocation(cid) == voc then for z = 1, #all do doPlayerAddItem(cid, all[z][1], all[z][2]) end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você acaba de pegar o baú inicial!") setPlayerStorageValue(cid, storage, 1) doItemSetAttribute(item.uid, "unique", 1) end end else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Desculpe, mas você já pegou os items inicial.") end return true end Não queria unique, eu queria que adicionasse uma serial no item Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados