CR
action

Cast System(Prototipo)

Por cristofermartins, 27 de abr. de 2015 em Linguagens de Programação

otserv
script
7
1.5k
cristofermartinsC
27 de abril de 2015 às 17:31

Eu desenvolvi ontem um cast system básico. Ele é baseado em todos os casts que você acha por ai, especialmente esse daqui: https://github.com/otland/forgottenserver/pull/994

 

O que ele tem diferente?

Até agora se mostrou estável, não dá debugs nem crasha a distro(o mais importante) e é bem simples. Fiz ele por que os casts disponiveis não foram feitos em sua maioria por programadores, e sim amadores que se propuseram a adaptar a source do Elf(um desenvolvedor antigo do tfs) de 0.3.x para 1.0+. Esses casts tem um codigo bem feio e mal organizado. Eu tentei fazer algo mais bem feito e organizado.

 

Não recomendo a usar em produção(servidor online com players).

 

No futuro pretendo adicionar mais comandos como banir, kick, trocar o nome do spectador, etc. Por enquanto o foco é testar se tá 100% estavel(sem dar crash).

 

Source:

 

https://github.com/HeavenIsLost/cast

 

Executavel(32 bits):

 

http://www.mediafire.com/download/f9pe9fp921bhi47/theforgottenserver+Cast.exe

 

Schema para ser adicionado no banco de dados:

 

CREATE TABLE IF NOT EXISTS `live_casts` (
`player_id` int(11) NOT NULL,
`cast_name` varchar(255) NOT NULL,
`password` boolean NOT NULL DEFAULT false,
`description` varchar(255),
`spectators` smallint(5) DEFAULT 0,
UNIQUE KEY `player_id_2` (`player_id`),
FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB;

 

 

 

Comando para ativar o cast(encontrado no talkactions.xml):

 

 

Abre o cast:

 

!cast

 

Com senha:

 

!cast senha

 

Fecha o cast:

 

!stopcast

 

Comandos que o caster pode dar(dentro do channel do cast):

 

 

Mostra lista de spectators:

 

/spectators

 

Kika um spectator do cast:

 

/kick nomedospectator

 

Bani um spectator do cast:

 

/ban nomedospectator

 

Desbani um spectator do cast:

 

/unban nomedospectator

 

Muta um spectator:

 

/mute nomedospectator

 

Desmuta um spectator:

 

/unmute spectator

 

Troca senha do cast:

 

/password senha

 

Ps: esse funciona melhor do que o do Djarek por que não envolve multithread e tals.

Edit:

Editado Abril 29 por cristofermartins

KronoK
28 de abril de 2015 às 12:45

Aprovado e movido para area de programação.

Gostei bastante. Que seu trabalho dé muitos frutos.

smowkingS
28 de abril de 2015 às 14:32

Poxa cara, agora sim, realmente um cast que vale a pena colocar no servidor sem o "medo" de ter problemas futuros!

cristofermartinsC
29 de abril de 2015 às 11:48

Atualizado.

Adicionado comandos para o caster.

Fixado o problema com a senha do cast.

29 de abril de 2015 às 13:33

Muito bom amigo, parabéns por manter opensource no github!

 

Pra popularizar mais, seria interessante umas fotos dele e quem sabe propor implementar o sistema no repositório

oficial do TFS

QwizerQ
29 de abril de 2015 às 13:58

Muito bom, parabéns.

1 mês depois...
MartelixM
09 de maio de 2015 às 12:29

Muito bom cara, obrigado mesmo!

Talvez darei uma olhada aqui na máquina, é porque desinstalei a segunda partição que continha o Linux, aí já sabe, nem compensa abrir no Windows.

Realmente obrigado por ajudar tanta gente que achava que alguns Cast System eram uma maravilha, mas na verdade só complicava por gerar erros que muitos não sabem resolver.

Apoiado.