• logo_cipsoft
    Nowe serwery zostały otwarte 27 Paź 2025:
    Idyllia (Optional PvP) Hostera (Open PvP) us_logo Dracobra (Open PvP)

NPC Travel System by NPC Trade

Status
Zamknięty.

Dantez

Moim sekretem jest ciasto
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: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 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!
 

Our partners and their custom servers:

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
 
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
 
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?.
 
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~.
 
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.
 
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? :>
 
Ostatnia edycja:
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?
 
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: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 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
Zamknięty.
Back
Do góry Bottom