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

Otswe Free Scripting Service (Actions/Movements/Creaturescripts) Open Again!

Printer

if Printer then print("LUA") end
Senator
Premium User
Joined
Dec 27, 2009
Messages
5,782
Solutions
31
Reaction score
2,286
Location
Sweden?
Cyko Free Scripting Service (Actions/Movements/Creaturescripts/Talkactions) ReOpen!

Hello,

I decide to make scripts depending on players request.

Why im doing this?
Ticket to hevean? <- Also helping people and learn the lua language.
Please post below and i will hopefully be able to make the script you desire.

I repon Otswe Free Scripting Service, Ill only accept medium hard scripts. 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!

Asfar you can see i accept only Actions/Movements/Creaturescripts/Talkactions/Globalevents! But ill accept npcs to, but depends how hard the request is.
My scripting Corner! Here you will be able to find scripts :D

My Scripts:
Need Special Storage To Enter The Platform!
Open Secret Hole - Timer!
Fire Explosion Into Area!
Remove Swarms From Magical Bushs!
Simple Upgrade Item!
Automatic Cleaning Spefic Area!
Magic Wall With Countdown!
Premium Scroll!
http://otland.net/f81/anti-lure-monster-v-1-otswe-171236/
http://otland.net/f81/advance-tutorial-hints-script-easy-configure-170739/
http://otland.net/f81/house-system-171153/
http://otland.net/f82/update-automatic-currently-health-mana-172129/
Check Points - Advanced!

Older Scripts:
Simple Premium Tile!
Exp Token!
Throw item get teleported!
 
Last edited:
i get this now :

PHP:
[Error - TalkAction Interface]
data/talkactions/scripts/lms/lms.lua:onSay
Description:
attempt to index a nil value
stack traceback:
        [C]: in function 'doCreateItem'
        data/talkactions/scripts/lms/lms.lua:13: in function 'cyko_block'
        data/talkactions/scripts/lms/lms.lua:30: in function <data/talkactions/s
cripts/lms/lms.lua:9>

Waiting for Quick Reply

Regards..
 
Sorry typ, try now.

Lua:
local cyko_open_text = "Last Man Standing Event Has Started"
local cyko_close_text = "Last Man Standing Event Has Closed"
 
local cyko = {
block_pos = {x= 1000, y=1000, z=7},
block_itemid = 1484,
}
 
function onSay(cid, words, param, channel)
 
function cyko_block()
	if(getTileItemById(cyko.block_pos, cyko.block_itemid).uid == 0) then
		doCreateItem(cyko.block_itemid, 1, cyko.block_pos)
	end
end
 
function cyko_remove_block()
	local item = getTileItemById(cyko.block_pos, cyko.block_itemid)
	if(item.uid ~= 0) then
		doRemoveItem(item.uid)
	end
end
 
	if(param == 'open') then
		cyko_remove_block()
		doBroadcastMessage(cyko_open_text)
	end
--////////////////////////////////////////////////--
	if(param == 'close') then
		cyko_block()
		doBroadcastMessage(cyko_close_text)
		end
	return true
end
 
Cyko,

Its working But i dont really Get the Script...

What it ment to do is That when i say /lms open
the Block Is removed and the user Enters the Teleport.

But..

I need Another Talkaction Script Which Starts the Event Because
When the User Enters The Teleport
It takes him to Waiting room Where players have to wait for the Start of the Event.
And if i would have command called /lms start. Then when all players would be in Waiting room
and I say the Command it Would start the Event And teleport them To arena :p

If you Wanna see what im actually about

go on Cintravia.hopto.org
Create an Account
log In and Ill show you what i mean ..

Waiting for a Reply

Regards...
 
Sorry but that requires alot of time to make, i just made it simple you start it then after you can close it :/
 
Yeah but When i say /lms open
It only Removes the Item that Blocks the Way to Teleport
And when the User has Entered Teleport it Takes him to Waiting room as shown on the Pic below:

waiting room.jpg


Cant you just make 1 more Talkaction which starts the Event please ??
i really need it :/
I just need it so when i say /lms start it will teleport all people from waiting room to arena
 
