omegasayan
New Member
- Joined
- Apr 28, 2009
- Messages
- 1
- Reaction score
- 0
version source - Version 0.2 (Mystic Spirit).
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler
nCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler
nCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler
nCreatureSay(cid, type, msg) end
function onThink() npcHandler
nThink() 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}
}
se isInArray ({"recompensa", "recompensa", "receber", "nível"}, msg), então
npcHandler: say ("Olá guerreiro, eu posso oferecer recompensas para o nível {50}, {100}, {150} e {200}! qual dos níveis você deseja receber uma recompensa?", cid)
talkState [talkUser] = 1
elseif talkState [talkUser] == 1 então
se tabble [getNumber (msg)] então
se getPlayerStorageValue (cid, tabble [getNumber (msg)]. storage) <= 0 então
se getPlayerLevel (cid)> = getNumber (msg), então
doPlayerAddItem (cid, tabble [getNumber (msg)]. item [1], tabble [getNumber (msg)]. item [2]
setPlayerStorageValue (cid, tabble [getNumber (msg)]. storage, 1)
npcHandler: diga ("Parabéns! Você recebeu" ..tabble [getNumber (msg)]. item [2] .. "" ..getItemNameById (tabble [getNumber (msg)]. item [1]), cid)
outro
npcHandler: say ("Desculpe, mas você não tem nível para receber essa recompensa!", cid)
fim
outro
npcHandler: say ("Desculpe, mas você já recebeu sua recompensa!", cid)
fim
outro
npcHandler: say ("Desculpe, mas não tenho recompensa para esse nível!", cid)
fim
elseif isInArray ({"no", "nao"}, msg) então
selfSay ("Então não.", cid)
talkState [talkUser] = 0
npcHandler: releaseFocus (cid)
fim
retornar VERDADEIRO
fim
npcHandler: setCallback (CALLBACK_MESSAGE_DEFAULT, creationSayCallback)
npcHandler: addModule (FocusModule: new ())
função getNumber (txt)
x = string.gsub (txt, "% a", "")
x = número (x)
se x ~ = nill ex> 0 então
retornar x
outro
retornar 0
fim
fim
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler
function onCreatureDisappear(cid) npcHandler
function onCreatureSay(cid, type, msg) npcHandler
function onThink() npcHandler
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}
}
se isInArray ({"recompensa", "recompensa", "receber", "nível"}, msg), então
npcHandler: say ("Olá guerreiro, eu posso oferecer recompensas para o nível {50}, {100}, {150} e {200}! qual dos níveis você deseja receber uma recompensa?", cid)
talkState [talkUser] = 1
elseif talkState [talkUser] == 1 então
se tabble [getNumber (msg)] então
se getPlayerStorageValue (cid, tabble [getNumber (msg)]. storage) <= 0 então
se getPlayerLevel (cid)> = getNumber (msg), então
doPlayerAddItem (cid, tabble [getNumber (msg)]. item [1], tabble [getNumber (msg)]. item [2]
setPlayerStorageValue (cid, tabble [getNumber (msg)]. storage, 1)
npcHandler: diga ("Parabéns! Você recebeu" ..tabble [getNumber (msg)]. item [2] .. "" ..getItemNameById (tabble [getNumber (msg)]. item [1]), cid)
outro
npcHandler: say ("Desculpe, mas você não tem nível para receber essa recompensa!", cid)
fim
outro
npcHandler: say ("Desculpe, mas você já recebeu sua recompensa!", cid)
fim
outro
npcHandler: say ("Desculpe, mas não tenho recompensa para esse nível!", cid)
fim
elseif isInArray ({"no", "nao"}, msg) então
selfSay ("Então não.", cid)
talkState [talkUser] = 0
npcHandler: releaseFocus (cid)
fim
retornar VERDADEIRO
fim
npcHandler: setCallback (CALLBACK_MESSAGE_DEFAULT, creationSayCallback)
npcHandler: addModule (FocusModule: new ())
função getNumber (txt)
x = string.gsub (txt, "% a", "")
x = número (x)
se x ~ = nill ex> 0 então
retornar x
outro
retornar 0
fim
fim