What's new

NPC Travel System by NPC Trade

Status
Not open for further replies.

Dantez

Moim sekretem jest ciasto
Joined
May 22, 2008
Messages
1,206
Reaction score
202
Author: Dantez
Platform: The Forgotten Server 0.3.6pl1

tradey.png

npc/name.xml
[XML]<?xml version="1.0" encoding="UTF-8"?>
<npc name="Captain Jack" script="travel.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150"/>
<look type="96" head="78" body="115" legs="118" feet="39" corpse="2212"/>
<parameters>
<parameter key="message_greet" value="Arr |PLAYERNAME|. Maybe you want {travel} somewhere?"/>
</parameters>
</npc>[/XML]

npc/scripts/travel.lua
[LUA]
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
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 greetCallback(cid)
talkState[talkUser] = 0
return true
end
function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if(not npcHandler:isFocused(cid)) then
return false
end
local trade = {
-- Kazde id musi by? inne! buy - cena; pos - pozycja, na kt?r? nas wysy?a; name - nazwa miasta
{id=2113, buy=230, pos={x=1000, y=1010, z=7}, name="Thais"},
{id=2180, buy=160, pos={x=1005, y=1009, z=7}, name="Lazienka iSanto"},
}
local items = {}
for _, item in ipairs(trade) do
items[item.id] = {pos = item.pos, item_id = item.id, buyPrice = item.buy, subType = 0, realName = item.name}
end
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
doPlayerRemoveMoney(cid, items[item].buyPrice)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE , "You have travelled to "..items[item].realName..".")
doTeleportThing(cid, items[item].pos)
doSendMagicEffect(getCreaturePosition(cid), 29)
end
if msgcontains(msg, 'travel') or msgcontains(msg, 'passage') then
openShopWindow(cid, trade, onBuy, onSell)
selfSay("Where do you want go?", cid)
end
return true
end
npcHandler:setMessage(MESSAGE_WALKAWAY, "See you soon!")
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())[/LUA]
Co do dodawania nowych miast - KA?DE ID MUSI BY? INNE!
 

OldTejdi

Senior User
Joined
Jul 18, 2008
Messages
537
Reaction score
49
Odp: Travel System by NPC Trade

Wed?ug mnie skrypt ma?o przydatny gdy? mamy Kapitan?w ;].
Aczkolwiek schludnie wykonane, brak niepotrzebnych p?tli (wed?ug mnie), nie powinien sprawia? problem?w.
Ocena 5/10
Dlaczego tak ma?o?
Wed?ug mnie to du?o, bo skrypt ma?o przydatny, a a? 5 poniewa? Koffam Danteza XD
 

arkantos17

New User
Joined
Apr 17, 2012
Messages
1
Reaction score
0
Odp: Travel System by NPC Trade

mi si? bardzo podoba, raczej u?yj? w swoim ots, dzi?ki
 

Arkam

Forum friend
Joined
Dec 20, 2008
Messages
1,980
Reaction score
180
Odp: Travel System by NPC Trade

Zajebisty jestes wiesz? Reput ;>
 

Dantez

Moim sekretem jest ciasto
Joined
May 22, 2008
Messages
1,206
Reaction score
202
Odp: Travel System by NPC Trade

Wiem ;>
 

triedge

Advanced User
Joined
Sep 8, 2009
Messages
341
Reaction score
21
Age
31
Odp: Travel System by NPC Trade

I skromny te? ;D
dobra a tak apropos, zadzia?a na 8.6 my?l?, i czy to dzia?a na zasadzie klikasz na Thais, ok i lecisz, czy kupuje ci item?
jezeli odrazu po naci?ni?ciu ok lecisz, to mo?e zablokowa? mo?liwo?? zmiany ilo?ci, bo z tego co widz? mo?esz zmieni? ilo?? ;p
 

Dantez

Moim sekretem jest ciasto
Joined
May 22, 2008
Messages
1,206
Reaction score
202
Odp: Travel System by NPC Trade

I skromny te? ;D
dobra a tak apropos, zadzia?a na 8.6 my?l?, i czy to dzia?a na zasadzie klikasz na Thais, ok i lecisz, czy kupuje ci item?
jezeli odrazu po naci?ni?ciu ok lecisz, to mo?e zablokowa? mo?liwo?? zmiany ilo?ci, bo z tego co widz? mo?esz zmieni? ilo?? ;p

Klikasz i teleportuje. Zmiana ilo?ci nie wp?ywa na cen?.
 

