Ir para conteúdo

Npcs Baseados No Jiddo Npc System


luizim

Posts Recomendados

Já que tem muita gente que tá precisando desses npc, resolvi pegar os que eu acho e colocar aqui.

 

Obi (Mobília)

Este é o arquivo data\npc\obi.xml

<npc name="Obi" script="data/npc/scripts/furniture.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="142" head="114" body="0" legs="95" feet="114" corpse="2212"/>

<parameters>

<parameter key="module_shop" value="1" />

<parameter key="message_greet" value="Hello |PLAYERNAME|. I sell chairs, tables, plants, containers, pillows, tapestries and more. Everything for 500 gold pieces." />

<parameter key="shop_buyable" value="wooden chair,3901,500;sofa chair,3902,500;red cushionedchair,3903,500;green cushioned chair,3904,500;tusk chair,3905,500;ivory chair,3906,500;big table,3909,500;square table,3910,500;round table,3911,500;small table,3912,500;stone table,3913,500;tusk table,3914,500;bamboo table,3919,500;pink flower,3928,500;green flower,3929,500;christmas tree,3931,500;large trunk,3938,500;drawer,3921,500;dresser,3932,500;locker,3934,500;trough,3935,500;

box,3915,500;coal basin,3908,500;birdcage,3918,500;harp,3917,500;piano,3926,500;globe,3927,500;clo

ck,3933,500;lamp,3937,500;blue tapestry,1872,500;green tapestry,1860,500;orange tapestry,1866,500;pink tapestry,1857,500;red tapestry,1869,500;white tapestry,1880,500;yellow tapestry,1863,500;small purple pillow,1678,500;small green pillow,1679,500;small red pillow,1680,500;small blue pillow,1681,500;small orange pillow,1683,500;small turquiose pillow,1684,500;small white pillow,1685,500;heart pillow,1685,500;blue pillow,1686,500;red pillow,1687,500;green pillow,1688,500;yellow pillow,1689,500;round blue pillow,1690,500;round red pillow,1691,500;round purple pillow,1692,500;round turquiose pillow,1693,500;" />

</parameters>

</npc>

PS: Tem que mudar o Outfit dele, pois está como "female".

Este é o data/npc/scripts/furniture.lua

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

 

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

 

-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!

 

keywordHandler:addKeyword({'chairs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell wooden, sofa, red cushioned, green cushioned, tusk and ivory chairs.'})

