• 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 NPC's doesnt reply. Help! Hurry

DestinationSer

@echo off
Joined
Mar 7, 2009
Messages
2,806
Solutions
1
Reaction score
676
Heres one of my NPC's Script. DO you see anything wrong?
Please, you gotta hurry. This is very important.
Code:
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

local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 10000 gold coins. Do you want me to promote you?'})
  node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 10000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})
  node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})

local node2 = keywordHandler:addKeyword({'epic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can epicize you for 10000000 gold coins. Do you want me to epicize you?'})
  node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 10000000, level = 1, promotion = 2, text = 'Congratulations! You are now epicized.'})
  node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})

npcHandler:addModule(FocusModule:new())
 
Heres some of the errors in console.

Code:
[11:58:56.734] [Error - NpcScript Interface] 
[11:58:56.734] data/npc/scripts/addons.lua:onCreatureSay
[11:58:56.734] Description: 
[11:58:56.734] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[11:58:56.734] stack traceback:
[11:58:56.734] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[11:58:56.734] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[11:58:56.734] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[11:58:56.734] [Error - NpcScript Interface] 
[11:58:56.734] data/npc/scripts/furniture.lua:onCreatureSay
[11:58:56.734] Description: 
[11:58:56.734] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[11:58:56.734] stack traceback:
[11:58:56.734] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[11:58:56.734] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[11:58:56.734] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[11:59:06.025] [Error - NpcScript Interface] 
[11:59:06.025] data/npc/scripts/addons.lua:onCreatureSay
[11:59:06.025] Description: 
[11:59:06.025] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[11:59:06.025] stack traceback:
[11:59:06.025] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[11:59:06.025] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[11:59:06.025] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[11:59:06.025] [Error - NpcScript Interface] 
[11:59:06.025] data/npc/scripts/furniture.lua:onCreatureSay
[11:59:06.025] Description: 
[11:59:06.025] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[11:59:06.025] stack traceback:
[11:59:06.025] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[11:59:06.025] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[11:59:06.025] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[11:59:07.910] [Error - NpcScript Interface] 
[11:59:07.910] data/npc/scripts/addons.lua:onCreatureSay
[11:59:07.910] Description: 
[11:59:07.910] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[11:59:07.910] stack traceback:
[11:59:07.910] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[11:59:07.910] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[11:59:07.910] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[11:59:07.910] [Error - NpcScript Interface] 
[11:59:07.910] data/npc/scripts/furniture.lua:onCreatureSay
[11:59:07.910] Description: 
[11:59:07.910] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[11:59:07.910] stack traceback:
[11:59:07.910] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[11:59:07.910] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[11:59:07.910] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>
> Broadcasted message: "Game map cleaning within 30 seconds, please pick up your items!".
[12:0:11.470] > Loading shield.xml... done.
[12:0:11.471] > Loading Beginner Items.xml... done.
[12:0:11.471] > Loading Military Ranks.xml... done, but disabled.
[12:0:11.471] > Loading Skull Remover.xml... done.
[12:0:11.471] > 4 mods were loaded (1 disabled).

