Ir para conteúdo

[CTF] Capture The Flag 2.0(Automático)


Posts Recomendados

Autor: MaXwEllDeN

Versão testada: TFS 0.4.0

 

#Introdução

 

Este é um sistema de rouba bandeira, no qual tem dois times que se enfrentam e tentam se infiltrar na fortaleza do inimigo, roubar a bandeira dele e retornar para sua base com ela.

 

 

ScreenShots:

20p22yd.png2n24o68.png

 

#Instalação

 

Faça o download do sistema e cole na pasta do seu servidor.

Após ter instalado os arquivos nas suas respectivas pastas e instalado as tags

nos arquivos xml, abra a pasta do seu servidor, e em seguida abra a pasta spells/scripts/support, e abra o arquivo invisible.lua com algum editor de texto, depois de

 

 

function onCastSpell(cid, var)

cole isso:

 

if (getPlayerStorageValue(cid, 16700) ~= -1) then
   return doPlayerSendCancel(cid, "Você não pode usar invisible durante o CTF!") and doSendMagicEffect(getThingPos(cid), 2)
end

ficando assim:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_INVISIBLE)
setConditionParam(condition, CONDITION_PARAM_TICKS, 200000)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
   if (getPlayerStorageValue(cid, 16700) ~= -1) then
      return doPlayerSendCancel(cid, "Você não pode usar invisible durante o CTF!") and doSendMagicEffect(getThingPos(cid), 2)
   end

   return doCombat(cid, combat, var)
end

#Configuração

 

Como na maioria dos meus códigos: as configurações ficam na lib, então:

 

 

 

 

 

 

 

waitpos = {x = 93, y = 117, z = 6}, -- Posição da sala de espera
tppos = {x = 92, y = 117, z = 7}, -- Onde o TP vai aparecer
 
days = {2, 5, 7}, -- Dias que o evento vai abrir
xp_percent = 0.5, -- Porcentagem de xp que o player vai receber quando ganhar
timeclose = 1, -- Tempo para iniciar o CTF
winp = 10,
waitpos = {x = 93, y = 117, z = 6}, -- Posição da sala de espera

 

Posição onde os players que entrarem no teleport vão ficar esperando, até o evento iniciar

 

tppos = {x = 92, y = 117, z = 7}, -- Onde o TP vai aparecer

Posição de onde o teleport vai aparecer

 

days = {2, 5, 7}, -- Dias que o evento vai abrir

 

Dias que o evento vai iniciar.

 

1 - Domingo

2 - Segunda

3 - Terça

4 - Quarta

5 - Quinta

6 - Sexta

7 - Sábado

xp_percent = 0.5, -- Porcentagem de exp que o player vai ganhar

 

Quando o evento acaba, os players da equipe que venceu ganham uma quantidade de experiência baseada na experiência que eles já têm, exemplo:

 

Meu player tem 1200000000 de exp, quando o evento acabar, ele vai ganhar 0.5% da exp que ele tem, no caso desse exemplo 6000000 de exp.

 

timeclose = 1, -- Tempo, em minutos, para iniciar o CTF

 

Tempo para o teleport sumir e os players que estão na sala de espera serem teletransportados para o evento.

 

 

winp = 10, -- Quantos pontos uma equipe precisa marcar para vencer

 

Quantos pontos uma equipe precisa marcar para vencer o evento.

 

 

Para configurar o horário que o evento vai abrir, é só você modificar na tag do globalevents.xml:

 

<globalevent name="CTFCheck" time="19:33:00" event="script" value="CTFMax.lua"/>

 

Você não precisa criar as bandeiras pelo map editor. O script irá adicioná-las automaticamente.

 

É isso, essa versão é uma remake, vários bugs reportados pela galera na v.1 foram corrigidos, o script ficou mais simples

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

Ótimo script Max, muito boa a organização de todo seu tópico, impossível de não entender.

Já coloquei tudo em meu servidor, falta apenas o mapa..

Existe algum mapa em particular que deve ser usado junto com o evento?

 

Obrigado pela contribuição button_ok.png

Link para o comentário
Compartilhar em outros sites

-- deu erro aqui no globalevent... onde tinha OnTimer alterei para OnTime e funcionou....

 

-- outra: esse sistema ai é por limite, placar... não teria como colocar por tempo junto?

// terminando quando alguem chegar aos 10 pontos ou entao se der 10 minutos, da empate ou quem ficou com mais pontos vencer..

 

-- e quando termina o evento, apenas o time perdedor é mandado pro templo... o vencedor fica preso la no evento... alguma solução?

 

-- também poderia adicionar uma recompensa, além dos 0.5 de exp, dar algo em torno de 100k para o time vencedor...

 

-- não sei se é um bug, mas derrepente, se passar uns 2 minutos a bandeira sai do player e volta pro local lá...

 

-- Se usarem STEALTH RING? também buga o evento???

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

passa o tempo e os player ficam na sala de espera e nao saem tem outro lugar alem da lib para editar?

 

agora eu vi o erro mais o time que ganha fica preso no evento aqui pelo menos fico uso tfs 0.4

Faz o download de novo do que eu postei, ontem eu fiz o upload de uma versão que corrigia esse bug. Abraço.

Link para o comentário
Compartilhar em outros sites

Max me tira umas duvidas, a sala de espera precisa ter acesso para o evento?

 

Eu tenho que montar meu mapa e criar uma "cidade" para cada time, certo? Dai dps da sala de espera eles vao cada um para sua "cidade"?

Link para o comentário
Compartilhar em outros sites

vei tu é foda vlw pelo script aew

 

Vlw, mas nem :x

 

 

Max me tira umas duvidas, a sala de espera precisa ter acesso para o evento?

 

Eu tenho que montar meu mapa e criar uma "cidade" para cada time, certo? Dai dps da sala de espera eles vao cada um para sua "cidade"?

 

Não, a sala não pode ter acesso ao evento. Tem que montar uma cidade, que tenha dois templos para cada equipe.

Link para o comentário
Compartilhar em outros sites

Eu fiz tudo exatamente igual, o evento acontece certinho, teleporta os players para os times etc. Mas quando (por exemplo) alguem do time verde tenta roubar a bandeira do time vermelho, ele eh "kikado" do sqm que serve para pegar a bandeira... E quando o cara do verde vai no sqm de entregar a bandeira verde aparece "Vc nao esta com a bandeira!".

 

So nao ta dando pra roba a bandeira mesmo...

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...