Ir para conteúdo

Pergunta

Galera deu erro

 

 

[Error - Npc interface]

[01/05/2013 22:09:51] data/npc/scripts/Skjaar.lua:onCreatureSay

[01/05/2013 22:09:51] Description:

[01/05/2013 22:09:51] data/npc/scripts/Skjaar.lua:28: attempt to call global 'doSetItemActionId' (a nil value)

[01/05/2013 22:09:51] stack traceback:

[01/05/2013 22:09:51] data/npc/scripts/Skjaar.lua:28: in function 'callback'

[01/05/2013 22:09:51] data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'

[01/05/2013 22:09:51] data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'

[01/05/2013 22:09:51] data/npc/lib/npcsystem/keywordhandler.lua:122: in function 'processMessage'

[01/05/2013 22:09:51] data/npc/lib/npcsystem/npchandler.lua:380: in function 'onCreatureSay'

[01/05/2013 22:09:51] data/npc/scripts/Skjaar.lua:7: in function <data/npc/scripts/Skjaar.lua:7>

 

 

meu data/npc/scripts/Skjaar.lua

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

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 key(cid, message, keywords, parameters, node)

if(not npcHandler:isFocused(cid)) then

return false

end

 

local player_gold = getPlayerItemCount(cid,2148)

local player_plat = getPlayerItemCount(cid,2152)*100

local player_crys = getPlayerItemCount(cid,2160)*10000

local player_money = player_gold + player_plat + player_crys

 

if player_money >= 1000 then

if doPlayerRemoveMoney(cid,1000) then

npcHandler:say('Here it is.', cid)

local playerID = getPlayerGUID(cid)

local item = doPlayerAddItem(cid, 2089, 1)

doSetItemActionId(item, 3142)

end

else

npcHandler:say('You do not have enough gold.', cid)

end

end

 

