Tested on tfs 0.2.9-0.2.10 it should work fine with 0.3. well since i stopt working with my real map project and started to take a look in something difference huh, I now developing pokemons, that sounds so funny i self joked
so, in thoose scripts aint something special or very uncreteable but by that reason 0.2 versions by players is not very useable from this post might be, some of them will use it for sure...
The sadness thing i self know im kinda old dog and propapbly i wont create real map project next time so to know going to do windows restart i post my usefull files here...
Remember scripts are made not for public it was for me.
Zao arena
Picture make sure that theres aint any black files i mean not filled tiles if you have no tile script wont work... and dont take a look in pokes sprites...

Items on login this is what i used... i'm thinking i gues i have posted that same script in other thread but not remember good... and felt lazy for use sreach.
if you planning to use my first items take a this script as action too it will give for a newbie nice food.

The sadness thing i self know im kinda old dog and propapbly i wont create real map project next time so to know going to do windows restart i post my usefull files here...
Remember scripts are made not for public it was for me.
Zao arena
LUA:
<action uniqueid="32145" script="zao/arena.lua"/>
LUA:
local room = { -- room with demons
fromX = 33053,
fromY = 31025,
fromZ = 3,
toX = 33073,
toY = 31044,
toZ = 3
}
local players_pos = {
{x = 33080, y =31014, z = 2, stackpos = 253},
{x = 33081, y =31014, z = 2, stackpos = 253}
}
local new_player_pos = {
{x = 33059, y = 31032, z = 3},
{x = 33057, y = 31034, z = 3}
}
local playersOnly = "yes"
local questLevel = 80
function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers, showSummons, fromPosition, toPosition)
local creaturesList = {}
for x = -radiusx, radiusx do
for y = -radiusy, radiusy do
if not (x == 0 and y == 0) then
creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = 253})
if (creature.type == 1 and showPlayers == TRUE) or (creature.type == 2 and showMonsters == TRUE and (showSummons == FALSE or (showSummons == TRUE and getCreatureMaster(creature.uid) == (creature.uid)))) then
table.insert(creaturesList, creature.uid)
end
end
end
end
local creature = getTopCreature(position)
if (creature.type == 1 and showPlayers == TRUE) or (creature.type == 2 and showMonsters == TRUE and (showSummons == FALSE or (showSummons == TRUE and getCreatureMaster(creature.uid) == (creature.uid)))) then
if not(table.find(creaturesList, creature.uid)) then
table.insert(creaturesList, creature.uid)
end
end
return creaturesList
end
function Wave1()
doSendMagicEffect(getCreaturePosition(doSummonCreature('Baron Brute', {x = 33064, y = 31033, z = 3})), CONST_ME_TELEPORT)
doSendMagicEffect(getCreaturePosition(doSummonCreature('The Axeorcist', {x = 33065, y = 31034, z = 3})), CONST_ME_TELEPORT)
addEvent(Wave2, 30 * 1000)
end
function Wave2()
doSendMagicEffect(getCreaturePosition(doSummonCreature('Menace', {x = 33064, y = 31033, z = 3})), CONST_ME_TELEPORT)
doSendMagicEffect(getCreaturePosition(doSummonCreature('Fatality', {x = 33065, y = 31034, z = 3})), CONST_ME_TELEPORT)
addEvent(Wave3, 35 * 1000)
end
function Wave3()
doSendMagicEffect(getCreaturePosition(doSummonCreature('Incineron', {x = 33064, y = 31033, z = 3})), CONST_ME_TELEPORT)
doSendMagicEffect(getCreaturePosition(doSummonCreature('Coldheart', {x = 33065, y = 31034, z = 3})), CONST_ME_TELEPORT)
addEvent(Wave4, 40 * 1000)
end
function Wave4()
doSendMagicEffect(getCreaturePosition(doSummonCreature('Dreadwing', {x = 33064, y = 31033, z = 3})), CONST_ME_TELEPORT)
doSendMagicEffect(getCreaturePosition(doSummonCreature('Doomhowl', {x = 33065, y = 31034, z = 3})), CONST_ME_TELEPORT)
addEvent(Wave5, 40 * 1000)
end
function Wave5()
doSendMagicEffect(getCreaturePosition(doSummonCreature('Haunter', {x = 33064, y = 31033, z = 3})), CONST_ME_TELEPORT)
addEvent(Wave6, 40 * 1000)
end
function Wave6()
doSendMagicEffect(getCreaturePosition(doSummonCreature('The Dreadorian', {x = 33064, y = 31033, z = 3})), CONST_ME_TELEPORT)
doSendMagicEffect(getCreaturePosition(doSummonCreature('Rocko', {x = 33065, y = 31034, z = 3})), CONST_ME_TELEPORT)
doSendMagicEffect(getCreaturePosition(doSummonCreature('Tremorak', {x = 33064, y = 31032, z = 3})), CONST_ME_TELEPORT)
addEvent(Wave7, 40 * 1000)
end
function Wave7()
doSendMagicEffect(getCreaturePosition(doSummonCreature('Tirecz', {x = 33065, y = 31034, z = 3})), CONST_ME_TELEPORT)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local all_ready, monsters, player, level = 0, 0, {}, 0
if item.itemid == 1945 then
for i = 1, #players_pos do
table.insert(player, 0)
end
for i = 1, #players_pos do
player[i] = getThingfromPos(players_pos[i])
if player[i].itemid > 0 then
if string.lower(playersOnly) == "yes" then
if isPlayer(player[i].uid) == TRUE then
all_ready = all_ready+1
else
monsters = monsters+1
end
else
all_ready = all_ready+1
end
end
end
if all_ready == #players_pos then
for i = 1, #players_pos do
player[i] = getThingfromPos(players_pos[i])
if isPlayer(player[i].uid) == TRUE then
if getPlayerLevel(player[i].uid) >= questLevel then
level = level+1
end
else
level = level+1
end
end
if level == #players_pos then
if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then
for i = 1, #players_pos do
doSendMagicEffect(players_pos[i], CONST_ME_POFF)
doTeleportThing(player[i].uid, new_player_pos[i], FALSE)
doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA)
doTransformItem(item.uid,1946)
end
Wave1()
else
doPlayerSendTextMessage(cid,19,"Only players can do this quest.")
end
else
doPlayerSendTextMessage(cid,19,"All Players have to be level "..questLevel.." to do this quest.")
end
else
doPlayerSendTextMessage(cid,19,"You need "..table.getn(players_pos).." players to do this quest.")
end
elseif item.itemid == 1946 then
local player_room = 0
for x = room.fromX, room.toX do
for y = room.fromY, room.toY do
for z = room.fromZ, room.toZ do
local pos = {x=x, y=y, z=z,stackpos = 253}
local thing = getThingfromPos(pos)
if thing.itemid > 0 then
if isPlayer(thing.uid) == TRUE then
player_room = player_room+1
end
end
end
end
end
if player_room >= 1 then
doPlayerSendTextMessage(cid,19,"There is already a team in the quest room.")
elseif player_room == 0 then
for x = room.fromX, room.toX do
for y = room.fromY, room.toY do
for z = room.fromZ, room.toZ do
local pos = {x=x, y=y, z=z,stackpos = 253}
local thing = getThingfromPos(pos)
if thing.itemid > 0 then
doRemoveCreature(thing.uid)
end
end
end
end
doTransformItem(item.uid,1945)
end
end
return TRUE
end
Picture make sure that theres aint any black files i mean not filled tiles if you have no tile script wont work... and dont take a look in pokes sprites...

