Ir para conteúdo

Script De Mudar De Mapa Igual Ao X-Dream


Garrius

Posts Recomendados

Fala ae pessoal!

Bom, vou escrever tudo bem detalhado, para que vocês entendam o que eu quero, e o que eu tenho.

 

Começando com o meu Server. Bom, eu baixei o server Rookwar, que está disponibilizado na área de download do XTibia, e ele é 8.6.

 

É o seguinte: Sabe o server "X-DREAM"? Se sim, ótimo. Se não, o X-DREAM é um servidor de war, onde tem 2 times (Green e Red) e eles se enfrentam durante 30 minutos em um mapa, depois existe um sistema que muda de mapa, e todos os players são movidos para os templos de acordo com seu time, e assim vai...

 

Pois bem, eu tenho um Server e está praticamente pronto. Só falta 2 coisas. Mas o mais importante mesmo e o que eu estou pedindo, é o que eu disse logo acima "existe um sistema que muda de mapa."

 

Calma! Não saia do tópico ainda! Só preciso de toquezinho no script que eu "acho" que é o script que faz mudar de mapa que eu achei na pasta do X-DREAM.

 

Bom, como eu disse antes, meu Server está pronto. Portanto, eu já tenho todos os mapas (eu que fiz. Portanto, não está dando nenhum erro no launcher, que é o que não acontece quando alguém apenas copia o mapa de alguém, e dá aqueles erros todos com uniqueid, e etc..).

 

Eu falei logo acima que eu acho que é o script que faz mudar de mapa. Pois bem, aqui está o script:

 

Em data/creaturescript/script tem uma pasta chamada "mine". Dentro dela, tem 5 arquivos.lua que são:

 

attack.lua:

 

 

function onCombat(cid, target)

return onPlayerAttack(cid, target)

end

 

 

items.lua:

 

 

function onLogin(cid)

return doPlayerAddEquipment(cid)

end

 

 

look.lua:

 

 

function onLook(cid, thing, position, lookDistance)

return doPlayerShowFragsCount(cid, thing, position, lookDistance)

end

 

 

main.lua:

 

 

function onLogin(cid)

registerCreatureEvent(cid, "WarProtect")

registerCreatureEvent(cid, "WarLook")

registerCreatureEvent(cid, "WarAttack")

return doPlayerSetTeam.login(cid)

end

 

function onLogout(cid)

return doPlayerSetTeam.logout(cid)

end

 

 

protect.lua

 

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

return onKillPlayer(cid, lastHitKiller, mostDamageKiller)

end

 

 

Agora no creaturescripts.xml está escrito isso:

 

<?xml version="1.0" encoding="UTF-8"?>

<creaturescripts>

<event type="login" name="PlayerLogin" event="script" value="login.lua"/>

<event type="death" name="PlayerDeath" event="script" value="playerdeath.lua"/>

<event type="joinchannel" name="GuildMotd" event="script" value="guildmotd.lua"/>

<event type="receivemail" name="Mail" event="script" value="mail.lua"/>

 

<event type="preparedeath" name="WarProtect" event="script" value="mine/protect.lua"/>

<event type="login" name="WarLogin" event="script" value="mine/main.lua"/>

<event type="logout" name="WarLogout" event="script" value="mine/main.lua"/>

<event type="look" name="WarLook" event="script" value="mine/look.lua"/>

 

<event type="login" name="Wellcome" event="script" value="wellcome.lua"/>

<event type="death" name="DeathBroadcast" script="deathBroadcast.lua"/>

<!--<event type="login" name="check" event="script" value="check.lua"/>-->

</creaturescripts>

 

 

 

Perceba que não tem o arquivo FirstItems, pois já falo o porque.

 

 

Agora em data/globalevents/scripts tem outra pasta chamada "mine" e dentro tem 2 arquivos .lua. que são:

 

changeArea

 

 

function ChangeMap(clean, save)

doChangeMap(TRUE, TRUE)

doPlayerPopupFYI(cid, "Map has been changed. New area is ".. map.towns[map.get()][1] ..". You can now login.")

return TRUE

end

 