node1 = keywordHandler:addKeyword({'key'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I would sell you a key for 1000 gold, ok?'})

node1:addChildKeyword({'yes'}, key, {})

node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then not.', reset = true})

 

node2 = keywordHandler:addKeyword({'mission'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I would sell you a key for 1000 gold, ok?'})

node2:addChildKeyword({'yes'}, key, {})

node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then not.', reset = true})

 

npcHandler:addModule(FocusModule:new())

 

 

meu data/npc/lib/npcsystem/keywordhandler.lua

 

-- Advanced NPC System (Created by Jiddo),

-- Modified by Talaturen.

 

if(KeywordHandler == nil) then

BEHAVIOR_SIMPLE = 1 -- Does not support nested keywords. If you choose this setting you must use a variable such as 'talkState' to keep track of how to handle keywords.

BEHAVIOR_NORMAL = 2 -- Default behvaior. If a sub-keyword is not found, then the root is searched, not the parent hierarchy,

BEHAVIOR_NORMAL_EXTENDED = 3 -- Same as BEHAVIOR_NORMAL but it also searches through the last node's parent.

BEHAVIOR_COMPLEX = 4 -- Extended behavior. It a sub-keyword is not found, then the entire keyword hierarchy is searched upwards until root is reached.

 

-- BEHAVIOR_NORMAL_EXTENDED is recommended as it (probably) mimics the behavior of real Tibia's NPCs the most.

-- However, you are strongly recommended to test some (or all) other settings as well as it might suit you better.

-- Also note that not much difference can be seen with the different settings unless you have a npc with a quite heavy

-- nestled keyword hierarchy.

-- Note: BEHAVIOR_SIMPLE should not be used unless you have any special reason to do so as it forces you to keep track of talkStates etc.

-- This was pretty much the method used in the 2.0x versions of this system. It is here mainly for compability issues.

KEYWORD_BEHAVIOR = BEHAVIOR_NORMAL_EXTENDED

 

KeywordNode = {

keywords = nil,

callback = nil,

parameters = nil,

children = nil,

parent = nil

}

 

-- Created a new keywordnode with the given keywords, callback function and parameters and without any childNodes.

function KeywordNode:new(keys, func, param)

local obj = {}

obj.keywords = keys

obj.callback = func

obj.parameters = param

obj.children = {}

setmetatable(obj, self)

self.__index = self

return obj

end

 

-- Calls the underlying callback function if it is not nil.

function KeywordNode:processMessage(cid, message)

return (self.callback == nil or self.callback(cid, message, self.keywords, self.parameters, self))

end

 

-- Returns true if message contains all patterns/strings found in keywords.

function KeywordNode:checkMessage(message)

local ret = true

if(self.keywords.callback ~= nil) then

return self.keywords.callback(self.keywords, message)

end

for i,v in ipairs(self.keywords) do

if(type(v) == 'string') then

local a, b = string.find(message, v)

if(a == nil or b == nil) then

ret = false

break

end

end

end

return ret

end

 

-- Returns the parent of this node or nil if no such node exists.

function KeywordNode:getParent()

return self.parent

end

 

-- Returns an array of the callback function parameters assosiated with this node.

function KeywordNode:getParameters()

return self.parameters

end

 

-- Returns an array of the triggering keywords assosiated with this node.

function KeywordNode:getKeywords()

return self.keywords

end

 

-- Adds a childNode to this node. Creates the childNode based on the parameters (k = keywords, c = callback, p = parameters)

function KeywordNode:addChildKeyword(keywords, callback, parameters)

local new = KeywordNode:new(keywords, callback, parameters)

return self:addChildKeywordNode(new)

end

 

-- Adds a pre-created childNode to this node. Should be used for example if several nodes should have a common child.

function KeywordNode:addChildKeywordNode(childNode)

table.insert(self.children, childNode)

childNode.parent = self

return childNode

end

 

KeywordHandler = {

root = nil,

lastNode = nil

}

 

-- Creates a new keywordhandler with an empty rootnode.

function KeywordHandler:new()

local obj = {}

obj.root = KeywordNode:new(nil, nil, nil)

setmetatable(obj, self)

self.__index = self

return obj

end

 

-- Resets the lastNode field, and this resetting the current position in the node hierarchy to root.

function KeywordHandler:reset()

self.lastNode = nil

end

 

-- Makes sure the correct childNode of lastNode gets a chance to process the message.

-- The behavior of this function depends much on the KEYWORD_BEHAVIOR.

function KeywordHandler:processMessage(cid, message)

local node = self:getLastNode()

if(node == nil) then

error('No root node found.')

return false

end

if(KEYWORD_BEHAVIOR == BEHAVIOR_SIMPLE) then

local ret = self:processNodeMessage(node, cid, message)

if(ret) then

return true

end

elseif(KEYWORD_BEHAVIOR == BEHAVIOR_NORMAL or KEYWORD_BEHAVIOR == BEHAVIOR_NORMAL_EXTENDED) then

local ret = self:processNodeMessage(node, cid, message)

if(ret) then

return true

end

if(KEYWORD_BEHAVIOR == BEHAVIOR_NORMAL_EXTENDED and node:getParent()) then

node = node:getParent() -- Search through the parent.

local ret = self:processNodeMessage(node, cid, message)

if(ret) then

return true

end

end

if(node ~= self:getRoot()) then

node = self:getRoot() -- Search through the root.

local ret = self:processNodeMessage(node, cid, message)

if(ret) then

return true

end

end

elseif(KEYWORD_BEHAVIOR == BEHAVIOR_COMPLEX) then

while true do

local ret = self:processNodeMessage(node, cid, message)

if(ret) then

return true

end

 

if(node:getParent() ~= nil) then

node = node:getParent() -- Move one step upwards in the hierarchy.

else

break

end

end

else

error('Unknown keyword behavior.')

end

return false

end

 

-- Tries to process the given message using the node parameter's children and calls the node's callback function if found.

-- Returns the childNode which processed the message or nil if no such node was found.

function KeywordHandler:processNodeMessage(node, cid, message)

local messageLower = string.lower(message)

for i, childNode in pairs(node.children) do

if(childNode:checkMessage(messageLower)) then

local oldLast = self.lastNode

self.lastNode = childNode

childNode.parent = node -- Make sure node is the parent of childNode (as one node can be parent to several nodes).

if(childNode:processMessage(cid, message)) then

return true

else

self.lastNode = oldLast

end

end

end

return false

end

 

-- Returns the root keywordnode

function KeywordHandler:getRoot()

return self.root

end

 

-- Returns the last processed keywordnode or root if no last node is found.

function KeywordHandler:getLastNode()

if(KEYWORD_BEHAVIOR == BEHAVIOR_SIMPLE) then

return self:getRoot()

else

return self.lastNode or self:getRoot()

end

end

 

-- Adds a new keyword to the root keywordnode. Returns the new node.

function KeywordHandler:addKeyword(keys, callback, parameters)

return self:getRoot():addChildKeyword(keys, callback, parameters)

end

 

-- Moves the current position in the keyword hierarchy count steps upwards. Count defalut value = 1.

-- This function MIGHT not work properly yet. Use at your own risk.

function KeywordHandler:moveUp(count)

local steps = count

if(steps == nil) then

steps = 1

end

for i = 1, steps,1 do

if(self.lastNode == nil) then

break

else

self.lastNode = self.lastNode:getParent() or self:getRoot()

end

end

return self.lastNode

end

end

 

 

 

 

meu data/npc/lib/npcsystem/npchandler.lua

 

-- Advanced NPC System (Created by Jiddo),

-- Modified by Talaturen.

 

if(NpcSystem == nil) then

-- Loads the underlying classes of the npcsystem.

dofile(getDataDir() .. 'npc/lib/npcsystem/keywordhandler.lua')

dofile(getDataDir() .. 'npc/lib/npcsystem/queue.lua')

dofile(getDataDir() .. 'npc/lib/npcsystem/npchandler.lua')

dofile(getDataDir() .. 'npc/lib/npcsystem/modules.lua')

 

-- Global npc constants:

 

-- Keyword nestling behavior. For more information look at the top of keywordhandler.lua

KEYWORD_BEHAVIOR = BEHAVIOR_NORMAL_EXTENDED

 

-- Greeting and unGreeting keywords. For more information look at the top of modules.lua

FOCUS_GREETWORDS = {'hi', 'hello', 'hey'}

FOCUS_FAREWELLWORDS = {'bye', 'farewell', 'cya'}

 

-- The word for requesting trade window. For more information look at the top of modules.lua

SHOP_TRADEREQUEST = {'offer', 'trade'}

 

-- The word for accepting/declining an offer. CAN ONLY CONTAIN ONE FIELD! For more information look at the top of modules.lua

SHOP_YESWORD = {'yes'}

SHOP_NOWORD = {'no'}

 

-- Pattern used to get the amount of an item a player wants to buy/sell.

PATTERN_COUNT = '%d+'

 

-- Talkdelay behavior. For more information, look at the top of npchandler.lua.

NPCHANDLER_TALKDELAY = TALKDELAY_ONTHINK

 

-- Conversation behavior. For more information, look at the top of npchandler.lua.

NPCHANDLER_CONVBEHAVIOR = CONVERSATION_PRIVATE

 

-- Constant strings defining the keywords to replace in the default messages.

-- For more information, look at the top of npchandler.lua...

TAG_PLAYERNAME = '|PLAYERNAME|'

TAG_ITEMCOUNT = '|ITEMCOUNT|'

TAG_TOTALCOST = '|TOTALCOST|'

TAG_ITEMNAME = '|ITEMNAME|'

TAG_QUEUESIZE = '|QUEUESIZE|'

 

NpcSystem = {}

 

-- Gets an npcparameter with the specified key. Returns nil if no such parameter is found.

function NpcSystem.getParameter(key)

local ret = getNpcParameter(tostring(key))

if((type(ret) == 'number' and ret == 0) or ret == nil) then

return nil

else

return ret

end

end

 

-- Parses all known parameters for the npc. Also parses parseable modules.

function NpcSystem.parseParameters(npcHandler)

local ret = NpcSystem.getParameter('idletime')

if(ret ~= nil) then

npcHandler.idleTime = tonumber(ret)

end

local ret = NpcSystem.getParameter('talkradius')

if(ret ~= nil) then

npcHandler.talkRadius = tonumber(ret)

end

local ret = NpcSystem.getParameter('message_greet')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_GREET, ret)

end

local ret = NpcSystem.getParameter('message_farewell')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_FAREWELL, ret)

end

local ret = NpcSystem.getParameter('message_decline')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_DECLINE, ret)

end

local ret = NpcSystem.getParameter('message_needmorespace')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_NEEDMORESPACE, ret)

