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

MoveEvent Fixed Super transformer ring

it rox + you can change the monster looktype so it becomes a dragon and name it dragon ring it has many uses customize it to fit your server!!
 
I don't get any errors at all... it just doesnt transform me to anything when equipping it, and my stats aint changing anything either
 
I don't get any errors at all... it just doesnt transform me to anything when equipping it, and my stats aint changing anything either

I will check it when i get home on friday. Might be something that is needed to be changed.
 
Srry for double post but when i used the emerald bangle it worked perfectly and also i didnt use the skript with the epic sorcerer ect. i used "<movevent event="Equip" itemid="2127" function="onEquipItem" slot="ring" script="chaosbangle.lua"/>
<movevent event="DeEquip" itemid="2127" function="onDeEquipItem" slot="ring" script="chaosbangle.lua"/> " in the movements.This is when i was using alissow 3.4[beta]


I use the TFS 3.5 and all work perfect should work. You must change also ID of item into .lua .
 
This also works perfectly on TFS 0.2.5.

Only bad thing with it for roleplaying servers, is that when you equip the ring, not only does your max hp and mana raise, but you also refill your own mana and health 100%. Which is bad, its a nice way for sorcerer's to refill 4k mana in a second and continue waring and spamming UE and such. Then when hes low on mana just re-equip it to gain full mana again.
 
This also works perfectly on TFS 0.2.5.

Only bad thing with it for roleplaying servers, is that when you equip the ring, not only does your max hp and mana raise, but you also refill your own mana and health 100%. Which is bad, its a nice way for sorcerer's to refill 4k mana in a second and continue waring and spamming UE and such. Then when hes low on mana just re-equip it to gain full mana again.

It's easy to fix that ;)

Just remove

Code:
local mhp = getCreatureMaxHealth(param.cid)
        local mma = getPlayerMaxMana(param.cid)
        local chp = getCreatureHealth(param.cid)
        local cma = getPlayerMana(param.cid)
 
        local dhp = mhp - chp
        local dma = mma - cma
 
        doCreatureAddHealth(param.cid, dhp)
        doPlayerAddMana(param.cid, dma)
 
ok, so instead of
Lua:
local mhp = getCreatureMaxHealth(param.cid)
        local mma = getPlayerMaxMana(param.cid)
        local chp = getCreatureHealth(param.cid)
        local cma = getPlayerMana(param.cid)
 
        local dhp = mhp - chp
        local dma = mma - cma
 
        doCreatureAddHealth(param.cid, dhp)
        doPlayerAddMana(param.cid, dma)
        doPlayerRemoveItem(param.cid, cointype, ncni)
I can replace it with etc:

Lua:
		local red = math.random(40,60)
		local blue = math.random(40,60)  
		
		doCreatureAddHealth(cid, red)
		doCreatureAddMana(cid, blue)
                doPlayerRemoveItem(param.cid, cointype, ncni)

To make the heal limited?
My example gives it a tiny hp/mana refill of 40 - 60.

But if I make it increase max health and max mana by 15%, can I make so it refill only 15% of my currently health?
(or make it refill only 15% of my max health)?
 
ok, so instead of
Lua:
local mhp = getCreatureMaxHealth(param.cid)
        local mma = getPlayerMaxMana(param.cid)
        local chp = getCreatureHealth(param.cid)
        local cma = getPlayerMana(param.cid)
 
        local dhp = mhp - chp
        local dma = mma - cma
 
        doCreatureAddHealth(param.cid, dhp)
        doPlayerAddMana(param.cid, dma)
        doPlayerRemoveItem(param.cid, cointype, ncni)
I can replace it with etc:

Lua:
		local red = math.random(40,60)
		local blue = math.random(40,60)  
		
		doCreatureAddHealth(cid, red)
		doCreatureAddMana(cid, blue)
                doPlayerRemoveItem(param.cid, cointype, ncni)

To make the heal limited?
My example gives it a tiny hp/mana refill of 40 - 60.

But if I make it increase max health and max mana by 15%, can I make so it refill only 15% of my currently health?
(or make it refill only 15% of my max health)?

Im not sure that will help but try it out.
 
it would be nice if you random give him random outfit, like sometimes hes a black ghaz, sometimes green etc
 
In movements add
PHP:
<movevent event="Equip" itemid="2127" function="onEquipItem" slot="ring" script="chaosbangle.lua"/>
	<movevent event="DeEquip" itemid="2127" function="onDeEquipItem" slot="ring" script="chaosbangle.lua"/>

