• 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!

Sirion_Mido Free Scripting Service (Actions/Movements/Talkactions/Creaturescripts)

Sirion_Mido

Experienced Member
Joined
Jul 22, 2012
Messages
579
Reaction score
43
Location
E-G-Y-P-T
Hello,

I decide to make scripts depending on players request like cyko , just i do that because cyko closed his theard , so i can continue if anyone want.

Follow these rules and we are good to go!

Rule number 1: No Spamming!
Rule number 2: Be Patient!
Rule number 3: There is no rule number 3!
Rule number 4: Follow all these rules!

As far you can see i accept only Actions/Movements/Talkactions/Creaturescripts.

Rep++ If It Helpful For You..
 
Last edited:
until now i can use this code---i will use isMonster(cid) because i am using onSpawn(cid) function
Code:
local attack = getMonsterInfo(getCreatureName(target)).minCombatValue)
local inc = attack * 1.5
if isMonster(cid) then
do---addSkills(cid, inc)

- - - Updated - - -

btw there is maxCombatValue

- - - Updated - - -

and Chance for loot
 
If you want to make monsters with specific names deal more damage than usual, you use onStatsChange(), register it to players, then, check the following:
1- Attacker is a monster.
2- Attacker's name is equal to the name that you want.

Then you decide the extra damage, and use doCombat() or doPlayerAddHealth() (<-- Negatively ofcourse.)
 
I would love a monster level system, for example rotworms will range between lvl 5 to 8. if they're lvl 8 they give more ecp and damage abit more.
 
lvl system is made before in Ascalon and Extrodus server.. i can make it

itWasAllMe what do you think

the skull&party shield system + more damage and Exp (diff names)
OR
the Level system + more Damage and Exp
 
Are you able to make a crafting system?
Basicly you need 3 different items. You lay these items on 3 tables and click the switch, when you click the switch all the items dissapears and another item is created and appears on another table.
 
Hi. I need script for time lever.
I have something like this:
K2VaAxh.png

How would that work? I pull the lever and have 30 seconds to pass, after 30 seconds, brick walls appears again.

tfs 0.3.6
8.6
 
Lua:
local c = {
	[11111yourUidNr1111] = {
		pos = {
			{x = 1111, y = 2222, z = 333},	-- wall pos 1
			{x = 1111, y = 2222, z = 333},	-- wall pos 2
			{x = 1111, y = 2222, z = 333}	-- wall pos 3
		},
		relocate = {
			{x = 1111, y = 2222, z = 333},	-- relocate pos from pos 1
			{x = 1111, y = 2222, z = 333},	-- relocate pos from pos 2
			{x = 1111, y = 2222, z = 333}	-- relocate pos from pos 3
		},
		statua = 1304,	-- wall itemid
		time = 10	-- how much seconds
	}
}

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

	local u = c[item.uid]

	if u then
		local iu = item.uid
		if u.pos then
			for i = 1, #u.pos do
				if getTileItemById(u.pos[i], u.statua).uid > 0 then
					doRemoveItem(getTileItemById(u.pos[i], u.statua).uid, 1)
					doSendMagicEffect(u.pos[i], CONST_ME_POFF)
					addEvent(function()
						doRelocate(u.pos[i], u.relocate[i])
						doCreateItem(u.statua, 1, u.pos[i])
						doTransformItem(iu, 1945)
					end, u.time*1000)
				else
					if u.relocate then doRelocate(u.pos[i], u.relocate[i]) end
					doCreateItem(u.statua, 1, u.pos[i])
				end
			end
		end
	end

	return true
end
 
teleport player to x city

hello

i want this script only works if the player in a protection zone
and dont require cash to cast it

PHP:
-- script made by chavoz --
----- otLand.net -----
 
 
local cash = 10000 -- u can modify the prize (actual 1cc)
local cdtele = 900 -- the seconds of cooldown (900=15min)
local etele = 9499 -- isn't necessary to change
 
local config = {
premium = false, -- if is needed be premium to use this teleport (true or false)
battle = true -- if is needed be without battle to use (true or false)
}
 
local places = {
[1] = {name = "Enigma", id = 1},
[2] = {name = "Infernium", id = 2},
[3] = {name = "Desert", id = 3},
[4] = {name = "Ice", id = 4},
[5] = {name = "Thais", id = 5},
}
 
function onSay(cid, words, param)
 
 
	if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
	tempo = (exhaustion.get(cid, etele)) / 60
	min = math.floor(tempo)
doPlayerSendTextMessage(cid,27,"You have to wait more "..min.." minutes.")
	return true
	end
 
	if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