function onThink1(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 1 second.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(ChangeMap, 1000)

return TRUE

end

 

function onThink2(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 2 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink1, 1000)

return TRUE

end

 

function onThink3(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 3 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink2, 1000)

return TRUE

end

 

function onThink4(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 4 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink3, 1000)

return TRUE

end

 

function onThink5(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 5 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink4, 1000)

return TRUE

end

 

function onThink6(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 6 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink5, 1000)

return TRUE

end

 

function onThink7(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 7 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink6, 1000)

return TRUE

end

 

function onThink8(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 8 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink7, 1000)

return TRUE

end

 

function onThink9(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 9 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink8, 1000)

return TRUE

end

 

function onThink10(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 10 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink9, 1000)

return TRUE

end

 

function onThink11(interval, lastExecution)

broadcastMessage("Auto-Kick for Map change in 30 seconds.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink10, 25000)

return TRUE

end

 

function onThink12(interval, lastExecution)

broadcastMessage("Map will change in 1 minute.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink11, 30000)

return TRUE

end

 

function onThink(interval, lastExecution)

broadcastMessage("Map will change in 5 minutes.", MESSAGE_STATUS_CONSOLE_BLUE)

addEvent(onThink12, 210000)

end

 

 

temple:

 

 

function onThink(clean, save)

doChangeMap(TRUE, FALSE)

doPlayerChangeTemple(cid)

broadcastMessage("Map has been changed to ".. MAP_NAME[areaId.get()] ..".", MESSAGE_EVENT_ADVANCE)

return TRUE

end

 

 

 

Daí no arquivo glovalevents.xml tem isso:

globalevents.xml

 

<globalevent name="changeArea" interval="1500" event="script" value="mine/changeArea.lua"/>

 

 

 

 

Agora em lib, tem um arquivo .lua chamado "mine" e dentro dele tem isso:

 

mine.lua:

 

--The War Server v1.2 (Crying lef)---------------------------------------------------

--by Keraxel-------------------------------------------------------------------------

--for otcentrum.pl && otland.net-----------------------------------------------------

--Thanks to: TFS Developers (TFS), Masiar (awesome blowjobs)-------------------------

--do not remove this comments!-------------------------------------------------------

-------------------------------------------------------------------------------------

--based on The Forgotten Server 0.3.4pl2---------------------------------------------

--ALL done in lua!-------------------------------------------------------------------

-------------------------------------------------------------------------------------

--If you found any bug report it on a site(s) bellow:--------------------------------

--http://otland.net.pl/dystrybucje/38-8-42-war-server-v1-1-crying-lef.html-----------

--http://otland.net/f18/8-4-war-server-v1-0-a-25886/---------------------------------

-------------------------------------------------------------------------------------

--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--

 

--[[

TEAM #1,

TEAM #2

]]

 

TEAMS_OUTFITS = {

{ colors = {114, 113, 132, 95}, addons = 3 },

{ colors = {0, 82, 119, 120}, addons = 3 }

}

 

RUNES = {} --[[##do not touch it!##]]

-- {antibot, normal}

RUNES.UH = {2275, 2273}

RUNES.SD = {2263, 2268}

RUNES.EXPLO = {2312, 2313}

RUNES.HMM = {2314, 2311}

RUNES.GFB = {2307, 2304}

RUNES.PBOMB = {2270, 2286}

RUNES.EBOMB = {2282, 2262}

RUNES.FBOMB = {2306, 2305}

RUNES.MW = {2294, 2293}

GLOBAL_RUNE_TYPE = 2

if ANTIBOT_RUNES then

GLOBAL_RUNE_TYPE = 1

end

 

ITEMS = {} --[[##do not touch it!##]]

--for empty slot use nil or false

--[[sorcerer]] ITEMS[5] = {

9778, --1 // head // yalahari mask

2200, --2 // necakle // protection amulet

2000, --3 // backpack // red backpack

8890, --4 // armor // robe of the underworld

8922, --5 // right hand // wand of voodoo

8918, --6 // left hand // spellbook of dark mysteries

7730, --7 // legs // blue legs

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

nil, --10 // ammo slot // EMPTY

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.SD[GLOBAL_RUNE_TYPE], false}, --SD

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{RUNES.HMM[GLOBAL_RUNE_TYPE], false}, --HMM

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{7590, true}, --GMP

{RUNES.MW[GLOBAL_RUNE_TYPE], false} --magic wall rune

}

 

--[[druid]] ITEMS[6] = {

9778, --1 // head // yalahari mask

2200, --2 // necakle // protection amulet

2002, --3 // backpack // blue backpack

8866, --4 // armor // serpent coat

8910, --5 // right hand // underworld rod

8918, --6 // left hand // spellbook of dark mysteries

7730, --7 // legs // blue legs

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

nil, --10 // ammo slot // EMPTY

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.SD[GLOBAL_RUNE_TYPE], false}, --SD

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{7590, true}, --GMP

{RUNES.MW[GLOBAL_RUNE_TYPE], false} --magic wall rune

}

 

--[[paladin]] ITEMS[7] = {

2493, --1 // head // demon helmet

2200, --2 // necakle // protection amulet

2003, --3 // backpack // grey backpack

8888, --4 // armor // master archer's armor

8850, --5 // right hand // chain bolter

nil, --6 // left hand // EMPTY

9777, --7 // legs // yalahari leg piece

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

6529, --10 // ammo slot // infernal bolts

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.SD[GLOBAL_RUNE_TYPE], false}, --SD

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{8472, true}, --GSP

{RUNES.MW[GLOBAL_RUNE_TYPE], false} --magic wall rune

}

 

--[[knight]] ITEMS[8] = {

2493, --1 // head // demon helmet

2200, --2 // necakle // protection amulet

1999, --3 // backpack // yellow backpack

9776, --4 // armor // yalahari armor

2431, --5 // right hand // stonecutter axe

6433, --6 // left hand // necromancer shield

2470, --7 // legs // golden legs

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

nil, --10 // ammo slot // EMPTY

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{7591, true}, --GHP

{7620, true} --mana potion

}

 

ITEMS[1], ITEMS[2], ITEMS[3], ITEMS[4] = ITEMS[5], ITEMS[6], ITEMS[7], ITEMS[8]

ITEMS[0] = ITEMS[1] --prevents debugs

 

 

STORAGE = {

PLAYER = {

TEAM_INFO = 40000

},

GLOBAL = {

TEAMS = {40001, 40002},

TEAMS_COUNT = {40011, 40012},

AREA_ID = 40020

}

}

 

--[[ ##do not change anything below this line!## ]]

BAG_OF_SSA = getBooleanFromString(getConfigValue("addBagOfSSA"))

ANTIBOT_RUNES = getBooleanFromString(getConfigValue("antibotRunes"))

LEVEL_GAIN_FOR_KILL = tonumber(getConfigValue("levelGainForKill"))

ANTI_RELOG_TIME = tonumber(getConfigValue("antiRelogTime"))

DEFAULT_LEVEL = tonumber(getConfigValue("defaultLevel"))

MAXIMUM_LEVEL = tonumber(getConfigValue("maximumLevel"))

 

INITIALIZED = false

---------------------------------------------------------------------

---------------------------------------------------------------------

---------------------------------------------------------------------

 

map = {

towns = {

{"Fibula", {2, 3}},

{"Thais", {11, 12}},

{"X-Dream", {14, 15}},

{"Dream", {17, 18}},

{"Rookwar", {34, 35}},

{"Forgotten Land", {37, 38}},

},

 

get = function ()

return getGlobalStorageValue(STORAGE.GLOBAL.AREA_ID)

end,

 

removeIssue = function ()

if map.get() < 1 or map.get() > #map.towns then

print("map.removeIssue: issue has been removed :: map was ".. map.get())

return setGlobalStorageValue(STORAGE.GLOBAL.AREA_ID, 1)

end

return FALSE

end,

 

set = function ()

map.removeIssue()

return setGlobalStorageValue(STORAGE.GLOBAL.AREA_ID, (map.get() % #map.towns) + 1)

end

}

 

playerTeam = {

get = function (cid)

return ((getPlayerStorageValue(cid, STORAGE.PLAYER.TEAM_INFO) == STORAGE.GLOBAL.TEAMS[1]) and 1) or 2

end,

 

set = function (cid, id)

return setPlayerStorageValue(cid, STORAGE.PLAYER.TEAM_INFO, id)

end

}

 

teamCount = {

get = function (teamId)

return getGlobalStorageValue(STORAGE.GLOBAL.TEAMS_COUNT[teamId])

end,

 

add = function (teamId, count)

return setGlobalStorageValue(STORAGE.GLOBAL.TEAMS_COUNT[teamId], teamCount.get(teamId) + count)

end,

 

rem = function (teamId, count)

return teamCount.add(teamId, -count)

end

}

 

doPlayerSetTeam = {

login = function (cid)

-- print("getSmallestTeam(): "..getSmallestTeam())

if getPlayerAccess(cid) < 3 then

local time = ANTI_RELOG_TIME or 2000

local team = getSmallestTeam()

playerTeam.set(cid, STORAGE.GLOBAL.TEAMS[team])

-- print(type(TEAMS_OUTFITS[team].colors) .."\n".. type(TEAMS_OUTFITS[team].addons))

doWarCreatureChangeOutfit(cid, TEAMS_OUTFITS[team].colors, TEAMS_OUTFITS[team].addons)

doPlayerSetTown(cid, map.towns[map.get()][2][playerTeam.get(cid)])

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

teamCount.add(team, 1)

doPlayerAddSoul(cid, -getPlayerSoul(cid))

doSendMagicEffect(getCreaturePosition(cid), 37)

end

-- print("Team 1 count: "..teamCount.get(1).."\nTeam 2 count: "..teamCount.get(2))

return TRUE

end,

 

logout = function (cid)

if getPlayerAccess(cid) < 3 then

local team = playerTeam.get(cid)

-- print("playerTeam.get(cid): "..team)

teamCount.rem(team, 1)

playerTeam.set(cid, FALSE)

-- print("Team 1 count: "..teamCount.get(1).."\nTeam 2 count: "..teamCount.get(2))

end

return TRUE

end

 

}

 

function doWarCreatureChangeOutfit(cid, colors, addons)

local outfit = getCreatureOutfit(cid)

if type(colors) == "number" then

colors = {colors, colors, colors, colors}

end

outfit.lookHead, outfit.lookBody, outfit.lookLegs, outfit.lookFeet = unpack(colors)

outfit.addons = addons or 3

doCreatureChangeOutfit(cid, outfit)

return true

end

 

function doChangeMap(clean, save)

map.set()

for _, pid in ipairs(getPlayersOnline()) do

if getPlayerAccess(pid) < 3 then

local temple = map.towns[map.get()][2][playerTeam.get(cid)]

local oldPosition = getCreaturePosition(pid)

doPlayerPopupFYI(pid, "Map has been changed. New area is ".. map.towns[map.get()][1] ..". You can now login.")

doRemoveCreature(pid)

end

end

 

if clean then

doCleanMap()

end

if save then

doSaveServer()

end

 

doBroadcastMessage("Map has been changed. New area is ".. map.towns[map.get()][1] ..".", MESSAGE_STATUS_CONSOLE_BLUE)

print(">> ".. os.date() .." :: Map has been changed. New area is ".. map.towns[map.get()][1] ..".")

return TRUE

 

end

 

function getSmallestTeam()

return (teamCount.get(1) > teamCount.get(2) and 2) or 1

end

 

 

function doPlayerSetLevel(cid, level)

return doPlayerAddExperience(cid, (getExperienceForLevel(level) - getPlayerExperience(cid)))

end

 

function doPlayerAddLevel(cid, amount)

return doPlayerAddExperience(cid, getExperienceForLevel(getPlayerLevel(cid) + amount) - getPlayerExperience(cid))

end

 

function doResetTeams(teams)

for team = 1, #teams do

setGlobalStorageValue(teams[team], 0)

end

return true

end

 

function doInitializeServer()

doResetTeams(STORAGE.GLOBAL.TEAMS_COUNT)

INIT = true

return print(">> X-Dream War has been initialized <<")

end

 

if not(INIT) then

addEvent(doInitializeServer, 500)

end

 

function onKillPlayer(cid, lastHitKiller, mostDamageKiller)

if isPlayer(cid) then

if isPlayer(lastHitKiller) then

doPlayerAddSoul(lastHitKiller, 1)

doSendAnimatedText(getCreaturePosition(lastHitKiller), "FRAG!", 144, lastHitKiller)

if isPlayer(mostDamageKiller) and mostDamageKiller ~= lastHitKiller then

doPlayerAddSoul(mostDamageKiller, 1)

doSendAnimatedText(getCreaturePosition(mostDamageKiller), "FRAG!", 150, mostDamageKiller)

end

if getBooleanFromString(getConfigValue("experienceByKillingPlayers")) and lastHitKiller ~= cid then

if BAG_OF_SSA and lastHitKiller ~= cid then

doPlayerBuyItemContainer(lastHitKiller, 1996, 2197, 1, 0, 5)

if mostDamageKiller ~= lastHitKiller then

doPlayerBuyItemContainer(mostDamageKiller, 1996, 2197, 1, 0, 5)

end

end

local gainLevel = LEVEL_GAIN_FOR_KILL

if tonumber(gainLevel) == nil then

gainLevel = math.floor(getPlayerLevel(cid) * 20000.00) --Aqui você muda a quantidade de experiencia que vai ser adicionado nos Killers

local gold = (math.random (getPlayerLevel(cid)/50, getPlayerLevel(cid)/10))

doPlayerAddItem(mostDamageKiller, 2148, gold)

end

--print("lastHitKiller: ".. lastHitKiller) print("mostDamageKiller: ".. mostDamageKiller) print("cid: ".. cid) print("MAXIMUM_LEVEL:") print(MAXIMUM_LEVEL)

--print("\n\n\n") print(lastHitKiller ~= cid) print(MAXIMUM_LEVEL == nil) print(getPlayerLevel(mostDamageKiller) < MAXIMUM_LEVEL)

if (lastHitKiller ~= cid) and ((MAXIMUM_LEVEL == nil) or (getPlayerLevel(lastHitKiller) < MAXIMUM_LEVEL)) then

doPlayerAddExperience(lastHitKiller, gainLevel)

end

if ((mostDamageKiller ~= lastHitKiller) and (mostDamageKiller ~= cid)) and ((MAXIMUM_LEVEL == nil) or (getPlayerLevel(mostDamageKiller) < MAXIMUM_LEVEL)) then

doPlayerAddExperience(mostDamageKiller, gainLevel)

doPlayerAddItem(mostDamageKiller, 2148, gold)

end

end

end

 

if tonumber(DEFAULT_LEVEL) ~= nil then

doPlayerSetLevel(cid, DEFAULT_LEVEL)

end

 

local oldPosition = getCreaturePosition(cid)

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

doCreatureAddHealth(cid, getCreatureMaxHealth(cid), TRUE)

doCreatureAddMana(cid, (getCreatureMaxMana(cid) - getCreatureMana(cid)))

doSendMagicEffect(getCreaturePosition(cid), 37)

doSendMagicEffect(oldPosition, 2)

doRemoveConditions(cid, FALSE)

doPlayerAddSoul(cid, -getPlayerSoul(cid))

return FALSE

end

return TRUE

end

 

function doPlayerShowFragsCount(cid, thing, position, lookDistance)

if isPlayer(thing.uid) and getPlayerAccess(thing.uid) < 3 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Frags: " .. getPlayerSoul(thing.uid))

end

return TRUE

end

 

function doPlayerAddEquipment(cid)

if getPlayerAccess(cid) < 3 then

local vocItems = ITEMS[getPlayerVocation(cid)]

for i = CONST_SLOT_HEAD, CONST_SLOT_AMMO do

local slotItem = getPlayerSlotItem(cid, i)

if slotItem.itemid > 0 then

doRemoveItem(slotItem.uid)

end

if vocItems and vocItems ~= nil and i ~= CONST_SLOT_BACKPACK then

if i == CONST_SLOT_AMMO then

doPlayerAddItem(cid, vocItems, 100)

else

doPlayerAddItem(cid, vocItems)

end

 

end

end

 

local backpack = doPlayerAddItem(cid, vocItems[CONST_SLOT_BACKPACK], 1)

for b = 11, #vocItems do

if vocItems and vocItems ~= nil then

if vocItems[2] then

vocItems[3] = vocItems[3] or 1

doPlayerBuyItemContainer(cid, 2000, vocItems[1], 1, 0, vocItems[3])

else

doAddContainerItem(backpack, vocItems[1], vocItems[3])

end

end

end

end

return TRUE

end

 

function onPlayerAttack(cid, target)

if cid ~= target and isPlayer(cid) and isPlayer(target) and playerTeam.get(cid) == playerTeam.get(target) then

doPlayerSendCancel(cid, "You cannot attack your teammates.")

return FALSE

end

return TRUE

end

 

 

 

Começando com esse script (só lembrando que esse script é o da pasta do X-DREAM e não do meu! Portanto, as cores dos times, os items, os mapas são do X-DREAM. O meu eu mudei algumas coisas. Já explico).

As cores do time:

 

 

TEAMS_OUTFITS = {

{ colors = {114, 113, 132, 95}, addons = 3 },

{ colors = {0, 82, 119, 120}, addons = 3 }

}

 

 

 

eu coloquei as cores que eu queria (isso eu sei mexer)

 

 

Agora vem o que eu não queria. Os items. Lá no começo do tópico, tem um trecho em vermelho (lá no creaturescript.xml) Eu falei que não tem o arquivo Firstitems (script que dá os items quando entra pela primeira vez.) Isso porque tem o arquivo em data/actions/quest chamado questinicial. É um baú que fica em todos os templos (no X-DREAM), e ele dá os items de acordo com a vocação. E aqui está o script dos items

 

Items no arquivo mine.lua

 

 

RUNES = {} --[[##do not touch it!##]]

-- {antibot, normal}

RUNES.UH = {2275, 2273}

RUNES.SD = {2263, 2268}

RUNES.EXPLO = {2312, 2313}

RUNES.HMM = {2314, 2311}

RUNES.GFB = {2307, 2304}

RUNES.PBOMB = {2270, 2286}

RUNES.EBOMB = {2282, 2262}

RUNES.FBOMB = {2306, 2305}

RUNES.MW = {2294, 2293}

GLOBAL_RUNE_TYPE = 2

if ANTIBOT_RUNES then

GLOBAL_RUNE_TYPE = 1

end

 

ITEMS = {} --[[##do not touch it!##]]

--for empty slot use nil or false

--[[sorcerer]] ITEMS[5] = {

9778, --1 // head // yalahari mask

2200, --2 // necakle // protection amulet

2000, --3 // backpack // red backpack

8890, --4 // armor // robe of the underworld

8922, --5 // right hand // wand of voodoo

8918, --6 // left hand // spellbook of dark mysteries

7730, --7 // legs // blue legs

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

nil, --10 // ammo slot // EMPTY

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.SD[GLOBAL_RUNE_TYPE], false}, --SD

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{RUNES.HMM[GLOBAL_RUNE_TYPE], false}, --HMM

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{7590, true}, --GMP

{RUNES.MW[GLOBAL_RUNE_TYPE], false} --magic wall rune

}

 

--[[druid]] ITEMS[6] = {

9778, --1 // head // yalahari mask

2200, --2 // necakle // protection amulet

2002, --3 // backpack // blue backpack

8866, --4 // armor // serpent coat

8910, --5 // right hand // underworld rod

8918, --6 // left hand // spellbook of dark mysteries

7730, --7 // legs // blue legs

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

nil, --10 // ammo slot // EMPTY

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.SD[GLOBAL_RUNE_TYPE], false}, --SD

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{7590, true}, --GMP

{RUNES.MW[GLOBAL_RUNE_TYPE], false} --magic wall rune

}

 

--[[paladin]] ITEMS[7] = {

2493, --1 // head // demon helmet

2200, --2 // necakle // protection amulet

2003, --3 // backpack // grey backpack

8888, --4 // armor // master archer's armor

8850, --5 // right hand // chain bolter

nil, --6 // left hand // EMPTY

9777, --7 // legs // yalahari leg piece

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

6529, --10 // ammo slot // infernal bolts

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.SD[GLOBAL_RUNE_TYPE], false}, --SD

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{8472, true}, --GSP

{RUNES.MW[GLOBAL_RUNE_TYPE], false} --magic wall rune

}

 

--[[knight]] ITEMS[8] = {

2493, --1 // head // demon helmet

2200, --2 // necakle // protection amulet

1999, --3 // backpack // yellow backpack

9776, --4 // armor // yalahari armor

2431, --5 // right hand // stonecutter axe

6433, --6 // left hand // necromancer shield

2470, --7 // legs // golden legs

6132, --8 // feet // soft boots

2214, --9 // ring // ring of healing

nil, --10 // ammo slot // EMPTY

----

--items to a backpack -- {id, inBackpack[, count/subtype]}

----

{RUNES.UH[GLOBAL_RUNE_TYPE], false, 2}, --UH

{RUNES.EXPLO[GLOBAL_RUNE_TYPE], false}, --EXPLOSION

{2274, false}, --avalanche rune

{RUNES.GFB[GLOBAL_RUNE_TYPE], false}, --GFB

{2261, false}, --destroy field rune

{RUNES.PBOMB[GLOBAL_RUNE_TYPE], false}, --poison bomb rune

{RUNES.FBOMB[GLOBAL_RUNE_TYPE], false}, --firebomb rune

{RUNES.EBOMB[GLOBAL_RUNE_TYPE], false}, --energy bomb rune

{7591, true}, --GHP

{7620, true} --mana potion

}

 

ITEMS[1], ITEMS[2], ITEMS[3], ITEMS[4] = ITEMS[5], ITEMS[6], ITEMS[7], ITEMS[8]

ITEMS[0] = ITEMS[1] --prevents debugs

 

 

E esse aqui é o arquivo questinicial.lua. O que eu falei agora.

 

 

function onUse (cid, item, frompos, item2, topos)

playervoc = getPlayerVocation(cid)

container = doPlayerAddItem(cid, 5926, 1)

container2 = doAddContainerItem(container, 5926, 1)

if playervoc == 1 then -- Especifica se o player é sorcerer

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 5, 1110)

doPlayerAddSpentMana(cid, 212500)

doPlayerAddItem(cid, 2323, 1)

doPlayerAddItem(cid, 2656, 1)

doPlayerAddItem(cid, 7730, 1)

doPlayerAddItem(cid, 2195, 1)

doPlayerAddItem(cid, 8920, 1)

doPlayerAddItem(cid, 8900, 1)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 7590, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2268, 100)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

doAddContainerItem(container2, 2286, 100)

 

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

if playervoc == 2 then -- Especifica se o player é druid

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 5, 1110)

doPlayerAddSpentMana(cid, 212500)

doPlayerAddItem(cid, 2323, 1)

doPlayerAddItem(cid, 2656, 1)

doPlayerAddItem(cid, 7730, 1)

doPlayerAddItem(cid, 2195, 1)

doPlayerAddItem(cid, 8912, 1)

doPlayerAddItem(cid, 8900, 1)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 7590, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2268, 100)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

doAddContainerItem(container2, 2269, 100)

doAddContainerItem(container2, 2278, 100)

 

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

if playervoc == 6 then -- Especifica se o player é warlock

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 5, 1110)

doPlayerAddSpentMana(cid, 212500)

doPlayerAddItem(cid, 2323, 1)

doPlayerAddItem(cid, 2656, 1)

doPlayerAddItem(cid, 7730, 1)

doPlayerAddItem(cid, 2195, 1)

doPlayerAddItem(cid, 2110, 1)

doPlayerAddItem(cid, 8900, 1)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 7590, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2268, 100)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

 

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

if playervoc == 7 then -- Especifica se o player é sharpshooter

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 4, 2953)

doPlayerAddSkillTry(cid, 5, 562)

doPlayerAddSpentMana(cid, 74800)

doPlayerAddItem(cid, 2498, 1)

doPlayerAddItem(cid, 8891, 1)

doPlayerAddItem(cid, 2488, 1)

doPlayerAddItem(cid, 2195, 1)

doPlayerAddItem(cid, 8849, 1)

doPlayerAddItem(cid, 2547, 100)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 8472, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2268, 100)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

 

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

if playervoc == 3 then -- Especifica se o player é hunter

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 4, 2953)

