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

NPC. Gdzie b??d ?

Dedeq

User
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:
Kod:
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
Kod:
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?.
 

Our partners and their custom servers:

Back
Do góry Bottom