But the script Teckman made should teleport you from the waiting room:
local config = {
temporaryArea = {
{x = 997, y = 1013, z = 7}, -- northwest corner of area where players must stand in order to join the event
{x = 1001, y = 1015, z = 7} -- south east corner
},
 
On internet i found something like that :

PHP:
function onSay(cid, words, param, channel)
	if(getStorage(ZE_STATUS) ~= 2) then
		local players_on_arena_count = #getLastmanstandingEventPlayers()
		if(param == 'force') then
			if(players_on_arena_count > 0) then
				setlastmanstandingEventPlayersLimit(players_on_arena_count  )
				addlastmanstandingEventBlockEnterPosition()
				doSetStorage(ZE_STATUS, 2)
				doBroadcastMessage("lastmanstanding Event started.")
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "lastmanstanding event started.")
			else
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot start lastmanstanding event. There is no players on arena.")
			end
		else
			if(param ~= '' and tonumber(param) > 0) then
				setlastmanstandingEventPlayersLimit(tonumber(param))
			end
			removelastmanstandingEventBlockEnterPosition()
			doSetStorage(ZE_STATUS, 1)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Event started.")
			doPlayerBroadcastMessage(cid, "lastmanstanding Arena Event teleport is opened. We are waiting for " .. getlastmanstandingEventPlayersLimit() - players_on_arena_count .. " players to start.")
		end
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "lastmanstanding event is already running.")
	end
	return true
end

PHP:
<talkaction log="yes" words="/lms start" access="6" event="script" value="lms on.lua"/>
 
@Up

Its missing files. Also to me it looks like zombie event. If you want i can edit zombie event, instead of zombies you fight eachothers.
 
That would be Great :p

I really Need lms Event because Players on my ot Were complaining
and they made a Petition and Now i need it really badly :D

Rep++ To you :)

Waiting for the Script :p

Regards..
 
@patriciou

Try this:
http://otland.net/f82/zombie-event-new-version-bug-free-updated-128664/

You can just remove zombies from spawning and add pvp tiles on the zone.

Skip these steps:
2
3
4
6

add use this into libs:
Lua:
-- CONFIG
ZE_DEFAULT_NUMBER_OF_PLAYERS = 5
ZE_ACCESS_TO_IGNORE_ARENA = 3
-- POSITIONS
ZE_blockEnterItemPosition = {x= 873, y=997, z=7}
ZE_enterPosition = {x = 1638, y = 1530, z = 7}
ZE_kickPosition = {x=874, y=994, z=7}
ZE_spawnFromPosition = {x = 1617, y = 1514, z = 7}
ZE_spawnToPosition = {x = 1671, y = 1565, z = 7}
-- ITEM IDS
ZE_blockEnterItemID = 2700
-- STORAGES
-- - player
ZE_isOnZombieArea = 34370
-- - global
ZE_STATUS = 34370 -- =< 0 - off, 1 - waiting for players, 2 - is running
ZE_PLAYERS_NUMBER = 34371
ZE_ZOMBIES_TO_SPAWN = 34372
ZE_ZOMBIES_SPAWNED = 34373
 
-- FUNCTION
 
function setZombiesEventPlayersLimit(value)
	doSetStorage(ZE_PLAYERS_NUMBER, value)
end
 
function getZombiesEventPlayersLimit()
	return getStorage(ZE_PLAYERS_NUMBER)
end
 
function addPlayerToZombiesArea(cid)
	doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	doTeleportThing(cid, ZE_enterPosition, true)
	doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	if(getPlayerAccess(cid) < ZE_ACCESS_TO_IGNORE_ARENA) then
		setPlayerZombiesEventStatus(cid, os.time())
	end
end
 
function kickPlayerFromZombiesArea(cid)
	doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	doTeleportThing(cid, ZE_kickPosition, true)
	doSendMagicEffect(getThingPosition(cid), CONST_ME_TELEPORT)
	setPlayerZombiesEventStatus(cid, 0)
end
 
function getPlayerZombiesEventStatus(cid)
	return getCreatureStorage(cid, ZE_isOnZombieArea)
end
 
function setPlayerZombiesEventStatus(cid, value)
	doCreatureSetStorage(cid, ZE_isOnZombieArea, value)
end
 
function getZombiesEventPlayers()
	local players = {}
	for i, cid in pairs(getPlayersOnline()) do
		if(getPlayerZombiesEventStatus(cid) > 0) then
			table.insert(players, cid)
		end
	end
	return players