doPlayerAddSkillTry(cid, 5, 562)

doPlayerAddSpentMana(cid, 74800)

doPlayerAddItem(cid, 2498, 1)

doPlayerAddItem(cid, 8891, 1)

doPlayerAddItem(cid, 2488, 1)

doPlayerAddItem(cid, 2195, 1)

doPlayerAddItem(cid, 8855, 1)

doPlayerAddItem(cid, 7364, 100)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 8472, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2268, 100)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

 

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

if playervoc == 4 then -- Especifica se o player é berserker

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 3, 4920)

doPlayerAddSkillTry(cid, 5, 3795)

doPlayerAddItem(cid, 5741, 1)

doPlayerAddItem(cid, 2492, 1)

doPlayerAddItem(cid, 2488, 1)

doPlayerAddItem(cid, 2645, 1)

doPlayerAddItem(cid, 2431, 1)

doPlayerAddItem(cid, 2519, 1)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 7591, 1)

doAddContainerItem(container, 7620, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

if playervoc == 5 then --Especifica se o player é hero

if item.uid == 8600 then -- Unique ID colocado no mapa

queststatus = getPlayerStorageValue(cid, 8600) -- Storage Value

if queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid, 22, "You have got your skills.") --Mensagem da Quest

doPlayerAddSkillTry(cid, 2, 4920)

