NPC
First Cintizen.xml
<?xml version="1.0"?>
<npc name="First Cintizen" script="data/npc/scripts/addon_cintizen1.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="78" body="88" legs="0" feet="88" addons="1"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. eu tenho um {addon} a lhe oferecer." />
</parameters>
</npc>
npc/script
addon_cintizen1.lua
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
-- first cintizen npc
local config = {
storage = 13001,
outfit_female = 136, -- numero da outfit,nesse caso é cintizen
outfit_male = 128, -- numero da outfit,nesse caso é cintizen
addons = 1 -- addons que serão dados
}
if(msgcontains(msg, 'addon') or msgcontains(msg, 'ADDON')) then
selfSay('eu posso lhe oferecer o first citizen addon, voce quer? {yes} ', cid)
talkState[talkUser] = 1
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
if getPlayerStorageValue(cid, config.storage) == -1 then
if getPlayerSex(cid) == 0 then
doPlayerAddOutfit(cid,config.outfit_female, config.addons)
else
doPlayerAddOutfit(cid,config.outfit_male, config.addons)
end
setPlayerStorageValue(cid,config.storage,1)
selfSay('aqui está seu addon!.', cid)
talkState[talkUser] = 0
else
selfSay('Você já recebeu seu addon.', cid)
talkState[talkUser] = 0
end
elseif msg == "no" and talkState[talkUser] == 1 then
selfSay("Então vá embora!", cid)
talkState[talkUser] = 0
npcHandler:releaseFocus(cid)
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())