Ir para conteúdo

[Trick] Team Balance


Roksas

Posts Recomendados

Team Balance

Saudações galerinha, ultimamente tenho visto muitos servidores e pedidos de servidores War. Neste tópico estarei dando uma dica muito importante para divisão de times (Team Balance) em eventos, etc.

divisor.png

É bem simples, criamos um movements (onStepIn) para quando chegar na hora do evento por exemplo, nós mandarmos todos que estão na sala de espera, ou que estão participando do evento, para um tile.

 

Oque fará este tile?

O tile deverá ter um ActionID, seguido de um script, no qual setará o time do indivíduo que pisar nele e após isso mudar o seu ActionID. Nisto, ao segundo player pisar, irá mudar seu time para o adversário e voltará para o antigo ActionID, desta maneira irá intercalando, não deixando nenhum time desbalanceado de players.

Exemplo:

function onStepIn(cid, item, pos)

    if item.actionid == 15000 then
    do(funções para setar time)
    doSetItemActionId(item.uid, item.actionid - 1)
    elseif item.actionid == 14999 then
    do(funções para setar outro time)
    doSetItemActionId(item.uid, item.actionid + 1)
end
    return true
end

Aonde 15000 é o ActionID inicial do tile e 14999 um número a mais do que ele.

Só isso mesmo galerinha, boa sorte nos seus servidores rsrs.

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

Roksas o script do evento fica +- asssim?

 

 

local config = {
storageTeamOne = 6666,
storageTeamTwo = 6667,
teamOne = {
outfitMale = {lookType = 128, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}, -- 94 representa a cor vermelha.
outfitFemale = {lookType = 136, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94},
templeId = 2
},
teamTwo = {
outfitMale = {lookType = 128, lookHead = 87, lookBody = 87, lookLegs = 87, lookFeet = 87}, -- 82 representa a cor verde.
outfitFemale = {lookType = 136, lookHead = 87, lookBody = 87, lookLegs = 87, lookFeet = 87},
templeId = 3
}
}
local conditionBlue = createConditionObject(CONDITION_OUTFIT)
setConditionParam(conditionBlue, CONDITION_PARAM_TICKS, 1800 * 1000)
addOutfitCondition(conditionBlue, {lookType = 152, lookHead = 87, lookBody = 87, lookLegs = 87, lookFeet = 87})
local conditionRed = createConditionObject(CONDITION_OUTFIT)
setConditionParam(conditionRed, CONDITION_PARAM_TICKS, 1800 * 1000)
addOutfitCondition(conditionRed, {lookType = 143, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94})

function onStepIn(cid, item, pos)
if item.actionid == 15000 then
if getPlayerSex(cid) == 0 then
doCreatureChangeOutfit(cid, config.teamOne.outfitFemale)
else
doCreatureChangeOutfit(cid, config.teamOne.outfitMale)
end
doTeleportThing(cid, getTownTemplePosition(config.teamOne.templeId))
setPlayerStorageValue(cid, config.storageTeamOne, 1)
doPlayerSendTextMessage(cid, 22, "Voce Entrou no Time Vermelho !")
doAddCondition(cid, conditionRed)
doSetItemActionId(item.uid, item.actionid - 1)
elseif item.actionid == 14999 then
if getPlayerSex(cid) == 0 then
doCreatureChangeOutfit(cid, config.teamTwo.outfitFemale)
else
doCreatureChangeOutfit(cid, config.teamTwo.outfitMale)
end
doTeleportThing(cid, getTownTemplePosition(config.teamTwo.templeId))
setPlayerStorageValue(cid, config.storageTeamTwo, 1)
doAddCondition(cid, conditionBlue)
doPlayerSendTextMessage(cid, 22, "Voce Entrou no Time Azul !")
doSetItemActionId(item.uid, item.actionid + 1)
end
return true
end

 

 

e uma gambiarra que fiz mais ta vlw =s

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...