end

local ret = NpcSystem.getParameter('message_needspace')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_NEEDSPACE, ret)

end

local ret = NpcSystem.getParameter('message_sendtrade')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_SENDTRADE, ret)

end

local ret = NpcSystem.getParameter('message_noshop')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_NOSHOP, ret)

end

local ret = NpcSystem.getParameter('message_oncloseshop')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_ONCLOSESHOP, ret)

end

local ret = NpcSystem.getParameter('message_onbuy')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_ONBUY, ret)

end

local ret = NpcSystem.getParameter('message_onsell')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_ONSELL, ret)

end

local ret = NpcSystem.getParameter('message_missingmoney')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_MISSINGMONEY, ret)

end

local ret = NpcSystem.getParameter('message_needmoney')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_NEEDMONEY, ret)

end

local ret = NpcSystem.getParameter('message_missingitem')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_MISSINGITEM, ret)

end

local ret = NpcSystem.getParameter('message_needitem')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_NEEDITEM, ret)

end

local ret = NpcSystem.getParameter('message_idletimeout')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_IDLETIMEOUT, ret)

end

local ret = NpcSystem.getParameter('message_walkaway')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_WALKAWAY, ret)

end

local ret = NpcSystem.getParameter('message_alreadyfocused')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_ALREADYFOCUSED, ret)

