RO
moveevent

[Trick] Team Balance

Por Roksas, 28 de ago. de 2013 em Actions e Talkactions

script
8
1.6k
RoksasR
28 de agosto de 2013 às 21:45

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 Agosto 28 por Roksas

LisbekyL
28 de agosto de 2013 às 22:00

é uma pena ... q vc abandonou a parada comigo ... :S mais é isso aew

 

vlw

 

bom script este!

 

OBS: só naum intendo por q me blockiou :X vlw fuiz

28 de agosto de 2013 às 22:05

Muito bom roksas continue assim.

ScythePhantomS
29 de agosto de 2013 às 13:14

De fato irá ajudar á muitos, parabéns, Edu.

AdministradorA
29 de agosto de 2013 às 20:20

Adoro suas contribuições e scripts Roksas, parabéns.

RoksasR
29 de agosto de 2013 às 20:28

#Obrigado Gus haha. Uma dica aí pro GOTS ;)

29 de agosto de 2013 às 21:44

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

RoksasR
29 de agosto de 2013 às 21:45

Exato ;D