é permitido sim...
pórem não é mais fazer só 1 npc para todos os addons?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

é permitido sim...
pórem não é mais fazer só 1 npc para todos os addons?
não não, e pq to criando um server de rpg com meu team super irado, ai preciso do npc assim.
pra ficar foda o server vou esconder os npcs e os players terão que achar os nps pra addons,
exemplo: o npc que da o first wayfarer vai ficar no final da inquisition e talz.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ok fiz alguns para vc ver:
First addon cintezen:
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())
Second addon cintezen:
NPC
Second Cintizen.xml
<?xml version="1.0"?>
<npc name="Second Cintizen" script="data/npc/scripts/addon_cintizen2.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="78" body="88" legs="0" feet="88" addons="2"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. eu tenho um {addon} a lhe oferecer." />
</parameters>
</npc>
npc/script
addon_cintizen2.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
-- second cintizen npc
local config = {
storage = 13002,
outfit_female = 136, -- numero da outfit,nesse caso é cintizen
outfit_male = 128, -- numero da outfit,nesse caso é cintizen
addons = 2 -- addons que serão dados
}
if(msgcontains(msg, 'addon') or msgcontains(msg, 'ADDON')) then
selfSay('eu posso lhe oferecer o second 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())
First Hunter addon:
NPC
First Hunter.xml
<?xml version="1.0"?>
<npc name="First Hunter" script="data/npc/scripts/addon_hunter1.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="129" 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_hunter1.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 hunter npc
local config = {
storage = 13003,
outfit_female = 137, -- numero da outfit,nesse caso é hunter
outfit_male = 129, -- numero da outfit,nesse caso é hunter
addons = 1 -- addons que serão dados
}
if(msgcontains(msg, 'addon') or msgcontains(msg, 'ADDON')) then
selfSay('eu posso lhe oferecer o first hunter 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())
Second Hunter addon:
NPC
Second Hunter.xml
<?xml version="1.0"?>
<npc name="Second Hunter" script="data/npc/scripts/addon_hunter2.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="129" head="78" body="88" legs="0" feet="88" addons="2"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. eu tenho um {addon} a lhe oferecer." />
</parameters>
</npc>
npc/script
addon_hunter2.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
-- second cintizen npc
local config = {
storage = 13004,
outfit_female = 137, -- numero da outfit,nesse caso é hunter
outfit_male = 129, -- numero da outfit,nesse caso é hunter
addons = 2 -- addons que serão dados
}
if(msgcontains(msg, 'addon') or msgcontains(msg, 'ADDON')) then
selfSay('eu posso lhe oferecer o first hunter 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())
info
Grupo: Campones
Registrado: 06/02/07
Posts: 10
Reputação: 0
queria um npc de addon assim
vc chega no npc fala hi
npc: eu posso lhe oferecero first citizen addon, voce quer?
player:yes
NPC: Pronto
nao precisa dar item nada, só falar com o npc hi/yes/bye, ai ele da o addon, preciso só de 1 script do npc, e me ensine como coloca os outros addons, pra fazer outros npcs.
e pra otserv 8.6
e pq to criando um server de rpg com meu team super irado, ai preciso do npc assim.
pra ficar foda o server vou esconder os npcs e os players terão que achar os nps pra addons,
exemplo: o npc que da o first wayfarer vai ficar no final da inquisition e talz.
Editado Setembro 17 por Nomade