MA
sistema

[Ctf] Capture The Flag

Por MaXwEllDeN, 21 de out. de 2012 em Mods, funções e outros

capture the flag ctf
otserv
script
14
5k
MaXwEllDeNM
21 de outubro de 2012 às 10:45

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:

29xyi9t.pngkbefee.jpg20p22yd.png2n24o68.png

 

#Instalação

 

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

 

3CaRNl.png

 

Após ter instalado os arquivos nas suas respectivas pastas 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, _CTF_LIB.teamssto) > 0) 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, _CTF_LIB.teamssto) > 0) 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:

 

_CTF_LIB.flags = {
		 [_CTF_LIB.redid] = {pos = {x = 744, y = 638, z = 6},
							 posEflag = {x = 744, y = 644, z = 6},
							 id = 1435, color = 180, na = "Vermelho",
							 temple = 3,								

 

 

							 temple = 3,								

Esse é o id do templo que os players do time vermelho serão teletransportados.

 

pos = {x = 744, y = 638, z = 6},

 

Posição de onde a bandeira do time fica

 

							 posEflag = {x = 744, y = 644, z = 6},

Posição de onde os players do time entregam a bandeira.

 

	 winp = 2,
	 recompCTF = {{2160, 2}},

	 nopen = true, -- Precisa usar o comando para abrir? false não true sim

	 TownExit = 1, -- Templo que o player será teletransportado quando acabar o evento ou ele sair dele.

	 price = false, -- Preço para entrar no Evento, caso não precise Digite false.

 

	 winp = 2,
	 recompCTF = {{2160, 2}},

winp : pontos que um time precisará fazer para ganhar o evento.

recompCTF: recompensa que o time ganhará ao vencer o CTF. para adicionar mais só é você fzer assim:

 

	 recompCTF = {{2160, 2}, {7542, 1}},

2160 é o id do item que vai adicionar, e 2 é a quantidade.

7542 é o id do item que vai adicionar, e 1, é a quantidade.

 

nopen = true, -- Precisa usar o comando para abrir? false não true sim

se precisar usar o comando /ctf open para abrir o evento coloque true, se não precisar coloque false.

 

	 TownExit = 1, -- Templo que o player será teletransportado quando acabar o evento ou ele sair dele.

	 price = false, -- Preço para entrar no Evento, caso não precise Digite false.

TownExit: id do templo que o player será teletransportado quando ele sair do evento ou quando o adm usar /ctf close.

price: preço para entrar no evento em gold coins, caso não precise deixe false.

 

Não esqueçam de criar um teleport dentro do evento, com a actionid 47521, caso os players queiram sair do evento happy.png

 

E aqui acabamos mais um código.. '-' Flw ae xD :D.

Qualquer bug não se acanhe em falar :p

 

Abraço.

Editado Novembro 17 por MaXwEllDeN

SkyLighS
21 de outubro de 2012 às 11:04

Esta bem legal ! foi você quem fez ? se não foi ponha os créditos

MaXwEllDeNM
21 de outubro de 2012 às 11:22

Autor: MaXwEllDeN

Versão testada: TFS 0.4.0

22 de outubro de 2012 às 02:02

Sensacional amigo, aprecio muito os códigos desenvolvidos pelo próprio autor do tópico, principalmente um sistema bacana desses.

 

Tópico muito bem formatado, excelente, parabéns.

MaXwEllDeNM
25 de outubro de 2012 às 02:10

Sensacional amigo, aprecio muito os códigos desenvolvidos pelo próprio autor do tópico, principalmente um sistema bacana desses.

 

Tópico muito bem formatado, excelente, parabéns.

 

Muito Obrigado ^^.

1 mês depois...
NoninhouhN
01 de novembro de 2012 às 23:11

Não teria como desponibiliza o mapa?

 

Tirando isso, ficou perfeito...

Tudo arrumado, facil de configura, e um bom evento para otservers

3 semanas depois...
MaXwEllDeNM
17 de novembro de 2012 às 18:37

Transformei o sistema em um Mod, para ficar mais organizado.

roger09R
19 de novembro de 2012 às 13:31

Tem como disponibilizar o mapa? ou não precisa de mapa?

Editado Novembro 19 por roger09

2 semanas depois...
eickhoffE
30 de novembro de 2012 às 00:29

Pow bacana o sistema, mas tem uns erros... se as 2 equipes tiverem com a bandeira, da pra entregar mesmo assim, ou seja, é como uma corrida, seria mais bacana se só desse pra entregar caso a sua bandeira tivesse la na base... outra coisa tbm q seria legal q fosse um evento de tempo, tipo teria uma hora certa pra começar, sei la 17:00 começa o evento, ai abre um teleport, a galera vai pra uma sala de espera, fica la por 3 min, depois disso dividia a galera na equipe vermelha e verde... pq do jeito q ta , se alguem entrar rapido no evento, ele fica la sozinho, pega as bandeiras e entrega, mole...

outro erro tbm é q quando o evento acaba, o templo do player muda pra la '-'

AlexandreKGA
05 de dezembro de 2012 às 09:49

Cara,muito bom amanha te do REP hoje ja dei.Parabéns pelo seu trabalho vou usar em meu servidor.

ghazerG
05 de dezembro de 2012 às 21:09

Is good event but I think if it work for tileid can work more perfect, make to work for teleport

MaXwEllDeNM
05 de dezembro de 2012 às 22:16

Tem como disponibilizar o mapa? ou não precisa de mapa?

O mapa que eu tenho não passa de 25x25 SQMs'(Ou melhor, não tenho, perdí o servidor que fiz o sistema)

 

Pow bacana o sistema, mas tem uns erros... se as 2 equipes tiverem com a bandeira, da pra entregar mesmo assim, ou seja, é como uma corrida, seria mais bacana se só desse pra entregar caso a sua bandeira tivesse la na base... outra coisa tbm q seria legal q fosse um evento de tempo, tipo teria uma hora certa pra começar, sei la 17:00 começa o evento, ai abre um teleport, a galera vai pra uma sala de espera, fica la por 3 min, depois disso dividia a galera na equipe vermelha e verde... pq do jeito q ta , se alguem entrar rapido no evento, ele fica la sozinho, pega as bandeiras e entrega, mole...

outro erro tbm é q quando o evento acaba, o templo do player muda pra la '-'

Tipo, o único ERRO que eu ví uqe realmente tem é esse de o evento acabar, que pode até ter sido algo mal configurado por você na lib, o resto não são erros, o sistema foi feito para trabalhar assim.

 

 

Cara,muito bom amanha te do REP hoje ja dei.Parabéns pelo seu trabalho vou usar em meu servidor.

 

Vlw [:

ghazerG
07 de dezembro de 2012 às 19:22

Need add to start for teleport and player when take flag have a low speed

11 meses depois...
kinglekkeK
11 de novembro de 2013 às 18:52

pode me ajudar , nao tem 1 portal para abrir altomaticamente assim fika mais facil para mim