end

local ret = NpcSystem.getParameter('message_placedinqueue')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_PLACEDINQUEUE, ret)

end

local ret = NpcSystem.getParameter('message_buy')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_BUY, ret)

end

local ret = NpcSystem.getParameter('message_sell')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_SELL, ret)

end

local ret = NpcSystem.getParameter('message_bought')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_BOUGHT, ret)

end

local ret = NpcSystem.getParameter('message_sold')

if(ret ~= nil) then

npcHandler:setMessage(MESSAGE_SOLD, ret)

end

 

-- Parse modules.

for parameter, module in pairs(Modules.parseableModules) do

local ret = NpcSystem.getParameter(parameter)

if(ret ~= nil) then

local number = tonumber(ret)

if(number ~= 0 and module.parseParameters ~= nil) then

local instance = module:new()

npcHandler:addModule(instance)

instance:parseParameters()

end

end

end

end

end

 

 

 

 

 

[01/05/2013 20:21:33] [Error - Action Interface]

[01/05/2013 20:21:33] data/actions/scripts/demonoak.lua:onUse

[01/05/2013 20:21:33] Description:

[01/05/2013 20:21:33] (luaDoRemoveItem) Item not found

 

[01/05/2013 20:21:35] [Error - Action Interface]

[01/05/2013 20:21:35] data/actions/scripts/demonoak.lua:onUse

[01/05/2013 20:21:35] Description:

[01/05/2013 20:21:35] (luaDoRemoveItem) Item not found

 

[01/05/2013 20:21:44] [Error - Action Interface]

[01/05/2013 20:21:44] data/actions/scripts/demonoak.lua:onUse

[01/05/2013 20:21:44] Description:

[01/05/2013 20:21:44] (luaDoRemoveItem) Item not found

 

meu data/actions/scripts/demonoak.lua

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

treepos = {x=992, y=1029, z=7, stackpos=1}

treepos2 = {x=990, y=1036, z=7, stackpos=1} --- position of left arm

treepos3 = {x=992, y=1034, z=7, stackpos=1} --- position of crow

treepos4 = {x=992, y=1037, z=7, stackpos=1} --- position of mouth

monster1 = {x=992, y=1031, z=7}

monster2 = {x=997, y=1036, z=7}

monster3 = {x=992, y=1041, z=7}

monster4 = {x=988, y=1036, z=7}

tree = getThingfromPos(treepos).uid

tree2 = getThingfromPos(treepos2).uid

tree3 = getThingfromPos(treepos3).uid

tree4 = getThingfromPos(treepos4).uid

playerPos = getCreaturePosition(cid)

local randomizer = math.random(1,6)

queststatus = getPlayerStorageValue(cid,8181)

queststatus2 = getPlayerStorageValue(cid,8282)

queststatus3 = getPlayerStorageValue(cid,8383)

queststatus4 = getPlayerStorageValue(cid,8484)

Level = getPlayerLevel(cid)

 

if itemEx.itemid == 2709 and itemEx.actionid == 7787 and Level >= 130 then

doRemoveItem(tree)

doTeleportThing(cid, toPosition, TRUE)

setPlayerStorageValue(cid,8181,1)

else

doSendMagicEffect(toPosition, CONST_ME_POFF)

end

if itemEx.itemid == 2709 and itemEx.actionid == 7788 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "A player is already doing this quest.")

end

if itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer == 1) and queststatus == 1 then

doSummonCreature("Demon", monster1)

doSummonCreature("Crypt Shambler", monster2)

doSummonCreature("Grim Reaper", monster3)

doSummonCreature("Undead Dragon", monster4)