triedge

Advanced User
Joined
Sep 8, 2009
Messages
341
Reaction score
21
Age
31
Odp: Travel System by NPC Trade

domy?lam si? ?e nie zmienia to ceny, ale fakt, faktem, przyjmniej si? 'pacza' gdy ilo?? jest 1 ;] niezmienna, do tego OTClient kt?ry ma trade na ca?ym ekranie i bomba skrypt. ;) Jeste? wielki Dan~.
 

SanninStory

https://www.twitch.tv/sdrn
Joined
Oct 13, 2012
Messages
1,778
Reaction score
119
Odp: Travel System by NPC Trade

Skrypt wydaje si? by? du?ym urozmaiceniem dla serwer?w.
Taka opcja jest o wiele ciekawsza i interaktywna ni? hi>thais>yes.

Pozdrawiam i napadywuje repem.
 

triedge

Advanced User
Joined
Sep 8, 2009
Messages
341
Reaction score
21
Age
31
Odp: Travel System by NPC Trade

Skrypt wydaje si? by? du?ym urozmaiceniem dla serwer?w.
Taka opcja jest o wiele ciekawsza i interaktywna ni? hi>thais>yes.

Pozdrawiam i napadywuje repem.

Yup, a dodaj do tego otclienta, widzia?e? jaki tam system jest handlowania? ca?y ekran jak na prawdziwym MMO, i to ju? jest mega urozmaicenie, jeszcze zrobi? itemki z Nazwami miast, etc. o meeega ;D

@Edit
chyba co? Zdupcy?em ;D


Can help me everyone? :>
 
Last edited:

SanninStory

https://www.twitch.tv/sdrn
Joined
Oct 13, 2012
Messages
1,778
Reaction score
119
Odp: Travel System by NPC Trade

@UP,
Spr?buj z tym NPC Systemem:


Pozdrawiam.
 

triedge

Advanced User
Joined
Sep 8, 2009
Messages
341
Reaction score
21
Age
31
Odp: Travel System by NPC Trade

Dobra to naprawione, dzi?ku UP.

NPC bierze kase ale nie przenosi ;D hehe Dowcipni?.
8.6 0.4 bug?
 

Dantez

Moim sekretem jest ciasto
Joined
May 22, 2008
Messages
1,206
Reaction score
202
Odp: Travel System by NPC Trade

Zapewne nie mo?e przenie?? na dane position (?ciana czy cu?)
 

triedge

Advanced User
Joined
Sep 8, 2009
Messages
341
Reaction score
21
Age
31
Odp: Travel System by NPC Trade

w?a?nie mi u?wiadomi?e? ?e nie zmieni?em <x,y,z> :>
 

alentari

User
Joined
Nov 9, 2008
Messages
31
Reaction score
1
Odp: Travel System by NPC Trade

a da rad? to zrobi? tylko dla pacc ?
 
Last edited:

Dantez

Moim sekretem jest ciasto
Joined
May 22, 2008
Messages
1,206
Reaction score
202
Odp: Travel System by NPC Trade

[LUA]local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
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 greetCallback(cid)
talkState[talkUser] = 0
return true
end

function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if(not npcHandler:isFocused(cid)) then
return false
end

local trade = {
-- Kazde id musi by? inne! buy - cena; pos - pozycja, na kt?r? nas wysy?a; name - nazwa miasta
{id=2113, buy=230, pos={x=1000, y=1010, z=7}, name="Thais"},
{id=2180, buy=160, pos={x=1005, y=1009, z=7}, name="Lazienka iSanto"},
}

local items = {}

for _, item in ipairs(trade) do
items[item.id] = {pos = item.pos, item_id = item.id, buyPrice = item.buy, subType = 0, realName = item.name}
end

local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
doPlayerRemoveMoney(cid, items[item].buyPrice)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE , "You have travelled to "..items[item].realName..".")
doTeleportThing(cid, items[item].pos)
doSendMagicEffect(getCreaturePosition(cid), 29)
end

if msgcontains(msg, 'travel') or msgcontains(msg, 'passage') then
if(isPremium(cid)) then
openShopWindow(cid, trade, onBuy, onSell)
selfSay("Where do you want go?", cid)
else
selfSay("You need premium to sail that bloody boat!", cid)
end
end

return true
end

npcHandler:setMessage(MESSAGE_WALKAWAY, "See you soon!")
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())[/LUA]
 
Status
Not open for further replies.
Top