What's new

NPC. Gdzie b??d ?

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:
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())
Aha. Wiem ,?e funkcja
Code:
openShopWindow(cid, itemWindow, onBuy, onSell)
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?.
 

Dedeq

User
Joined
Apr 15, 2008
Messages
15
Reaction score
0
Odp: NPC. Gdzie b??d ?

Refresh.
Aha u?ywam TFS 0.3.5 (CD)
 
Top