In movement/script add a lua file named chaosbangle

PHP:
-- >> Small config section --
 
local outfitMale =
{
lookType = 12,
lookHead = 19,
lookBody = 79,
lookLegs = 3,
lookFeet = 81,
lookAddons = 0
}
 
local outfitFemale =
{
lookType = 12,
lookHead = 19,
lookBody = 53,
lookLegs = 92,
lookFeet = 79,
lookAddons = 0
}

local cointype = 2160 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 2000 -- coin wasting time interval (miliseconds) --
local ncws = 1 -- number of coins used up during time interval --
local ncni = 20 -- number of coins needed to trigger the transformation --
local stcn = 20 -- number of coins needed to execute script (must be higher than ncni value) --
local warn = 1 -- warns player when runing short on coins, 1 = yes --
local cwar = 20 -- number of coins that triggers the warnings --
 
local bmaineff = CONST_ME_YELLOW_RINGS
local bsecondeff = CONST_ME_BLOCKHIT
local bflingeff = CONST_ANI_SMALLHOLY
local blandeff = CONST_ME_HOLYAREA
local bringwaste = CONST_ME_FIREWORK_YELLOW
local bringabsorb = CONST_ME_MAGIC_GREEN
 
local gmaineff = CONST_ME_EXPLOSIONAREA
local gsecondeff = CONST_ME_FIREAREA
local gflingeff = CONST_ANI_FIRE
local glandeff = CONST_ME_FIREWORK_RED
local gringwaste = CONST_ME_FIREWORK_RED
local gringabsorb = CONST_ME_MAGIC_RED
 
-- Small config section << --
 
local condition1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition1, CONDITION_PARAM_TICKS, -1)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 50)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 50)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 50)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 120)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 120)
 
local condition2 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
setConditionFormula(condition2, 2.5, 0, 3.0, 0) 

function superform1(param)
	if param.crca == 1 then
 
		local pos = getCreaturePosition(param.cid)
		local sex = getPlayerSex(param.cid)
 
		local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
		local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
		local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
		local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
 
		local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
		local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
		local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
		local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
 
		if sex == 1 then
			doSendMagicEffect(pos, bmaineff)
			doSendMagicEffect(pos, bsecondeff)
 
			doSendDistanceShoot(pos, nha, bflingeff)
			doSendDistanceShoot(pos, sha, bflingeff)
			doSendDistanceShoot(pos, wha, bflingeff)
			doSendDistanceShoot(pos, eha, bflingeff)
			doSendDistanceShoot(pos, nwa, bflingeff)
			doSendDistanceShoot(pos, nea, bflingeff)
			doSendDistanceShoot(pos, sea, bflingeff)
			doSendDistanceShoot(pos, swa, bflingeff)
 
			doSendMagicEffect(nha, blandeff)
			doSendMagicEffect(sha, blandeff)
			doSendMagicEffect(wha, blandeff)
			doSendMagicEffect(eha, blandeff)
			doSendMagicEffect(nwa, blandeff)
			doSendMagicEffect(nea, blandeff)
			doSendMagicEffect(sea, blandeff)
			doSendMagicEffect(swa, blandeff)
 
			doSetCreatureOutfit(param.cid, outfitMale, -1)
		else
			doSendMagicEffect(pos, gmaineff)
			doSendMagicEffect(pos, gsecondeff)
 
			doSendDistanceShoot(pos, nha, gflingeff)
			doSendDistanceShoot(pos, sha, gflingeff)
			doSendDistanceShoot(pos, wha, gflingeff)
			doSendDistanceShoot(pos, eha, gflingeff)
			doSendDistanceShoot(pos, nwa, gflingeff)
			doSendDistanceShoot(pos, nea, gflingeff)
			doSendDistanceShoot(pos, sea, gflingeff)
			doSendDistanceShoot(pos, swa, gflingeff)
 
			doSendMagicEffect(nha, glandeff)
			doSendMagicEffect(sha, glandeff)
			doSendMagicEffect(wha, glandeff)
			doSendMagicEffect(eha, glandeff)
			doSendMagicEffect(nwa, glandeff)
			doSendMagicEffect(nea, glandeff)
			doSendMagicEffect(sea, glandeff)
			doSendMagicEffect(swa, glandeff) 
			doSetCreatureOutfit(param.cid, outfitFemale, -1)
		end
 
        doAddCondition(param.cid, condition1)
        doAddCondition(param.cid, condition2)
 
        local mhp = getCreatureMaxHealth(param.cid)
        local mma = getPlayerMaxMana(param.cid)
        local chp = getCreatureHealth(param.cid)
        local cma = getPlayerMana(param.cid)
 
        local dhp = mhp - chp
        local dma = mma - cma
 
        doCreatureAddHealth(param.cid, dhp)
        doPlayerAddMana(param.cid, dma)  
		doPlayerRemoveItem(param.cid, cointype, ncni)
 
		param.crcb = 1
		param.sex = sex
		setPlayerStorageValue(param.cid, 50780, 1)
 
		addEvent(superform2, 1, param)
	end
