Ir para conteúdo
  • 0

Npc De Recompensa


AnneMotta

Pergunta

Bom, eu precisava de um npc que entregasse premios por level.

 

Por exemplo, joão atingiu o level 50 ele pode ir no npc e pegar tal recompensa, se ele ja tiver

 

pegado a recompensa o npc ira falar que ele ja pegou e por ai vai...

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Bom, eu precisava de um npc que entregasse premios por level.

não precisa por o level

 

wtf? quero saber o seguinte, ele só vai receber o prêmio no level 50 por exemplo, e depois se ele atingir o level 100 recebe mais alguma coisa?

ou só vai ser pra um certo nível mesmo...

Link para o comentário
Compartilhar em outros sites

  • 0

outra coisa, serão vários items? exemplo:

 

2 fire sword, 3 crown legs e 2 aol

 

ou só um item e dinheiro? pq se for mais de um item eu coloco uma função ;x

 

 

obs: vc usa aquele npc ainda do simple task 2.0? pq lá tem as funções e tal... responde ai

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 0

não tenho ele aqui, mais posso por, a respeito dos items, seria 1 item por level.

 

Não precisa, é só um item então de boa, vou almoçar e depois entrego

vlw

 

 

-------------------------------------------------

 

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 msg = string.lower(msg)
tabble = {
[50] = {item = {2173,1}, storage = 201320},
[100] = {item = {2160,5}, storage = 201321},
[150] = {item = {2123,1}, storage = 201322},
[200] = {item = {2466,1}, storage = 201320}
}
if isInArray({"recompensa","reward", "receber", "level"}, msg) then
npcHandler:say("Olá guerreiro, eu posso entregar recompensas para o level {50}, {100}, {150} e {200}! qual dos leveis você deseja receber a recompensa?", cid)
talkState[talkUser] = 1
elseif talkState[talkUser] == 1 then
if tabble[getNumber(msg)] then
if getPlayerStorageValue(cid, tabble[getNumber(msg)].storage) <= 0 then
if getPlayerLevel(cid) >= getNumber(msg) then
doPlayerAddItem(cid,tabble[getNumber(msg)].item[1],tabble[getNumber(msg)].item[2])
setPlayerStorageValue(cid, tabble[getNumber(msg)].storage, 1)
npcHandler:say("Parabéns! Você recebeu "..tabble[getNumber(msg)].item[2].." "..getItemNameById(tabble[getNumber(msg)].item[1]), cid)
else
npcHandler:say("Desculpe, mas você não tem level para receber essa recompensa!", cid)
end
else
npcHandler:say("Desculpe, mas você já recebeu a sua recompensa!", cid)
end
else
npcHandler:say("Desculpe, mas não tenho recompensa para esse level!", cid)
end
elseif isInArray({"no","nao"}, msg)  then  
selfSay("Then not.", cid)  
talkState[talkUser] = 0  
npcHandler:releaseFocus(cid)  
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
function getNumber(txt)
x = string.gsub(txt,"%a","")
x = tonumber(x)
if x ~= nill and x > 0 then
return x
else
return 0
end
end

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 0

Rapaz, ou você tem muito tempo... ou ja trabalha com programação em lua... ou é muito craneo e fas tudo muito rapido...ou é alienigena.. hsuahusahs

 

fas tudo parecer tão simples, vou começar a anotar e verificar cada coisa em uma script para ver se tem muito mistério ou apenas prestar atenção para criar las.

 

Vai ser util em algo no meu server de narutibia happy.png

 

Rep+

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...