end
 
function getZombiesCount()
	return getStorage(ZE_ZOMBIES_SPAWNED)
end
 
function addZombiesCount()
	doSetStorage(ZE_ZOMBIES_SPAWNED, getStorage(ZE_ZOMBIES_SPAWNED)+1)
end
 
function resetZombiesCount()
	doSetStorage(ZE_ZOMBIES_SPAWNED, 0)
end
 
function getZombiesToSpawnCount()
	return getStorage(ZE_ZOMBIES_TO_SPAWN)
end
 
function setZombiesToSpawnCount(count)
	doSetStorage(ZE_ZOMBIES_TO_SPAWN, count)
end
 
function addZombiesEventBlockEnterPosition()
	if(getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID).uid == 0) then
		doCreateItem(ZE_blockEnterItemID, 1, ZE_blockEnterItemPosition)
	end
end
 
function removeZombiesEventBlockEnterPosition()
	local item = getTileItemById(ZE_blockEnterItemPosition, ZE_blockEnterItemID)
	if(item.uid ~= 0) then
		doRemoveItem(item.uid)
	end
end
 
function spawnNewZombie()
	local posx = {}
	local posy = {}
	local posz = {}
	local pir = {}
	for i=1, 5 do
		local posx_tmp = math.random(ZE_spawnFromPosition.x ,ZE_spawnToPosition.x)
		local posy_tmp = math.random(ZE_spawnFromPosition.y ,ZE_spawnToPosition.y)
		local posz_tmp = math.random(ZE_spawnFromPosition.z ,ZE_spawnToPosition.z)
		local pir_tmp = 0
		local spec = getSpectators({x=posx_tmp, y=posy_tmp, z=posz_tmp}, 3, 3, false)
		if(spec and #spec > 0) then
			for z, pid in pairs(spec) do
				if(isPlayer(pid)) then
					pir_tmp = pir_tmp + 1
				end
			end
		end
		posx[i] = posx_tmp
		posy[i] = posy_tmp
		posz[i] = posz_tmp
		pir[i] = pir_tmp
	end
	local lowest_i = 1
	for i=2, 5 do
		if(pir[i] < pir[lowest_i]) then
			lowest_i = i
		end
	end
	return true
end

- - - Updated - - -

I can maybe remove later those lines which isnt needed.
 
Ive done it But when i Start my Ot i get This Error:

PHP:
[Error - LuaScriptInterface::loadFile] data/movements/scripts/last man/onenter.l
ua:21: 'end' expected (to close 'function' at line 1) near '<eof>'
[Warning - Event::loadScript] Cannot load script (data/movements/scripts/last ma
n/onenter.lua)
data/movements/scripts/last man/onenter.lua:21: 'end' expected (to close 'functi
on' at line 1) near '<eof>'

Waiting for Quick reply

Regards..
 
Here Movements :

onenter.lua

PHP:
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
	if(not isPlayer(cid)) then
		return true
	end
	if(getPlayerAccess(cid) >= ZE_ACCESS_TO_IGNORE_ARENA) then
		addPlayerToZombiesArea(cid)
	elseif(#getZombiesEventPlayers() < getZombiesEventPlayersLimit() and getStorage(ZE_STATUS) == 1) then
		addPlayerToZombiesArea(cid)
		local players_on_arena_count = #getZombiesEventPlayers()
		if(players_on_arena_count == getZombiesEventPlayersLimit()) then
			addZombiesEventBlockEnterPosition()
			doSetStorage(ZE_STATUS, 2)
			doBroadcastMessage("Last man Standing Event started.")
		else
			doBroadcastMessage(getCreatureName(cid) .. " has entered a Last man Standing Arena. We still need " .. getZombiesEventPlayersLimit() - players_on_arena_count .. " players.")
		end
	else
		doTeleportThing(cid, fromPosition, true)
		addZombiesEventBlockEnterPosition()
	end
 
been having trouble with rings.

How I want them to work is have the sparkly ring and the non-sparkly ring two separate rings with different functions.

here is the old ring in items.xml

XML:
 	<item id="2208" article="an" name="axe ring">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="transformEquipTo" value="2211"/>
		<attribute key="stopduration" value="1"/>
		<attribute key="showduration" value="1"/>
	</item>

	<item id="2211" article="an" name="axe ring">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="transformDeEquipTo" value="2208"/>
		<attribute key="skillAxe" value="20"/>
	</item>
old movements
XML:
 	<movevent type="Equip" itemid="2208" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="Equip" itemid="2211" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="DeEquip" itemid="2211" slot="ring" event="function" value="onDeEquipItem"/>

here is the new one in item.xml

XML:
        	<item id="2208" article="an" name="Minor Ring Of Attack">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="skillsPercentFist" value="50"/>
		<attribute key="skillsPercentSword" value="50"/>
		<attribute key="skillsPercentAxe" value="50"/>
		<attribute key="skillsPercentClub" value="50"/>
		<attribute key="skillsPercentDist" value="50"/>
	</item>

	</item>
	<item id="2211" article="an" name="Major Ring Of Attack">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="skillFistPercent" value="100"/>
		<attribute key="skillSwordPercent" value="100"/>
		<attribute key="skillAxePercent" value="100"/>
		<attribute key="skillClubPercent" value="100"/>
		<attribute key="skillDistPercent" value="100"/>
	</item>

new movements

XML:
 	<movevent type="Equip" itemid="2208" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="DeEquip" itemid="2208" slot="ring" event="function" value="onDeEquipItem"/>
	<movevent type="Equip" itemid="2211" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="DeEquip" itemid="2211" slot="ring" event="function" value="onDeEquipItem"/>

In both ways I cannot spawn the sparkly ring 2211. It auto reverts into 2208.

I'm at a loss. I do not know how to make these two rings separate items.
---
edit
They also do not work when dropped by monsters or when given as a quest reward.
 
i have problem with add /gain frags .. if someone kill player .. you murder ..etc but if u use !frags 0 day 0 week 0 month

Help Please!

i hope u understand me

Config.lua
-- Account manager
accountManager = false
namelockManager = true
newPlayerChooseVoc = true
newPlayerSpawnPosX = 32369
newPlayerSpawnPosY = 32241
newPlayerSpawnPosZ = 7
newPlayerTownId = 2
newPlayerLevel = 8
newPlayerMagicLevel = 1
generateAccountNumber = false

-- Unjustified kills
useFragHandler = true
redSkullLength = 1 * 24 * 60 * 60
blackSkullLength = 2 * 24 * 60 * 60
dailyFragsToRedSkull = 50
weeklyFragsToRedSkull = 400
monthlyFragsToRedSkull = 5000
dailyFragsToBlackSkull = 100
weeklyFragsToBlackSkull = 500
monthlyFragsToBlackSkull = 6000
dailyFragsToBanishment = 150
weeklyFragsToBanishment = 1000
monthlyFragsToBanishment = 7000
blackSkulledDeathHealth = 40
blackSkulledDeathMana = 0
useBlackSkull = true
advancedFragList = false

-- Banishments
notationsToBan = 3
warningsToFinalBan = 4
warningsToDeletion = 5
banLength = 7 * 24 * 60 * 60
killsBanLength = 7 * 24 * 60 * 60
finalBanLength = 30 * 24 * 60 * 60
ipBanishmentLength = 1 * 24 * 60 * 60
broadcastBanishments = true
maxViolationCommentSize = 200
violationNameReportActionType = 2
autoBanishUnknownBytes = false

-- Battle
worldType = "open"
protectionLevel = 80
pvpTileIgnoreLevelAndVocationProtection = true
pzLocked = 40 * 1000
huntingDuration = 60 * 1000
criticalHitChance = 7
criticalHitMultiplier = 1
displayCriticalHitNotify = false
removeWeaponAmmunition = false
removeWeaponCharges = false
removeRuneCharges = true
whiteSkullTime = 5 * 60 * 1000
noDamageToSameLookfeet = false
showHealingDamage = false
showHealingDamageForMonsters = false
fieldOwnershipDuration = 5 * 1000
stopAttackingAtExit = false
loginProtectionPeriod = 10 * 1000
deathLostPercent = 10
stairhopDelay = 0.3 * 1000
pushCreatureDelay = 0.3 * 1000
deathContainerId = 1987
gainExperienceColor = 215
addManaSpentInPvPZone = true
squareColor = 0
allowFightback = true
fistBaseAttack = 7

-- Connection config
worldId = 0
ip = ""
loginPort = 7171
gamePort = 7172
loginTries = 10
retryTimeout = 5 * 1000
loginTimeout = 60 * 1000
maxPlayers = 1000
motd = "Welcome to the A99 Server!"
displayOnOrOffAtCharlist = false
onePlayerOnlinePerAccount = true
allowClones = false
serverName = "A99 : Edited Real Map"
loginMessage = "Welcome to the A99 Server!"
statusTimeout = 5 * 60 * 1000
replaceKickOnLogin = true
forceSlowConnectionsToDisconnect = false
loginOnlyWithLoginServer = false
premiumPlayerSkipWaitList = false

-- Database
sqlType = "mysql"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"
sqlPass = ""
sqlDatabase = ""
sqlFile = "realserver.sql"
sqlKeepAlive = 0
mysqlReadTimeout = 10
mysqlWriteTimeout = 10
encryptionType = "plain"

-- Deathlist
deathListEnabled = false
deathListRequiredTime = 1 * 60 * 1000
deathAssistCount = 19
maxDeathRecords = 5

-- Guilds
ingameGuildManagement = true
levelToFormGuild = 7
premiumDaysToFormGuild = 0
guildNameMinLength = 4
guildNameMaxLength = 20

-- Highscores
highscoreDisplayPlayers = 15
updateHighscoresAfterMinutes = 60

-- Houses
buyableAndSellableHouses = true
houseNeedPremium = true
bedsRequirePremium = true
levelToBuyHouse = 80
housesPerAccount = 0
houseRentAsPrice = false
housePriceAsRent = false
housePriceEachSquare = 1000
houseRentPeriod = "never"
houseCleanOld = 0
guildHalls = false

-- Item usage
timeBetweenActions = 200
timeBetweenExActions = 1000
hotkeyAimbotEnabled = true

-- Map
mapName = "map.otbm"
mapAuthor = "Nova"
randomizeTiles = true
storeTrash = true
cleanProtectedZones = true
mailboxDisabledTowns = ""

-- Process
defaultPriority = "high"
niceLevel = 5
coresUsed = "-1"

-- Startup
startupDatabaseOptimization = true
updatePremiumStateAtStartup = true
confirmOutdatedVersion = false

-- Spells
formulaLevel = 5.0
formulaMagic = 1.0
bufferMutedOnSpellFailure = false
spellNameInsteadOfWords = fasle
emoteSpells = true
showHealthChange = true
showManaChange = true
showHealthChangeForMonsters = true
showManaChangeForMonsters = true
showHealingDamage = true

-- Outfits
allowChangeOutfit = true
allowChangeColors = true
allowChangeAddons = true
disableOutfitsForPrivilegedPlayers = false
addonsOnlyPremium = true

-- Miscellaneous
dataDirectory = "data/"
logsDirectory = "data/logs/"
bankSystem = true
displaySkillLevelOnAdvance = true
promptExceptionTracerErrorBox = false
maximumDoorLevel = 1000
maxMessageBuffer = 4

-- VIP list
separateVipListPerCharacter = false
vipListDefaultLimit = 400
vipListDefaultPremiumLimit = 500

-- Saving-related
saveGlobalStorage = true
useHouseDataStorage = false
storePlayerDirection = false

-- Loot
checkCorpseOwner = true
monsterLootMessage = 3
monsterLootMessageType = 25

-- Ghost mode
ghostModeInvisibleEffect = false
ghostModeSpellEffects = true

-- Limits
idleWarningTime = 14 * 60 * 1000
idleKickTime = 15 * 60 * 1000
reportsExpirationAfterReads = 1
playerQueryDeepness = 2
tileLimit = 0
protectionTileLimit = 0
houseTileLimit = 0

-- Premium-related
freePremium = true
premiumForPromotion = true

-- Blessings
blessings = true
blessingOnlyPremium = true
blessingReductionBase = 30
blessingReductionDecrement = 5
eachBlessReduction = 8

-- Rates
experienceStages = true
rateExperience = 20.0
rateExperienceFromPlayers = 2.0
rateSkill = 35.0
rateMagic = 25.0
rateLoot = 3.0
rateSpawn = 3.0

-- Monster rates
rateMonsterHealth = 1.0
rateMonsterMana = 1.0
rateMonsterAttack = 1.0
rateMonsterDefense = 1.0

-- Experience from players
minLevelThresholdForKilledPlayer = 0.9
maxLevelThresholdForKilledPlayer = 1.1

-- Stamina
rateStaminaLoss = 1
rateStaminaGain = 20
rateStaminaThresholdGain = 12
staminaRatingLimitTop = 10 * 60
staminaRatingLimitBottom = 14 * 60
staminaLootLimit = 14 * 60
rateStaminaAboveNormal = 1.5
rateStaminaUnderNormal = 0.5
staminaThresholdOnlyPremium = true

-- Party
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 2 / 3
extraPartyExperienceLimit = 20
extraPartyExperiencePercent = 5
experienceShareActivity = 2 * 60 * 1000

-- Global save
globalSaveEnabled = false
globalSaveHour = 8
globalSaveMinute = 0
shutdownAtGlobalSave = true
cleanMapAtGlobalSave = false

-- Spawns
deSpawnRange = 2
deSpawnRadius = 50

-- Summons
maxPlayerSummons = 2
teleportAllSummons = false
teleportPlayerSummons = false

-- Status
statusPort = 7171
ownerName = "Nova"
ownerEmail = "[email protected]"
url = ""
location = "Egypt"
displayGamemastersWithOnlineCommand = false

-- Logs
displayPlayersLogging = true
prefixChannelLogs = ""
runFile = ""
outputLog = ""
truncateLogsOnStartup = false

-- Manager
managerPort = 7171
managerLogs = true
managerPassword = ""
managerLocalhostOnly = true
managerConnectionsLimit = 1

-- Admin
adminPort = 7171
adminLogs = true
adminPassword = ""
adminLocalhostOnly = true
adminConnectionsLimit = 1
adminRequireLogin = true
adminEncryption = ""
adminEncryptionData = ""
 
i have problem with add /gain frags .. if someone kill player .. you murder ..etc but if u use !frags 0 day 0 week 0 month

Help Please!

i hope u understand me

Config.lua

Can you atleast tell me what tfs version you use?

- - - Updated - - -

been having trouble with rings.

How I want them to work is have the sparkly ring and the non-sparkly ring two separate rings with different functions.

here is the old ring in items.xml

XML:
 	<item id="2208" article="an" name="axe ring">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="transformEquipTo" value="2211"/>
		<attribute key="stopduration" value="1"/>
		<attribute key="showduration" value="1"/>
	</item>

	<item id="2211" article="an" name="axe ring">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="transformDeEquipTo" value="2208"/>
		<attribute key="skillAxe" value="20"/>
	</item>
old movements
XML:
 	<movevent type="Equip" itemid="2208" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="Equip" itemid="2211" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="DeEquip" itemid="2211" slot="ring" event="function" value="onDeEquipItem"/>

here is the new one in item.xml

XML:
        	<item id="2208" article="an" name="Minor Ring Of Attack">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="skillsPercentFist" value="50"/>
		<attribute key="skillsPercentSword" value="50"/>
		<attribute key="skillsPercentAxe" value="50"/>
		<attribute key="skillsPercentClub" value="50"/>
		<attribute key="skillsPercentDist" value="50"/>
	</item>

	</item>
	<item id="2211" article="an" name="Major Ring Of Attack">
		<attribute key="weight" value="90"/>
		<attribute key="slotType" value="ring"/>
		<attribute key="skillFistPercent" value="100"/>
		<attribute key="skillSwordPercent" value="100"/>
		<attribute key="skillAxePercent" value="100"/>
		<attribute key="skillClubPercent" value="100"/>
		<attribute key="skillDistPercent" value="100"/>
	</item>

new movements

XML:
 	<movevent type="Equip" itemid="2208" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="DeEquip" itemid="2208" slot="ring" event="function" value="onDeEquipItem"/>
	<movevent type="Equip" itemid="2211" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="DeEquip" itemid="2211" slot="ring" event="function" value="onDeEquipItem"/>

In both ways I cannot spawn the sparkly ring 2211. It auto reverts into 2208.

I'm at a loss. I do not know how to make these two rings separate items.
---
edit
They also do not work when dropped by monsters or when given as a quest reward.

I dont understand what do you mean? You dont want the rings transform?
 
I do not want them to transform anymore. I want them to be two separate rings.

that way I can have double the amount of rings for players to use.
 
Back
Top