[12:0:12.172] [Error - NpcScript Interface] 
[12:0:12.172] data/npc/scripts/addons.lua:onCreatureSay
[12:0:12.172] Description: 
[12:0:12.172] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:12.172] stack traceback:
[12:0:12.172] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:12.172] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:12.172] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:12.172] [Error - NpcScript Interface] 
[12:0:12.172] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:12.172] Description: 
[12:0:12.172] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:12.172] stack traceback:
[12:0:12.172] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:12.172] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:12.172] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:13.832] [Error - NpcScript Interface] 
[12:0:13.832] data/npc/scripts/addons.lua:onCreatureSay
[12:0:13.832] Description: 
[12:0:13.832] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:13.832] stack traceback:
[12:0:13.832] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:13.832] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:13.832] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:13.832] [Error - NpcScript Interface] 
[12:0:13.832] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:13.832] Description: 
[12:0:13.832] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:13.832] stack traceback:
[12:0:13.832] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:13.832] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:13.832] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:14.367] [Error - NpcScript Interface] 
[12:0:14.367] data/npc/scripts/addons.lua:onCreatureSay
[12:0:14.367] Description: 
[12:0:14.367] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:14.367] stack traceback:
[12:0:14.367] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:14.367] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:14.367] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:14.367] [Error - NpcScript Interface] 
[12:0:14.367] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:14.367] Description: 
[12:0:14.367] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:14.367] stack traceback:
[12:0:14.367] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:14.367] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:14.367] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:14.713] [Error - NpcScript Interface] 
[12:0:14.713] data/npc/scripts/addons.lua:onCreatureSay
[12:0:14.713] Description: 
[12:0:14.713] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:14.713] stack traceback:
[12:0:14.713] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:14.713] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:14.713] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:14.713] [Error - NpcScript Interface] 
[12:0:14.713] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:14.713] Description: 
[12:0:14.713] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:14.713] stack traceback:
[12:0:14.713] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:14.713] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:14.713] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:15.032] [Error - NpcScript Interface] 
[12:0:15.032] data/npc/scripts/addons.lua:onCreatureSay
[12:0:15.032] Description: 
[12:0:15.032] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:15.032] stack traceback:
[12:0:15.032] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:15.032] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:15.032] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:15.032] [Error - NpcScript Interface] 
[12:0:15.032] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:15.032] Description: 
[12:0:15.032] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:15.032] stack traceback:
[12:0:15.032] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:15.032] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:15.032] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:15.377] [Error - NpcScript Interface] 
[12:0:15.377] data/npc/scripts/addons.lua:onCreatureSay
[12:0:15.377] Description: 
[12:0:15.377] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:15.377] stack traceback:
[12:0:15.377] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:15.377] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:15.377] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:15.377] [Error - NpcScript Interface] 
[12:0:15.377] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:15.377] Description: 
[12:0:15.377] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:15.377] stack traceback:
[12:0:15.377] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:15.377] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:15.377] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:16.275] [Error - NpcScript Interface] 
[12:0:16.275] data/npc/scripts/addons.lua:onCreatureSay
[12:0:16.275] Description: 
[12:0:16.275] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:16.275] stack traceback:
[12:0:16.275] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:16.275] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:16.275] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:16.275] [Error - NpcScript Interface] 
[12:0:16.275] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:16.275] Description: 
[12:0:16.275] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:16.275] stack traceback:
[12:0:16.275] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:16.275] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:16.275] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:17.680] [Error - NpcScript Interface] 
[12:0:17.680] data/npc/scripts/addons.lua:onCreatureSay
[12:0:17.680] Description: 
[12:0:17.680] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:17.680] stack traceback:
[12:0:17.680] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:17.680] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:17.680] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:17.680] [Error - NpcScript Interface] 
[12:0:17.680] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:17.680] Description: 
[12:0:17.680] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:17.680] stack traceback:
[12:0:17.680] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:17.680] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:17.680] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>

[12:0:18.086] [Error - NpcScript Interface] 
[12:0:18.086] data/npc/scripts/addons.lua:onCreatureSay
[12:0:18.086] Description: 
[12:0:18.086] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:18.086] stack traceback:
[12:0:18.086] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:18.086] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:18.086] 	data/npc/scripts/addons.lua:7: in function <data/npc/scripts/addons.lua:7>

[12:0:18.086] [Error - NpcScript Interface] 
[12:0:18.086] data/npc/scripts/furniture.lua:onCreatureSay
[12:0:18.086] Description: 
[12:0:18.086] data/npc/lib/npcsystem/npchandler.lua:558: attempt to call global 'getDistanceTo' (a nil value)
[12:0:18.086] stack traceback:
[12:0:18.086] 	data/npc/lib/npcsystem/npchandler.lua:558: in function 'isInRange'
[12:0:18.086] 	data/npc/lib/npcsystem/npchandler.lua:381: in function 'onCreatureSay'
[12:0:18.086] 	data/npc/scripts/furniture.lua:7: in function <data/npc/scripts/furniture.lua:7>
[12:0:21.889] > CLEAN: Removed 15 items from 27 tiles (27 were marked) in 0 seconds.
 
Go npchandler.lua and replace this:

Code:
	function NpcHandler:isInRange(cid)
		local distance = isPlayer(cid) == TRUE and getDistanceTo(cid) or -1
		if distance == -1 then
			return false
		end

		return (distance <= self.talkRadius)
	end

by this:

Code:
	function NpcHandler:isInRange(cid)
		local playerPos = getPlayerPosition(cid)
		if playerPos == LUA_ERROR or playerPos == LUA_NO_ERROR then
			return false
		end
		
		local sx, sy, sz = selfGetPosition()
		local dx = math.abs(sx-playerPos.x)
		local dy = math.abs(sy-playerPos.y)
		local dz = math.abs(sz-playerPos.z)
		
		local dist = (dx^2 + dy^2)^0.5
		
		return (dist <= self.talkRadius and dz == 0)
	end

It's older version of this function i hope it works.
 
I found it but the replace didnt work

The one that makes it work for me will be payed 10 Euro by paypal on gift as soon as i get it by donates on my server :p And im the man to keep my words.

i had the same problem, i just changed my init file and it works xD
Can you send me your "init" file or w/e it is so i can fix this problem?
 
Last edited by a moderator:
Back
Top