end
 

function superform2(param)
	if param.crca == 1 and param.crcb == 1 and isCreature(param.cid) == TRUE and getPlayerStorageValue(param.cid, 50780) == 1 then
		local pos = getCreaturePosition(param.cid)
		doPlayerRemoveItem(param.cid, cointype, ncws)
		if param.sex == 1 then		
			doSendMagicEffect(pos, bringwaste)
			doSendMagicEffect(pos, bringabsorb)
		else
			doSendMagicEffect(pos, gringwaste)
			doSendMagicEffect(pos, gringabsorb)
		end
		local goldleft = getPlayerItemCount(param.cid, cointype)
		if goldleft < cwar and warn == 1 then
			doPlayerSendTextMessage(param.cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..goldleft.. ".")
		end
		if goldleft < ncws then
			param.crca = 0
			param.crcb = 0
			setPlayerStorageValue(param.cid, 50780, 0)
			doPlayerSendTextMessage(param.cid, MESSAGE_EVENT_DEFAULT, "No cash left!")
			
			local pos = getCreaturePosition(param.cid)
 
			local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
			local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
			local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
			local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
 
			local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
			local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
			local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
			local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
 
 
			doRemoveCondition(param.cid, CONDITION_OUTFIT)
			doRemoveCondition(param.cid, CONDITION_ATTRIBUTES)
			doRemoveCondition(param.cid, CONDITION_HASTE)
 
			if param.sex == 1 then
				doSendMagicEffect(pos, bmaineff)
				doSendMagicEffect(pos, bsecondeff)
 
				doSendDistanceShoot(pos, nha, bflingeff)
				doSendDistanceShoot(pos, sha, bflingeff)
				doSendDistanceShoot(pos, wha, bflingeff)
				doSendDistanceShoot(pos, eha, bflingeff)
				doSendDistanceShoot(pos, nwa, bflingeff)
				doSendDistanceShoot(pos, nea, bflingeff)
				doSendDistanceShoot(pos, sea, bflingeff)
				doSendDistanceShoot(pos, swa, bflingeff)
 
				doSendMagicEffect(nha, blandeff)
				doSendMagicEffect(sha, blandeff)
				doSendMagicEffect(wha, blandeff)
				doSendMagicEffect(eha, blandeff)
				doSendMagicEffect(nwa, blandeff)
				doSendMagicEffect(nea, blandeff)
				doSendMagicEffect(sea, blandeff)
				doSendMagicEffect(swa, blandeff)
			else
				doSendMagicEffect(pos, gmaineff)
				doSendMagicEffect(pos, gsecondeff)
 
				doSendDistanceShoot(pos, nha, gflingeff)
				doSendDistanceShoot(pos, sha, gflingeff)
				doSendDistanceShoot(pos, wha, gflingeff)
				doSendDistanceShoot(pos, eha, gflingeff)
				doSendDistanceShoot(pos, nwa, gflingeff)
				doSendDistanceShoot(pos, nea, gflingeff)
				doSendDistanceShoot(pos, sea, gflingeff)
				doSendDistanceShoot(pos, swa, gflingeff)
 
				doSendMagicEffect(nha, glandeff)
				doSendMagicEffect(sha, glandeff)
				doSendMagicEffect(wha, glandeff)
				doSendMagicEffect(eha, glandeff)
				doSendMagicEffect(nwa, glandeff)
				doSendMagicEffect(nea, glandeff)
				doSendMagicEffect(sea, glandeff)
				doSendMagicEffect(swa, glandeff)
			end
		else
			addEvent(superform2, tbcw, param)
		end
	end
 