doPlayerAddSkillTry(cid, 5, 9845)

doPlayerAddItem(cid, 5741, 1)

doPlayerAddItem(cid, 2492, 1)

doPlayerAddItem(cid, 2488, 1)

doPlayerAddItem(cid, 2645, 1)

doPlayerAddItem(cid, 2400, 1)

doPlayerAddItem(cid, 2519, 1)

doAddContainerItem(container, 1969, 1)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 2789, 100)

doAddContainerItem(container, 8473, 1)

doAddContainerItem(container, 7620, 1)

doAddContainerItem(container, 2420, 1)

doAddContainerItem(container, 2120, 1)

doAddContainerItem(container2, 2273, 100)

doAddContainerItem(container2, 2293, 100)

doAddContainerItem(container2, 2308, 100)

doAddContainerItem(container2, 2261, 100)

doAddContainerItem(container2, 2315, 100)

doAddContainerItem(container2, 2274, 100)

doAddContainerItem(container2, 2304, 100)

doAddContainerItem(container2, 2288, 100)

doAddContainerItem(container2, 2313, 100)

doAddContainerItem(container2, 2262, 100)

doAddContainerItem(container2, 2305, 100)

doAddContainerItem(container2, 2286, 100)

setPlayerStorageValue(cid, 8600, 1) --Storage Value