keywordHandler:addKeyword({'tables'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell big, square, round, small, stone, tusk, bamboo tables.'})

keywordHandler:addKeyword({'plants'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell pink and green flowers, also christmas trees.'})

keywordHandler:addKeyword({'furniture'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell large trunks, boxes, drawers, dressers, lockers and troughs.'})

keywordHandler:addKeyword({'more'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell coal basins, birdcages, harps, pianos, globes, clocks and lamps.'})

keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell blue, green, orange, pink, red, white and yellow tapestries.'})

 

keywordHandler:addKeyword({'small'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell small purple, small green, small red, small blue, small orange, small turquiose and small white pillows.'})

keywordHandler:addKeyword({'round'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell round blue, round red, round purple and round turquiose pillows.'})

keywordHandler:addKeyword({'square'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell blue, red, green and yellow pillows.'})

keywordHandler:addKeyword({'pillows'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell heart, small, sqare and round pillows.'})

 

-- Makes sure the npc reacts when you say hi, bye etc.

npcHandler:addModule(FocusModule:new())

 

 

Seller (BackPack, Manafluid, etc...)

Este é o arquivo data\npc\seller.xml

<npc name="Seller" script="data/npc/scripts/seller.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="134" head="114" body="113" legs="113" feet="113" corpse="2212"/>

<parameters>

<parameter key="module_shop" value="1" />

<parameter key="message_greet" value="Hello |PLAYERNAME|. I sell ropes (50gp), shovels (20gp), backpacks (10gp), fishing rods (100gp), amulet of loss (10k), and torches (2gp). I buy vials (10gp)." />

<parameter key="shop_buyable" value="vial,2006,10;flask,2006,10" />

<parameter key="shop_buyable" value="shovel,2554,20;backpack,1988,10;fishing rod,2580,100;torch,2050,2;rope,2120,50;amulet of loss,2173,10000" />

</parameters>

</npc>

Este é o data/npc/scripts/seller.lua

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

npcHandler:addModule(FocusModule:new())

 

Lector (Comidas)

Este é o arquivo data\npc\Lector.xml

<npc name="Lector" script="data/npc/scripts/food.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="128" head="20" body="100" legs="50" feet="99" corpse="2212"/>

<parameters>

<parameter key="module_shop" value="1" />

<parameter key="message_greet" value="Hello |PLAYERNAME|. I sell ham, meat, carrots, apples, brown breads, brown mushrooms and eggs (everything for 8 gold coins)!" />

<parameter key="shop_buyable" value="brown bread,2691,8;ham,2671,8;carrot,2684,8;meat,2666,8;apple,2674,8;brown mushroom,2789,8;egg,2695,8" />

</parameters>

</npc>

Este é o data/npc/scripts/food.lua

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

npcHandler:addModule(FocusModule:new())

 

Perac (Arrows, Bows, Bolts...)

Este é o arquivo data\npc\perac.xml

<npc name="Perac" script="data/npc/scripts/bows.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="142" head="79" body="118" legs="115" feet="114" corpse="2212"/>

<parameters>

<parameter key="module_shop" value="1" />

<parameter key="shop_sellable" value="crossbow,2455,150;bow,2456,130" />

<parameter key="shop_buyable" value="crossbow,2455,360;bow,2456,200;spear,2389,20;power bolt,2547,50;burst arrow,2546,16;poison arrow,2545,18;bolt,2543,3;arrow,2544,2" />

</parameters>

</npc>

PS: Tem que mudar o Outfit dele, pois está como "female".

Este é o data/npc/scripts/bows.lua

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

npcHandler:addModule(FocusModule:new())

 

Soya (Vende loots)

Este é o arquivo data\npc\soya.xml

<npc name="Soya" script="data/npc/scripts/loot.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="139" head="132" body="79" legs="97" feet="132" corpse="2212"/>

<parameters>

<parameter key="module_shop" value="1" />

<parameter key="message_greet" value="Hello |PLAYERNAME|. I buy swords, clubs, axes, helmets, boots, legs, shields and armors." />

<parameter key="shop_sellable" value="royal helmet,2498,40000;warrior helmet,2475,6000;crusader helmet,2497,9000;crown helmet,2491,5000;devil helmet,2462,4000;mystic turban,2663,500;chain helmet,2458,35;iron helmet,2459,30;steel boots,2645,400000;boots of haste,2195,40000;golden boots,2646,100000;magic plate armor,2472,100000;dragon scale mail,2492,60000;demon armor,2494,90000;golden armor,2466,30000;crown armor,2487,20000;knight armor,2476,5000;blue robe,2656,15000;lady armor,2500,2500;plate armor,2463,400;brass armor,2465,200;chain armor,2464,100;golden legs,2470,80000;crown legs,2488,15000;knight legs,2477,6000;plate legs,2647,500;brass legs,2487,100;mastermind shield,2514,80000;demon shield,2520,40000;blessed shield,2523,150000;great shield,2522,100000;vampire shield,2534,25000;medusa shield,2536,8000;amazon shield,2537,4000;crown shield,2519,5000;tower shield,2528,4000;guardian shield,2515,200;beholder shield,2518,1500;dragon shield,2516,4000;dwarven shield,2525,100;magic longsword,2390,150000;warlord sword,2408,100000;magic sword,2400,90000;giant sword,2393,10000;bright sword,2407,6000;ice rapier,2396,4000;fire sword,2392,3000;serpent sword,2409,1500;spike sword,2383,800;two handed sword,2377,400;broad sword,2413,70;short sword,2406,30;sword,2376,25;dragon lance,2414,10000;stonecutter axe,2431,90000;guardian halberd,2427,7500;fire axe,2432,10000;knight axe,2430,2000;double axe,2387,200;halberd,2381,200;battle axe,2378,100;hatchet,2388,20;war hammer,2391,6000;thunder hammer,2421,90000;skull staff,2436,1000;dragon hammer,2434,2000;clerical mace,2423,200;battle hammer,2417,60;mace,2398,30;" />

</parameters>

</npc>

Este é o data/npc/scripts/loot.lua

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

 

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

 

-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!

keywordHandler:addKeyword({'helmets'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy royal (40k), warrior (6k), crusader (9k), crown (5k), devil (4k), chain (35gp) and iron helmets (30gp), also mystic turbans (500gp).'})

keywordHandler:addKeyword({'boots'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden boots (100k), steel boots (40k) and boots of haste (40k).'})

keywordHandler:addKeyword({'armors'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden (30k), crown (20k), knight (5k), lady (7,5k), plate (400gp), brass (200gp) and chain armors (100gp), also mpa (100k), dsm (60k) and blue robes (15k).'})

keywordHandler:addKeyword({'legs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy golden (80k), crown (15k), knight (6k), plate (500gp) and brass legs (100gp).'})

keywordHandler:addKeyword({'shields'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy blessed (150k), great (100k), demon (40k), vampire (25k), medusa (8k), amazon (4k), crown (5k), tower (4k), dragon (3k), guardian (2k), beholder (1k), and dwarven shields (100gp), also mms (80k).'})

 

keywordHandler:addKeyword({'swords'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy giant (10k), bright (6k), fire (3k) serpent (1.5k), spike (800gp) and two handed swords (400gp), also ice rapiers (4k), magic longswords (150k), magic swords (90k), warlord swords (100k) broad swords (70gp), short swords (30gp), sabres (25gp) and swords (25gp).'})

keywordHandler:addKeyword({'axes'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy fire (10k), guardian halberds (7,5k) knight (2k), double (200gp) and battle axes (100gp), also dragon lances (10k), stonecutters axes (90k), halberds (200gp) and hatchets (20gp).'})

keywordHandler:addKeyword({'clubs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I buy thunder hammers (90k), war (6k), dragon (2k) and battle hammers (60gp), also skull staffs (10k) and clerical maces (200gp).'})

 

-- Makes sure the npc reacts when you say hi, bye etc.

npcHandler:addModule(FocusModule:new())

 

Roy (Soft Boots)

Este é o arquivo data\npc\roy.xml

<npc name="Roy" script="data/npc/scripts/soft boots.lua" autowalk="25" floorchange="0" access="5" level="1" maglevel="1">

<health now="150" max="150"/>

<look type="151" head="114" body="1" legs="1" feet="76" addons="1" corpse="2212"/>

<parameters>

<parameter key="message_greet" value="Hello |PLAYERNAME|. i am specialised in boots" />

 

</parameters>

</npc>

Este é o data/npc/scripts/soft boots.lua

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

function creatureSayCallback(cid, type, msg)

-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.

if(npcHandler.focus ~= cid) then

return false

end

 

if msgcontains(msg, 'specialised') or msgcontains(msg, 'boot') then

selfSay('Yes, my fathers was a great one blacksmith, it was a wise person , but when he decided to teach me he dies and i just learn about the lovely boots. So, did you bring me some boots? which one?')

elseif msgcontains(msg, 'soft boots') or msgcontains(msg, 'worn soft boots') or msgcontains(msg, 'soft boot') or msgcontains(msg, 'worn soft boot') then

selfSay('Did u like that i fix ur worn soft boots? it will cost 100 platinum coins')

talk_state = 1

 

 

elseif msgcontains(msg, 'yes') and talk_state == 1 then

if getPlayerItemCount(cid,6530) >= 1 and getPlayerItemCount(cid,2152) >= 100 then

if doPlayerTakeItem(cid,6530,1) and doPlayerTakeItem(cid,2152,100) == 0 then

selfSay('Here you are.')

doPlayerAddItem(cid,2640,1)

end

else

selfSay('Sorry, you don\'t have the item.')

end

 

 

elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 5) then

selfSay('Ok than.')

talk_state = 0

end

-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Caso eu for achando eu vou postando aqui!

 

Abraços,

Luizim

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

Como o velho ditado!

 

"Se o Nostradamus falou, agua parou!" hehehe.. :D

 

Já mudei com a devido título que você citou acima. :p

 

Abraços,

Luizim

Link para o comentário
Compartilhar em outros sites

  • 5 weeks later...

EU testei o npc roy no meu evolution e quando eu flo Hi ou Hello ele n responde. (o makako me ignora >.<)

por favor alguem poderia arrumar isso pra eu poder usar no evolution, n sou bom em mexe com npc

 

quem puder me manda uma PM com o hotmail ou com o link do noc certinho =]

 

Vlwss

Link para o comentário
Compartilhar em outros sites

EU testei o npc roy no meu evolution e quando eu flo Hi ou Hello ele n responde. (o makako me ignora >.<)

por favor alguem poderia arrumar isso pra eu poder usar no evolution, n sou bom em mexe com npc

 

quem puder me manda uma PM com o hotmail ou com o link do noc certinho =]

 

Vlwss

 

"Npcs Baseados No Jiddo Npc System"

que eu saiba o evolution não usa o jiddo npc sys =/

pra ser sicero nem sei de quem é o outro sys xD

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

 

@topic

valew, gostei desse pack, é um sys de npc muito bom, alé de confuso =D

eu já me adaptei a ele.

 

Bye

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

#VicTor Fox

 

Está ae! :D

 

Em data/npc/

Varkhal.xml

<?xml version="1.0"?>
<npc name="Varkhal" script="data/npc/scripts/addon.lua" autowalk="1" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3" />
</npc>

 

Depois data/npc/scripts/

addon.lua

------------------------------------------------------------------------
---------------- Addon NPC for Forgotten Server ------------------------
---------------- Script by originally by Lithium -----------------------
---------------------- Remade by Jiddo ---------------------------------
------------------------------------------------------------------------
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

-- OTServ event handling functions start
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
-- OTServ event handling functions end


function doPlayerGiveAddons(cid, addon)
	for x = 128, 134 do
		doPlayerAddOutfit(cid, x, addon)
	end
	for y = 143, 146 do
		doPlayerAddOutfit(cid, y, addon)
	end
	for z = 151, 154 do
		doPlayerAddOutfit(cid, z, addon)
	end
		doPlayerAddOutfit(cid, 251, addon)
	for x = 136, 142 do
		doPlayerAddOutfit(cid, x, addon)
	end
	for y = 147, 150 do
		doPlayerAddOutfit(cid, y, addon)
	end
	for z = 155, 158 do
		doPlayerAddOutfit(cid, z, addon)
	end
		doPlayerAddOutfit(cid, 252, addon)
end

function confirmBuyAddons(cid, message, keywords, parameters, node)
if(cid ~= npcHandler.focus) then
	return false
end

local addon = parameters.addon
local cost = parameters.cost
local premium = (parameters.premium ~= nil and parameters.premium ~= false)

if(isPlayerPremiumCallback == nil or isPlayerPremiumCallback(cid) == true or premium == false) then
	if doPlayerRemoveMoney(cid, cost) then
		doPlayerGiveAddons(cid, addon)
		npcHandler:say('Here you go! Enjoy your addons.')
	else
		npcHandler:say('Sorry, you do not have enough money.')
	end
else
	npcHandler:say('I only serve customers with premium accounts.')
end
keywordHandler:moveUp(1)
return true
end


local nodeFirst = keywordHandler:addKeyword({'first addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the first addon for 5000 gold coins?.'})
nodeFirst:addChildKeyword({'yes'}, confirmBuyAddons, {addon = 1, cost = 5000, premium = true})
nodeFirst:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'})

local nodeSecond = keywordHandler:addKeyword({'second addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the second addon for 10000 gold coins?.'})
nodeSecond:addChildKeyword({'yes'}, confirmBuyAddons, {addon = 2, cost = 10000, premium = true})
nodeSecond:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'})

keywordHandler:addKeyword({'addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell the first addon for 5000 gold coins and the second one for 10000 gold coins.'})


npcHandler:addModule(FocusModule:new())

 

Créditos: Lithium

 

Acho que é isso ae, não testei.

 

Abraços,

Luizim

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 1 month later...
×
×
  • Criar Novo...