end
 
function onEquip(cid, item, slot)
	local param = {cid = cid, item = item, slot = slot}
	local gold = getPlayerItemCount(cid, cointype)
	if gold > stcn then
		param.crca = 1
		--can equip here?
		addEvent(superform1, 1, param)
		return TRUE
	end
end
 
function onDeEquip(cid, item, slot)
	if isPlayer(cid) and getPlayerStorageValue(cid, 50780) == 1 then
 
		doRemoveCondition(cid, CONDITION_OUTFIT)
		doRemoveCondition(cid, CONDITION_ATTRIBUTES)
		doRemoveCondition(cid, CONDITION_HASTE)
 
		local pos = getCreaturePosition(cid)
		setPlayerStorageValue(cid, 50780, 0)
		local sex = getPlayerSex(cid)
 
		local nha = {x = pos.x, y = pos.y - 3, z = pos.z, stackpos = 255}
		local sha = {x = pos.x, y = pos.y + 3, z = pos.z, stackpos = 255}
		local wha = {x = pos.x - 3, y = pos.y, z = pos.z, stackpos = 255}
		local eha = {x = pos.x + 3, y = pos.y, z = pos.z, stackpos = 255}
 
		local nwa = {x = pos.x - 2, y = pos.y - 2, z = pos.z, stackpos = 255}
		local nea = {x = pos.x + 2, y = pos.y - 2, z = pos.z, stackpos = 255}
		local sea = {x = pos.x + 2, y = pos.y + 2, z = pos.z, stackpos = 255}
		local swa = {x = pos.x - 2, y = pos.y + 2, z = pos.z, stackpos = 255}
 
		if sex == 1 then
			doSendMagicEffect(pos, bmaineff)
			doSendMagicEffect(pos, bsecondeff)
 
			doSendDistanceShoot(pos, nha, bflingeff)
			doSendDistanceShoot(pos, sha, bflingeff)
			doSendDistanceShoot(pos, wha, bflingeff)
			doSendDistanceShoot(pos, eha, bflingeff)
			doSendDistanceShoot(pos, nwa, bflingeff)
			doSendDistanceShoot(pos, nea, bflingeff)
			doSendDistanceShoot(pos, sea, bflingeff)
			doSendDistanceShoot(pos, swa, bflingeff)
 
			doSendMagicEffect(nha, blandeff)
			doSendMagicEffect(sha, blandeff)
			doSendMagicEffect(wha, blandeff)
			doSendMagicEffect(eha, blandeff)
			doSendMagicEffect(nwa, blandeff)
			doSendMagicEffect(nea, blandeff)
			doSendMagicEffect(sea, blandeff)
			doSendMagicEffect(swa, blandeff)
		else
			doSendMagicEffect(pos, gmaineff)
			doSendMagicEffect(pos, gsecondeff)
 
			doSendDistanceShoot(pos, nha, gflingeff)
			doSendDistanceShoot(pos, sha, gflingeff)
			doSendDistanceShoot(pos, wha, gflingeff)
			doSendDistanceShoot(pos, eha, gflingeff)
			doSendDistanceShoot(pos, nwa, gflingeff)
			doSendDistanceShoot(pos, nea, gflingeff)
			doSendDistanceShoot(pos, sea, gflingeff)
			doSendDistanceShoot(pos, swa, gflingeff)
 
			doSendMagicEffect(nha, glandeff)
			doSendMagicEffect(sha, glandeff)
			doSendMagicEffect(wha, glandeff)
			doSendMagicEffect(eha, glandeff)
			doSendMagicEffect(nwa, glandeff)
			doSendMagicEffect(nea, glandeff)
			doSendMagicEffect(sea, glandeff)
			doSendMagicEffect(swa, glandeff)
		end
	end
return TRUE
end

Note: I didnt do this script so i dont take credits for it. Just giving it to the community as i know it's been requested alot.

If the x guy got enugh crystal coins on him he can wear it. If not it will say u cant wear this item.

Edit: been tested on TFS 0.2 Mystic~

For people who dont know what this do, I will give an short explanation about it.

Code:
Player X put on emerald bangle. Transforms to an arch demon (takes 20cc) for every 1-2 seconds it takes away 2 cc.

The ring also gives 20% more max mana/hp. Adds 50+ to all skills and m lvl.



can u rescript to 0.3 to me?
 
Back
Top