• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

help for npc , not respect level

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: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}
}
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
 
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:eek:nCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:eek:nCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:eek:nCreatureSay(cid, type, msg) end
function onThink() npcHandler:eek: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
Wtf was that? outro, retornar, fim :eek:
Sorry, i paste this in notepade, and for me its unreadable :|
English/Portugese mix...
 
Back
Top