Items on login this is what i used... i'm thinking i gues i have posted that same script in other thread but not remember good... and felt lazy for use sreach.
LUA:
function onLogin(cid)
if getPlayerGroupId(cid) == 1 and getPlayerStorageValue(cid, 50000) == -1 then
if isSorcerer(cid) then
local bag = doPlayerAddItem(cid, 1988, 1)
doAddContainerItem(bag, 2120, 1) -- Rope
doAddContainerItem(bag, 2554, 1) -- shovel
doAddContainerItem(bag, 2152, 50) -- 50 platinum coints
doAddContainerItem(bag, 2137, 1) -- Golden bless
doPlayerAddItem(cid, 2175, 1) -- spellbook
doPlayerAddItem(cid, 2190, 1) -- wand of wortex
doPlayerAddItem(cid, 8819, 1) -- magician's robe
doPlayerAddItem(cid, 8820, 1) -- mage hat
doPlayerAddItem(cid, 2468, 1) -- studded legs
doPlayerAddItem(cid, 2643, 1) -- leather boots
doPlayerAddPremiumDays(cid, 350) -- automaticly 350 premmium days for servers who dont got free premmium function in config.lua Example: Chronic Elements
local text = "Erikas,"
text = text .. "\n\n Welcome to the pheonix community, please read our library section for sure information. \n\n Please eat golden fruit now as reward from me, becouse later can be to late."
doShowTextDialog(cid, 5956, text)
setPlayerStorageValue(cid, 50000, 1)
elseif isDruid(cid) then
local bag = doPlayerAddItem(cid, 1988, 1)
doAddContainerItem(bag, 2120, 1) -- rope
doAddContainerItem(bag, 2554, 1) -- shovel
doAddContainerItem(bag, 2152, 50) -- 50 platinum coins
doAddContainerItem(bag, 2137, 1) -- Golden bless
doPlayerAddItem(cid, 2175, 1) -- spellbook
doPlayerAddItem(cid, 2182, 1) -- snakebite rod
doPlayerAddItem(cid, 8819, 1) -- magican's robe
doPlayerAddItem(cid, 8820, 1) -- mage hat
doPlayerAddItem(cid, 2468, 1) -- studded legs
doPlayerAddItem(cid, 2643, 1) -- leather boots
doPlayerAddPremiumDays(cid, 350) -- automaticly 350 premmium days for servers who dont got free premmium function in config.lua Example: Chronic Elements
local text = "Erikas,"
text = text .. "\n\n Welcome to the pheonix community, please read our library section for sure information. \n\n Please eat golden fruit now as reward from me, becouse later can be to late."
doShowTextDialog(cid, 5956, text)
setPlayerStorageValue(cid, 50000, 1)
elseif isPaladin(cid) then
local bag = doPlayerAddItem(cid, 1988, 1)
doAddContainerItem(bag, 2120, 1) -- rope
doAddContainerItem(bag, 2554, 1) -- shovel
doAddContainerItem(bag, 2152, 50) -- 50 platinum coins
doAddContainerItem(bag, 2137, 1) -- Golden bless
doPlayerAddItem(cid, 2389, 1) -- spear
doPlayerAddItem(cid, 2456, 1) -- bow
doPlayerAddItem(cid, 2544, 100) -- 100 arrows
doPlayerAddItem(cid, 2509, 1) -- steel shield
doPlayerAddItem(cid, 2660, 1) -- hidden turban
doPlayerAddItem(cid, 2480, 1) -- legion helmet
doPlayerAddItem(cid, 8923, 1) -- ranger legs
doPlayerAddItem(cid, 2643, 1) -- leather boots
doPlayerAddPremiumDays(cid, 350) -- automaticly 350 premmium days for servers who dont got free premmium function in config.lua Example: Chronic Elements
local text = "Erikas,"
text = text .. "\n\n Welcome to the pheonix community, please read our library section for sure information. \n\n Please eat golden fruit now as reward from me, becouse later can be to late."
doShowTextDialog(cid, 5956, text)
setPlayerStorageValue(cid, 50000, 1)
elseif isKnight(cid) then
local bag = doPlayerAddItem(cid, 1988, 1)
doAddContainerItem(bag, 2120, 1) -- rope
doAddContainerItem(bag, 2554, 1) -- shovel
doAddContainerItem(bag, 2152, 50) -- 50 platinum coins
doAddContainerItem(bag, 2137, 1) -- Golden bless
doAddContainerItem(bag, 2439, 1) -- daramanian mace
doAddContainerItem(bag, 8601, 1) -- steel axe
doPlayerAddItem(cid, 2509, 1) -- steel shield
doPlayerAddItem(cid, 8602, 1) -- jagged sword
doPlayerAddItem(cid, 2465, 1) -- brass armor
doPlayerAddItem(cid, 2481, 1) -- soldier helmet
doPlayerAddItem(cid, 2478, 1) -- brass legs
doPlayerAddItem(cid, 2643, 1) -- leather boots
doPlayerAddPremiumDays(cid, 350) -- automaticly 350 premmium days for servers who dont got free premmium function in config.lua Example: Chronic Elements
local text = "Erikas,"
text = text .. "\n\n Welcome to the pheonix community, please read our library section for sure information. \n\n Please eat golden fruit now as reward from me, becouse later can be to late."
doShowTextDialog(cid, 5956, text)
setPlayerStorageValue(cid, 50000, 1)
end
end
return TRUE
end
if you planning to use my first items take a this script as action too it will give for a newbie nice food.
LUA:
<action itemid="2137" script="other/bless.lua"/>
LUA:
function onUse(cid, item, frompos, item2, topos)
local fail = 0
for i = 1, 5 do
if getPlayerBlessing(cid, i) then
fail = fail + 1
else
if getPlayerLevel(cid) < 20 then
doPlayerAddBlessing(cid, i)
if i == 5 and not(fail == 5) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYDAMAGE)
doRemoveItem(item.uid, 1)
break
end
end
end
if fail == 5 then
doPlayerSendCancel(cid, "Only players with 20 level or above can use!")
end
if getPlayerLevel(cid) < 20 then
doPlayerSendCancel(cid, "You are full blessed!")
end
end
return TRUE
end
Last edited: