• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Lua Help with NPC..

Gothric

New Member
Joined
Feb 6, 2010
Messages
264
Reaction score
1
I am writting npc which will doTeleport Player to xxxx place if player has storage xxxx?

PHP:
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)
        if(not npcHandler:isFocused(cid)) then
                return false
        end
		local temple = {x=896, y=992, y=7}
        local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
		if(msgcontains(msg, 'travel') or msgcontains(msg, 'offer')) then
                selfSay('I can take you to {Temple} if you have done arena quest.', cid)
		end
        if(msgcontains(msg, 'temple') or msgcontains(msg, 'temple')) then
                selfSay('Do you want to travel to temple?', cid)
                talkState[talkUser] = 1
        elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
                if getPlayerStorageValue(cid, 7052) == 21 then
					doTeleportThing(cid, temple)
					doSendMagicEffect(temple, 10)
                    selfSay('Here you are.', cid)
                else
                    selfSay('Sorry, have not done arena quest.', cid)
					doTeleportThing(cid, temple)
					doSendMagicEffect(temple, 10)
                end
                talkState[talkUser] = 0
        elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
                talkState[talkUser] = 0
                selfSay('Then stay here..', cid)
				doTeleportThing(cid, temple)
				doSendMagicEffect(temple, 10)
        end

        return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

but it doesnt teleport player :/ i dont know why help me
 
LUA:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local Topic = {}
local temple = {x=896, y=992, z=7}

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)
	if not npcHandler:isFocused(cid) then
		return false
	elseif msgcontains(msg, 'travel') or msgcontains(msg, 'offer') then
		selfSay('I can take you to {Temple} if you have done arena quest.', cid)
		Topic[cid] = nil
	elseif msgcontains(msg, 'temple') then
		selfSay('Do you want to travel to temple?', cid)
		Topic[cid] = 1
	elseif Topic[cid] == 1 then
		if msgcontains(msg, 'yes') then
			if getPlayerStorageValue(cid, 7052) == 21 then
				selfSay('Here you are.', cid)
				npcHandler:releaseFocus(cid)
				doTeleportThing(cid, temple)
				doSendMagicEffect(temple, 10)
			else
				selfSay('Sorry, have not done arena quest.', cid)
			end
		else
			selfSay('Then stay here..', cid)
		end
		Topic[cid] = nil
	end

	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
cyko is putterbot


crabfu_putter_bot.jpg
 
Back
Top