Dedeq
User
- Joined
- Apr 15, 2008
- Messages
- 15
- Reaction score
- 0
Witam wszystkich!
Nasz?o mnie dzisiaj na rozpocz?cie prac nad npc. Wcze?niej w og?le si? tym nie interesowa?em (od czas?w 7.6). Z tego co widz? wiele si? zmieni?o. Przejd?my do rzeczy. Zrobi?em npc, kt?ry sprzedaje papier oraz zleca misj? dzi?ki kt?rej mo?emy dosta? si? na wysp?. Na pocz?tku wszystko ?adnie ?miga do puki nie powiem "wst?p" wtedy skrypt si? zatrzymuje. Nie wywala ?adnego b??du w konsoli a ja nie mog? si? takowego dopatrze? w skrypcie. Prosi?bym o pomoc kogo? zaznajomionego z tym.
Skrypt:
Aha. Wiem ,?e funkcja
nie zadzia?a do puki nie zrobi? tablicy z itemkami ale tym si? nie przejmujcie. Chodzi mi tylko o t? felern? rozmow?. Z reszt? sobie radz?.
Prosz? o szybk? pomoc.
Z g?ry dzi?kuj?.
Nasz?o mnie dzisiaj na rozpocz?cie prac nad npc. Wcze?niej w og?le si? tym nie interesowa?em (od czas?w 7.6). Z tego co widz? wiele si? zmieni?o. Przejd?my do rzeczy. Zrobi?em npc, kt?ry sprzedaje papier oraz zleca misj? dzi?ki kt?rej mo?emy dosta? si? na wysp?. Na pocz?tku wszystko ?adnie ?miga do puki nie powiem "wst?p" wtedy skrypt si? zatrzymuje. Nie wywala ?adnego b??du w konsoli a ja nie mog? si? takowego dopatrze? w skrypcie. Prosi?bym o pomoc kogo? zaznajomionego z tym.
Skrypt:
Code:
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)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local storage = 125689
local getstorage = getPlayerStorageValue(cid, storage)
local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
shopModule:addBuyableItem({'blank paper', 'blank paper'}, 1947, 10, 1, 'blank paper')
shopModule:addBuyableItem({'parchment', 'parchment'}, 1948, 15, 1, 'parchment')
npcHandler:addModule(FocusModule:new())
function onCreatureSay(cid, type, msg)
if((msg == "papier" or msg == "trade")) then
selfSay("Calkiem niezly moim zdaniem.", cid)
openShopWindow(cid, itemWindow, onBuy, onSell)
end
end
if msgcontains(msg, 'wyspa') then
npcHandler:say("Ano bronie wyspy. Chcialbys miec tam {wstep}?", cid)
if msgcontains(msg, 'wstep') and getstorage < 1 then
npcHandler:say("Musisz przyniesc mi moja stara ksiege. Popytaj ludzi w miescie beda cos wiedzieli.", cid)
setPlayerStorageValue(cid, storage, 1)
elseif(getstorage == 1) then
npcHandler:say("Przyniosles ksiege?", cid)
talkState[talkUser] = 1
elseif(getstorage == 2) then
npcHandler:say("Masz juz dostep na wyspe.", cid)
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(doPlayerRemoveItem(cid, 1955, 1) == TRUE) then
npcHandler:say("Dzieki! Tego mi brakowalo. Oczywiscie mozesz teraz odwiedzac wyspe.", cid)
setPlayerStorageValue(cid, storage, 2)
talkState[talkUser] = 0
else
npcHandler:say("Nie masz mojej ksiegi. Wroc jak bedziesz ja mial.", cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'no') and talkState[talkUser] > 0) then
npcHandler:say("To nie...", cid)
talkState[talkUser] = 0
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Code:
openShopWindow(cid, itemWindow, onBuy, onSell)
Prosz? o szybk? pomoc.
Z g?ry dzi?kuj?.