elseif itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer == 2) and queststatus == 1 then

doSummonCreature("Demon", monster1)

doSummonCreature("Braindeath", monster2)

doSummonCreature("Demon", monster3)

doSummonCreature("Bone Beast", monster4)

elseif itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer == 3) and queststatus == 1 then

doSummonCreature("Orshabaal", monster1)

setPlayerStorageValue(cid,8181,-1)

setPlayerStorageValue(cid,8282,1)

elseif itemEx.itemid == 8289 and itemEx.actionid == 8181 and (randomizer >= 4) and queststatus == 1 then

doSendMagicEffect(playerPos, 45)

doCreatureAddHealth(cid, -1000)

doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)

end

if itemEx.itemid == 8289 and itemEx.actionid == 8181 and queststatus == -1 then

doSendMagicEffect(toPosition, CONST_ME_POFF)

end

if itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer == 1) and queststatus2 == 1 then

doSummonCreature("Demon", monster1)

doSummonCreature("Juggernaut", monster2)

doSummonCreature("Behemoth", monster3)

doSummonCreature("Crypt Shambler", monster4)

elseif itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer == 2) and queststatus2 == 1 then

doSummonCreature("Giant Spider", monster1)

doSummonCreature("Giant Spider", monster4)

elseif itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer == 3) and queststatus2 == 1 then

doSummonCreature("Blightwalker", monster1)

setPlayerStorageValue(cid,8282,-1)

setPlayerStorageValue(cid,8383,1)

elseif itemEx.itemid == 8288 and itemEx.actionid == 8282 and (randomizer >= 4) and queststatus2 == 1 then

doSendMagicEffect(playerPos, 45)

doCreatureAddHealth(cid, -1000)

doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)

end

if itemEx.itemid == 8288 and itemEx.actionid == 8282 and queststatus2 == -1 then

doSendMagicEffect(toPosition, CONST_ME_POFF)

end

if itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer == 1) and queststatus3 == 1 then

doSummonCreature("Demon", monster1)

doSummonCreature("Demon", monster2)

doSummonCreature("Demon", monster3)

doSummonCreature("Demon", monster4)

elseif itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer == 2) and queststatus3 == 1 then

doSummonCreature("Undead Dragon", monster1)

doSummonCreature("Lich", monster2)

doSummonCreature("Demon", monster3)

doSummonCreature("Massacre", monster4)

elseif itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer == 3) and queststatus3 == 1 then

doSummonCreature("Plaguesmith", monster1)

setPlayerStorageValue(cid,8383,-1)

setPlayerStorageValue(cid,8484,1)

elseif itemEx.itemid == 8290 and itemEx.actionid == 8383 and (randomizer >= 4) and queststatus3 == 1 then

doSendMagicEffect(playerPos, 45)

doCreatureAddHealth(cid, -1000)

doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)

end

if itemEx.itemid == 8290 and itemEx.actionid == 8383 and queststatus3 == -1 then

doSendMagicEffect(toPosition, CONST_ME_POFF)

end

if itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer == 1) and queststatus4 == 1 then

doSummonCreature("Hellgorak", monster1)

doSummonCreature("Demon", monster2)

doSummonCreature("Juggernaut", monster3)

doSummonCreature("Grim Reaper", monster4)

elseif itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer == 2) and queststatus4 == 1 then

doSummonCreature("Grim Reaper", monster1)

doSummonCreature("Demon", monster2)

doSummonCreature("Braindeath", monster2)

doSummonCreature("Giant Spider", monster3)

elseif itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer == 3) and queststatus4 == 1 then

doSummonCreature("Ghazbaran", monster1)

doSummonCreature("Juggernaut", monster2)

setPlayerStorageValue(cid,8484,-1)

setPlayerStorageValue(cid,8585,1)

elseif itemEx.itemid == 8291 and itemEx.actionid == 8484 and (randomizer >= 4) and queststatus4 == 1 then

doSendMagicEffect(playerPos, 45)

doCreatureAddHealth(cid, -1000)

doSendAnimatedText(playerPos, '1000', TEXTCOLOR_LIGHTGREEN)

end

if itemEx.itemid == 8291 and itemEx.actionid == 8484 and queststatus4 == -1 then

doSendMagicEffect(toPosition, CONST_ME_POFF)

end

end

 

Link para o comentário
https://xtibia.com/forum/topic/213526-erro-varias-coisas/
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

×
×
  • Criar Novo...