• 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!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

MoveEvent Transforming Ring - TFS Beta 2

mamon_2

Banned User
Joined
Jul 2, 2007
Messages
424
Reaction score
0
Well this is the script, working for TFS Beta 1, but in the newest version, realesed yesterday, isnt working, when you equip it at the selected slot, it deequip and says: "You cant not dress that there".

Anyone knows how to fix this?

Code:
-- >> Small config section --
 
local outfitMale =
{
lookType = 75,
lookHead = 95,
lookBody = 38,
lookLegs = 78,
lookFeet = 113,
lookAddons = 3
}
 
local outfitFemale =
{
lookType = 75,
lookHead = 95,
lookBody = 38,
lookLegs = 78,
lookFeet = 113,
lookAddons = 3
}
 
local cointype = 2152 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 10000 -- coin wasting time interval (miliseconds) --
local ncws = 1 -- number of coins used up during time interval --
local ncni = 50 -- number of coins needed to trigger the transformation --
local stcn = 55 -- 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, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 10)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 10)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 105) 
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 120)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPERCENT, 110)
 
local condition2 = createConditionObject(CONDITION_HASTE)
setConditionParam(condition2, CONDITION_PARAM_TICKS, -1)
 
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)
	
 	
 
		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, "Tu dinero se ha agotado!")
			
			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
		addEvent(superform1, 1, param)
	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
end

Code:
<movevent event="Equip" itemid="2127" function="onEquipItem" slot="ring" 

script="bangle.lua"/>	
	<movevent event="DeEquip" itemid="2127" function="onDeEquipItem" slot="ring" 

script="bangle.lua"/>
 
This is just going to be a blind guess, I have not tested.... but what about changing the onEquip and onDeEquip to default?
 
Code:
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
		addEvent(superform1, 1, param)
	end
	return true
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

Try with that (it's only 2 of the functions, not the entire script).
 
try this i use this script for me it work fine

-- >> 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 = 2148 -- Id of the coin the spell will use (2148 = gold coin, 2152 = platinum coin, 2160 = crystal coin) --
local tbcw = 1000 -- coin wasting time interval (miliseconds) --
local ncws = 1 -- number of coins used up during time interval --
local ncni = 10 -- 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, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 120)
setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 120)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 120)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 180)
setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 180)

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, "Your amulet has been destroyed!")
doPlayerRemoveItem(param.cid, 2139, 1)
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
addEvent(superform1, 1, param)
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
end
 
Back
Top