• 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 Need a little modification in this script.

darknelson

Member
Joined
Jun 19, 2011
Messages
190
Solutions
1
Reaction score
15
Hi i gonna use this train system en my ot server. here is the code


Code:
function onStepIn(cid, item, pos, fromPos)
	local t = {
		[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
		[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x+1, y=pos.y-1, z=pos.z}},
		[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
		[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y+1, z=pos.z}}
	}
	local v = t[item.uid]
	if v then
		doSummonCreature('training monk', v[1])
		doSummonCreature('training monk', v[2])
		doSendMagicEffect(v[1],CONST_ME_TELEPORT)
		doSendMagicEffect(v[2],CONST_ME_TELEPORT)
	end
end
 
function onStepOut(cid, item, pos)
	local t = {
		[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253}}
	}
	local v = t[item.uid]
	if v then
		doRemoveCreature(getThingfromPos(v[1]).uid)
		doRemoveCreature(getThingFromPos(v[2]).uid)
		doSendMagicEffect(v[1],CONST_ME_POFF)
		doSendMagicEffect(v[2],CONST_ME_POFF)
		end
end


This script work like this:
YouTube - ‪New Training System! OTServ‬‏


Anyway i need when u are in the sqm and monks appear, remove 1k of money and at 30 minutes, dissapear. understand? please is somebody can help, that would be easy.ç


Original Post: http://otland.net/f81/training-system-110671/
 
LUA:
function doRemoveMonk(cid)
doRemoveCreature(cid)
end

local cash = 1000-- Remove amount of GP
local time = 30-- Time in minutes for the summons to remain..

function onStepIn(cid, item, pos, fromPos)
	local t = {
		[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
		[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x+1, y=pos.y-1, z=pos.z}},
		[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
		[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y+1, z=pos.z}}
	}
	local v = t[item.uid]
        if(doPlayerRemoveMoney(cid, cash) then
        else
        return true
        end
	if v then
		doSummonCreature('training monk', v[1])
		doSummonCreature('training monk', v[2])
		doSendMagicEffect(v[1],CONST_ME_TELEPORT)
		doSendMagicEffect(v[2],CONST_ME_TELEPORT)
                local rE = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[1]).uid)
                local rE2 = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[2]).uid)
	end
end
 
function onStepOut(cid, item, pos)
	local t = {
		[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253}}
	}
	local v = t[item.uid]
	if v then
		doRemoveCreature(getThingfromPos(v[1]).uid)
		doRemoveCreature(getThingFromPos(v[2]).uid)
		doSendMagicEffect(v[1],CONST_ME_POFF)
		doSendMagicEffect(v[2],CONST_ME_POFF)
                stopEvent(rE)
                stopEvent(rE2)
		end
end

That should work ;)
 
function doRemoveMonk(cid)
doRemoveCreature(cid)
end

local cash = 1000-- Remove amount of GP
local time = 30-- Time in minutes for the summons to remain..

function onStepIn(cid, item, pos, fromPos)
local t = {
[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x+1, y=pos.y-1, z=pos.z}},
[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y+1, z=pos.z}}
}
local v = t[item.uid]
if(doPlayerRemoveMoney(cid, cash) then
else
return true
end
if v then
doSummonCreature('training monk', v[1]),
doSummonCreature('training monk', v[2])
doSendMagicEffect(v[1],CONST_ME_TELEPORT),
doSendMagicEffect(v[2],CONST_ME_TELEPORT)
local rE = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[1]).uid),
local rE2 = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[2]).uid)
end
end

function onStepOut(cid, item, pos)
local t = {
[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253}},
[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253}}
}
local v = t[item.uid]
if v then
doRemoveCreature(getThingfromPos(v[1]).uid),
doRemoveCreature(getThingFromPos(v[2]).uid)
doSendMagicEffect(v[1],CONST_ME_POFF),
doSendMagicEffect(v[2],CONST_ME_POFF)
stopEvent(rE)
stopEvent(rE2)
end
end

Im not sure but you can test it :D
 
This is working for everybody want to use this:

function doRemoveMonk(cid)
doRemoveCreature(cid)
end

local cash = 1000-- Remove amount of GP
local time = 30-- Time in minutes for the summons to remain..

function onStepIn(cid, item, pos, fromPos)
local t = {
[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x+1, y=pos.y-1, z=pos.z}},
[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y+1, z=pos.z}}
}
local v = t[item.uid]
if(doPlayerRemoveMoney(cid, cash) then
else
return true
end
if v then
doSummonCreature('training monk', v[1])
doSummonCreature('training monk', v[2])
doSendMagicEffect(v[1],CONST_ME_TELEPORT)
doSendMagicEffect(v[2],CONST_ME_TELEPORT)
local rE = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[1]).uid)
local rE2 = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[2]).uid)
end
end

function onStepOut(cid, item, pos)
local t = {
[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253}},
[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253}}
}
local v = t[item.uid]
if v then
doRemoveCreature(getThingfromPos(v[1]).uid)
doRemoveCreature(getThingFromPos(v[2]).uid)
doSendMagicEffect(v[1],CONST_ME_POFF)
doSendMagicEffect(v[2],CONST_ME_POFF)
stopEvent(rE)
stopEvent(rE2)
end
end
 
Sorry forgot to add a ) on the if function :( here u go :ninja:
LUA:
function doRemoveMonk(cid)
doRemoveCreature(cid)
end
 
local cash = 1000-- Remove amount of GP
local time = 30-- Time in minutes for the summons to remain..
 
function onStepIn(cid, item, pos, fromPos)
	local t = {
		[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
		[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x+1, y=pos.y-1, z=pos.z}},
		[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z},{x=pos.x-1, y=pos.y-1, z=pos.z}},
		[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z},{x=pos.x-1, y=pos.y+1, z=pos.z}}
	}
	local v = t[item.uid]
        if(doPlayerRemoveMoney(cid, cash)) then
        else
        return true
        end
	if v > 100 then
		doSummonCreature('training monk', v[1])
		doSummonCreature('training monk', v[2])
		doSendMagicEffect(v[1],CONST_ME_TELEPORT)
		doSendMagicEffect(v[2],CONST_ME_TELEPORT)
                local rE = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[1]).uid)
                local rE2 = addEvent(doRemoveMonk, time*1000*60, getThingfromPos(v[2]).uid)
	end
end
 
function onStepOut(cid, item, pos)
	local t = {
		[5000]={{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5001]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5002]={{x=pos.x+1, y=pos.y-1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y-1, z=pos.z, stackpos = 253}},
		[5003]={{x=pos.x+1, y=pos.y+1, z=pos.z, stackpos = 253},{x=pos.x-1, y=pos.y+1, z=pos.z, stackpos = 253}}
	}
	local v = t[item.uid]
	if v > 100 then
		doRemoveCreature(getThingfromPos(v[1]).uid)
		doRemoveCreature(getThingFromPos(v[2]).uid)
		doSendMagicEffect(v[1],CONST_ME_POFF)
		doSendMagicEffect(v[2],CONST_ME_POFF)
                stopEvent(rE)
                stopEvent(rE2)
		end

Now it should work ;) sry :P

[EDIT] Think line 16 is fixed too ;)
 
Last edited:
Working fine, but the creature doesn't dissapear and send me a msg luaDoRemoveCreature, Creature not found. Any fix of this? im only using the uid 5001 and 5002
 
Back
Top