else

doPlayerSendTextMessage(cid,22,"You have found 2 backpacks.") -- Mensagem Caso Player já tenha feito a Quest

end

else

return 0

end

return 1

end

 

end

 

 

Note que é um arquivo ligado no outro. Já que o MEU OT tem o arquivo Firstitems, não tem o menor sentido ter essa parte do script no meu ot.

 

 

 

Ai agora tem isso aqui:

 

STORAGE = {

PLAYER = {

TEAM_INFO = 40000

},

GLOBAL = {

TEAMS = {40001, 40002},

TEAMS_COUNT = {40011, 40012},

AREA_ID = 40020

}

}

 

 

Não faço a menor ideia do que seja isso.

 

 

Depois disso tem isso:

 

 

--[[ ##do not change anything below this line!## ]]

BAG_OF_SSA = getBooleanFromString(getConfigValue("addBagOfSSA"))

ANTIBOT_RUNES = getBooleanFromString(getConfigValue("antibotRunes"))

LEVEL_GAIN_FOR_KILL = tonumber(getConfigValue("levelGainForKill"))

ANTI_RELOG_TIME = tonumber(getConfigValue("antiRelogTime"))

DEFAULT_LEVEL = tonumber(getConfigValue("defaultLevel"))

MAXIMUM_LEVEL = tonumber(getConfigValue("maximumLevel"))

 

INITIALIZED = false

---------------------------------------------------------------------

---------------------------------------------------------------------

---------------------------------------------------------------------

 

 

Isso aí é o seguinte. Isso aí ta ligado no config.lua.. Vou mostrar para vocês: (uma parte do arquivo .lua)

 

 

-- War -> Mine / Other

addBagOfSSA = "no" -- on kill other player // add Bag Of Stone Skin Amulets (traduzindo: em matar o outro jogador / / adiciona Bag Of Stone Skin Amulets)

antibotRunes = "no" -- use antibot runes // if not server'll use normal runes (traduzindo: usar runas anti bot / / se não o servidor irá utilizar runes normais [coloquei no google tradutor rsrs, então não ta muito certo])

defaultLevel = 150 -- when player will die then they will get this level // type nil for disable (traduzindo: quando o jogador morrer, ele vai obter esse nível // coloque nil para desativar)

maximumLevel = 250 -- type nil to disable (traduzindo: coloque nil para desativar)

levelGainForKill = nil -- type nil to make it dependent on level (configurable: onKillPlayer)

 

 

Ou seja, essas configurações eu também não quero. Gostaria que fosse normal. Tipo, no meu server quando o player mata o outro recebe apenas dinheiro e não bag de ssa. E também se o player morrer, perde apenas um porcentagem do level. Tipo, eu testei colocando "nil" ali no defaultLevel, e coloquei a porcentagem de deadporcent no config.lua. Mas não adiantou.

 

[Agora vem a parte dos mapas:

 

map = {

towns = {

{"Fibula", {2, 3}},

{"Thais", {11, 12}},

{"X-Dream", {14, 15}},

{"Dream", {17, 18}},

{"Rookwar", {34, 35}},

{"Forgotten Land", {37, 38}}

 

 

Esse aí, eu editei tudo certinho no RME, apertei Ctrl + T, daí editei lá a position de cada templo.

 

Agora o resto do Script, eu não sei o que é.

Mas resumindo tudo, Eu só quero esse script de mudar de mapa e se possível o sistema que balanceia os times. O resto eu quero que tire pois eu já tenho minhas funções como no caso do firsitems.

 

Bom, quem puder me ajudar, me fale bem certinho pois só sei o básico dos básicos sobre script. Se tiver que mudar alguma coisa em algum script, se puder colocar o script todo com as mudanças eu agradeço.

 

Se precisar de qualquer coisa também, estou olhando aqui direto.

 

Putz, eu sei que é meio grande, mas é só pra explicar o que tem sobre trocar de de mapa. Acho que o principal mesmo seria ali no arquivo mine.lua

Se quiserem ir direto naquela parte, tudo bem.. Mas eu postei todos os arquivos que falam sobre trocar de mapa, então se precisar ta tudo ae.

Editado por Garrius
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...