doPlayerSendTextMessage(cid,27,"You can't teleport with fight.")
	return true
	end
 
	if (param == '') then
		local str = ""
		str = str .. "Existent places: \n\nHouse\n"
			for a = 1, #places do
				str = str..""..places[a].name.."\n"
			end
		doShowTextDialog(cid, 2333, str)
	return true
	end
 
	local lastppos = getThingPos(cid)
	local telepos = {}
	local myplace = ""
	local townid = 0
 
	if string.lower(param) == "house" then
 
		if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
			doPlayerSendTextMessage(cid,27, "You don't own a house.")
	doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
		return true
		end
 
		telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
		myplace = "house"
           effect = CONST_ME_TELEPORT
 
	else
effect = CONST_ME_TELEPORT
 
		for x = 1, #places do
			if string.find(string.lower(places[x].name), string.lower(param)) then
				townid = places[x].id
				myplace = places[x].name
			end
		end
 
		if myplace == "" then
doPlayerSendTextMessage(cid,27,"Sorry, this place don't exist.")
	doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
		return true
		end
 
	end
 
	if myplace ~= "" and townid > 0 then
		telepos = getTownTemplePosition(townid)
	end
 
if doPlayerRemoveMoney(cid, cash) == TRUE then
 
	doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
 
	doTeleportThing(cid, telepos, false)
 
	local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))
 
	doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
 
	doCreatureSay(cid, "Teleport to "..myplace.."!", TALKTYPE_MONSTER)
doPlayerSendTextMessage(cid,27,"You have teleported to "..myplace.." for "..cash.." gps!")
doPlayerSendTextMessage(cid,27,"To use again wait "..cdtele.." seconds.")
 
	doCreatureSetLookDir(cid, SOUTH)
 
	exhaustion.set(cid, etele, cdtele)
 
else
doPlayerSendTextMessage(cid,27,"You haven't enough money ("..cash.." gps)!")
	doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
end
 
return true
end
 
Lua:
local config = {
	premium = false, -- if is needed be premium to use this teleport (true or false)
	battle = true -- if is needed be without battle to use (true or false)
}
local places = {
	[1] = {name = "Enigma", id = 1},
	[2] = {name = "Infernium", id = 2},
	[3] = {name = "Desert", id = 3},
	[4] = {name = "Ice", id = 4},
	[5] = {name = "Thais", id = 5},
}
local cdtele = 900 -- the seconds of cooldown (900=15min)
local etele = 9499 -- isn't necessary to change
 
function onSay(cid, words, param)
	
	local lastppos = getThingPos(cid)
	if not getTileInfo(getThingPosition(cid)).protection then
		doPlayerSendTextMessage(cid, 27, "no pz")
		doSendMagicEffect(lastppos, CONST_ME_POFF)
		return true
	end
	

	if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
		tempo = (exhaustion.get(cid, etele)) / 60
		min = math.floor(tempo)
		doPlayerSendTextMessage(cid,27,"You have to wait more "..min.." minutes.")
		return true
	end
	if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid,27,"You can't teleport with fight.")
		return true
	end
	if (param == '') then
		local str = ""
		str = str .. "Existent places: \n\nHouse\n"
		for a = 1, #places do
			str = str..""..places[a].name.."\n"
		end
		doShowTextDialog(cid, 2333, str)
		return true
	end

	local telepos = {}
	local myplace = ""
	local townid = 0
 
	if string.lower(param) == "house" then
		if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
			doPlayerSendTextMessage(cid,27, "You don't own a house.")
			doSendMagicEffect(lastppos, CONST_ME_POFF)
			return true
		end
		telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
		myplace = "house"
		effect = CONST_ME_TELEPORT
	else
		effect = CONST_ME_TELEPORT
		for x = 1, #places do
			if string.find(string.lower(places[x].name), string.lower(param)) then
				townid = places[x].id
				myplace = places[x].name
			end
		end
		if myplace == "" then
			doPlayerSendTextMessage(cid,27,"Sorry, this place don't exist.")
			doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
			return true
		end
 	end
 	if myplace ~= "" and townid > 0 then
		telepos = getTownTemplePosition(townid)
	end
 	doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
 	doTeleportThing(cid, telepos, false)
 	local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))
 	doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
 	doCreatureSay(cid, "Teleport to "..myplace.."!", TALKTYPE_MONSTER)
	doPlayerSendTextMessage(cid, 27, "You have teleported to "..myplace..".")
	doPlayerSendTextMessage(cid, 27, "To use again wait "..cdtele.." seconds.")
 	doCreatureSetLookDir(cid, SOUTH)
 	exhaustion.set(cid, etele, cdtele)
	return true
end
 
Back
Top