[7.6] Sistema De Votação

  • 1
  • 2

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

HiHo!

Esse code eh um sistema d votação que qndo o GM fla "/voto [msg]", aparece uma mensagem para os players dizendo o tópico e tbm dizendo como votar ("/votar yes" ou "/votar no".). Quando o GM digita "/voto" novamente, aparece uma msg para os players dizendo que a votação foi encerrada, qntos players votaram e qntos foram os votos contra e a favor.

Vamos começar:

Commands.cpp

abaixo de

{"/kick",&Commands::kickPlayer},

add

 

	{"/votar",&Commands::msgvote},	{"/voto",&Commands::votegm},

 

no fim de Commands.cpp

 

bool Commands::msgvote(Creature* c, const std::string &cmd, const std::string &param){     Player* player = dynamic_cast<Player*>©;if(player){if(game->votacao == true){if(player->jahvotou == false)     {                 if(param == "yes")     {          player->jahvotou = true;          game->votosyes++;          std::ostringstream info;          info << "Você votou 'sim'.";    player->sendTextMessage(MSG_BLUE_TEXT, info.str().c_str());     }     else if(param == "no")     {          player->jahvotou = true;          game->votosno++;          std::ostringstream info;          info << "Você votou 'não'.";    player->sendTextMessage(MSG_BLUE_TEXT, info.str().c_str());     }     else     {          std::ostringstream info;          info << "Digite '/votar yes' para votar sim e '/votar no' para votar não.";    player->sendTextMessage(MSG_BLUE_TEXT, info.str().c_str());     }}else {          std::ostringstream info;          info << "Você já votou.";    player->sendTextMessage(MSG_BLUE_TEXT, info.str().c_str());}}else {          std::ostringstream info;          info << "Não há votação ocorrendo no momento.";    player->sendTextMessage(MSG_BLUE_TEXT, info.str().c_str());}}}bool Commands::votegm(Creature *c, const std::string &cmd, const std::string &param){    std::ostringstream msg;     if(game->votacao == false)     {     //inicia a votacao     msg << "Votaçao iniciada. Tópico: " << param << ". Para votar digite /votar yes ou /votar no.";     game->votacao = true;     for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it)	{  (*it).second->sendTextMessage(MSG_EVENT, msg.str().c_str());	}     }     else     {     //encerra a votacao     int number = game->votosyes + game->votosno;     int votyes = game->votosyes;     int votno = game->votosno;     msg << "Votação encerrada. " << number << " votaram. Destes, " << votyes << " votaram sim e " << votno << " votaram não.";     game->votacao = false;     game->votosyes = 0;     game->votosno = 0;     for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it)	{  (*it).second->sendTextMessage(MSG_EVENT, msg.str().c_str());        (*it).second->jahvotou = false;	}     }}

 

Commands.h

em baixo de

bool kickPlayer(Creature* c, const std::string &cmd, const std::string &param);

add

 

    bool msgvote(Creature* c, const std::string &cmd, const std::string &param);    bool votegm(Creature *c, const std::string &cmd, const std::string &param);

 

Game.cpp

acima de

void Game::addCommandTag(std::string tag){

add

 

int votosyes = 0;int votosno = 0;bool votacao = false;

 

Game.h

acima de

void addCommandTag(std::string tag);

add

 

	int votosyes;	int votosno;	bool votacao;

 

Player.cpp

procure por

maglevel   = 20;

em baixo add

 

    jahvotou = false;

 

Player.h

procure por

int premiumTicks;

em baixo add

 

    bool jahvotou;

 

Não se esqueca de compilar e adicionar em commands.xml o access para os comandos: "/voto" (access de GM) e "/votar" (access de Player)

FlW

CyA!

----- edited -----

ty colex... neim tinha visto que tinha skecido de fechar o [ code]... uaHuAHuAHuA... ¬¬

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


colex

Serviços Prestados a Comunidade
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/10/05Posts: 301Gênero: Masculino

aeeeee

mt legal esse code

axu ke vc erro aki: (misturou tudo =P)

 

jahvotou = false;[code]Player.hprocure por
int premiumTicks;
em baixo add

Presley

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/11/05Posts: 20

soh uma coisa, oq eu falo pra fz esse code, tipo eu falo /vote, /votar oq???

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

@Presley

O GM terá que abrir a seção de votação digitando "/voto [ASSUNTO]". Os players irão receber em sua tela uma mensagem dizendo que podem votar (digitando "/votar [yes ou no]"). Para encerrar a votação basta o GM digitar "/voto" denovo.

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


Presley

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/11/05Posts: 20
@Presley

O GM terá que abrir a seção de votação digitando "/voto [ASSUNTO]". Os players irão receber em sua tela uma mensagem dizendo que podem votar (digitando "/votar [yes ou no]"). Para encerrar a votação basta o GM digitar "/voto" denovo.

FlW

CyA!

 

 

 

blz vlw aew kra

Haryy

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/06/06Posts: 6

EITA QUE D+ isse ai eh bom manow vlws

FireSoul

Alem de Scripter
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/04/06Posts: 44

cara aonde q ta esse comando ccp????

eu num axei nenhum arquivo aki ccp.

:bye:

-----------------------------------------------LAST---------------------------------------------------

girl22.jpg

------------------------------------------------ADS'--------------------------------------------------

9jnpqg.png

---------------------------------------------------------------------------------------------------

frerety

DVNO
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 08/04/06Posts: 133

HiHo!

@FireSoul

O "Commands.cpp" é um dos arquivos (sources) que compilados criam um executável. Como já dito acima, você precisará das sources e também saber compilar otservers. Para aprender, vá na seção tutoriais e olhe um de como compilar...

FlW

CyA!

It's the hunger; the hunger for an alternative and the refusal to accept a life of unhappiness.


Zen

~Léozera~
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/01/06Posts: 37Char no Tibia: Zen Knight

Olá,

Aqui o Comando foi sem Erros!

Thx

Atenciosamente,

Zen

zenfanbar.jpg

zenhf.jpg

URAMESHI

Banido
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 04/07/06Posts: 16

muito rox!!!gostei!!!esse eu vo usa no meu ot!!!

QUOTE
Assinatura removida por estar fora das regras.
Xedegux.

Holly Angel

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 15/08/06Posts: 110Char no Tibia: Alca Morth

Muito manero este code! Legal esse systen de votação, sempre util! Vlws Frerety!

'

 



Tibia Gold Times 7.4

Em breve

 

 

~ Holly Angel come back !

detonatoor

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/07/06Posts: 9

procurei int premiumTicks; em player.h e nao axei

Noxidy__

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/09/06Posts: 87

kio massaaa

:)

coloka no meu

pra estreia hoje jah :)

flw

noxxxdlm8.jpg

Sou:
64zw4.jpg

NPC MAKER

Contact me:
j.jungblut@hotmail.com

Sindi

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/05/06Posts: 12

Aewww Vlw mesmo Muito bom isso meu amigo testo deu certo no meu pc quandu eu abro o serve debuga as acc dos players desaparecem das pasta me ajuda.

afk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/12/05Posts: 43

Gostei pra caramba

vlw

flwz

Procuro equipe. Trabalhos abaixo
___________________________________________________
Faço Trabalhos de:
user posted image
user posted image


SUPORTE - MSN = GABIRU_8@HOTMAIL.COM

STATUS: ONLINE


___________________________________________________

user posted image
user posted image
user posted image
user posted image


Posts
[10]X
[50]X
[100]X
[150]X
[200]X
[250]X
[300]X
[350]X
[400]X
[500]
  • 1
  • 2