Голосование
#1

PHP код:
#define MAX_MAP 300
    
if(!strcmp(cmdtext,"/base",true,5))
    {
        new 
string[255];
        if(
Player[playerid][pTeam] != T_DEFSendClientMessage(playeridCOLOR_GREY"* Äàííîå ãîëîñîâàíèå òîëüêî äëÿ çàùèòíèêîâ");
        else if(
Current != -1SendClientMessage(playeridCOLOR_GREY"* Èãðà íà áàçå óæå íà÷àëàñü, âû íå ìîæåòå ãîëîñîâàòü â äàííûé ìîìåíò.");
        else if(!
strlen(cmdtext[6])) SendClientMessage(playeridCOLOR_GREY" Èñïîëüçóéòå: /base [baseid]");
        else {
            new 
baseid strval(cmdtext[6]);
            if(
baseid >= MAX_MAPSendClientMessage(playeridCOLOR_GREY" Äàííàÿ áàçà íå ñóùåñòâóåò, ââåäèòå /bases äëÿ ïðîñìîòðà ñïèñêà áàç.");
            else if(
BaseFile[baseid]) SendClientMessage(playeridCOLOR_GREY" Äàííàÿ áàçà íå ñóùåñòâóåò, ââåäèòå /bases äëÿ ïðîñìîòðà ñïèñêà áàç.");
            else {
                
Votes2[baseid] = Votes2[baseid] +1;
                
Player[playerid][pVoted] = true;
                
format(string,255,"%s ãîëîñîâàë çà áàçó #%d"Playername(playerid), baseid);
                
SendClientMessageToAll(COLOR_YELLOWstring);
                 if(!
Voting)
                {
                    
Voting true;
                    new 
i;
                    while((
MAX_MAP) || (MAX_PLAYERS))
                    {
                        if(
MAX_MAPVotes2[i] = 0;
                        if(
MAX_PLAYERSPlayer[i][pVoted] = false;
                        
i++;
                    }
                    
VotingTime 20;
                    
VoteMove();
                }
            }
        }
        return 
1;
    }
    if(!
strcmp(cmdtext,"/arena",true,6))
    {
        new 
string[255];
        if(
Current != -1SendClientMessage(playeridCOLOR_GREY"* Èãðà íà àðåíå óæå íà÷àëàñü, âû íå ìîæåòå ãîëîñîâàòü â äàííûé ìîìåíò.");
        else if(!
strlen(cmdtext[7])) SendClientMessage(playeridCOLOR_GREY" Èñïîëüçóéòå: /arena [arenaid]");
        else {
            new 
arenaid strval(cmdtext[7]);
            if(
arenaid >= MAX_MAPSendClientMessage(playeridCOLOR_GREY" Äàííîé àðåíû íå ñóùåñòâóåò, ââåäèòå /arenas äëÿ ïðîñìîòðà ñïèñêà àðåí");
            else if(!
ArenFile[arenaid]) SendClientMessage(playeridCOLOR_GREY" Äàííîé àðåíû íå ñóùåñòâóåò, ââåäèòå /arenas äëÿ ïðîñìîòðà ñïèñêà àðåí");
            else {
                
Votes[arenaid] = Votes[arenaid] +1;
                
Player[playerid][pVoted] = true;
                
format(string,255,"%s ïðîãîëîñîâàë çà àðåíó #%d"Playername(playerid), arenaid);
                
SendClientMessageToAll(COLOR_YELLOWstring);
                 if(!
Voting)
                {
                    
Voting true;
                    new 
i;
                    while((
MAX_MAP) || (MAX_PLAYERS))
                    {
                        if(
MAX_MAPVotes[i] = 0;
                        if(
MAX_PLAYERSPlayer[i][pVoted] = false;
                        
i++;
                    }
                    
VotingTime 20;
                    
VoteMove();
                }
            }
        }
        return 
1;
    }
forward VoteMove();
public 
VoteMove()
{
    if((
Current != -1) || !Voting) return 0;
    
VotingTime--;
    if(
VotingTime <= 0)
    {
        
Voting false;
        new 
BaseIDArenaID;
        new 
maxam 0tmparenas[300];
        for (new 
0<= MAX_MAPi++)
        {
            if (
!= BaseID)
            {
                if (
Votes2[i] > Votes2[BaseID]){
                    
BaseID i;
                }
            }
        }
        for (new 
0<= MAX_MAPi++)
        {
            if (
!= ArenaID)
            {
                if (
Votes[i] > Votes[ArenaID]){
                    
ArenaID i;
                }
            }
        }
        if(
BaseID ArenaID){
            for (new 
0<= MAX_MAPi++)
            {
                if (
Votes2[i] == Votes2[BaseID]){
                    
tmparenas[maxam] = i;
                    
maxam++;
                }
            }
            
StartMode(tmparenas[random(maxam)], BASE);
        } else {
            for (new 
0<= MAX_MAPi++)
            {
                if (
Votes[i] == Votes[ArenaID]){
                    
tmparenas[maxam] = i;
                    
maxam++;
                }
            }
            
StartMode(tmparenas[random(maxam)], ARENA);
        }
          return 
1;
    }
    
SetTimer("VoteMove",1000,0);
    return 
0;

Как привести в работоспособность данный код. Если проголосовало большее кол-во за 5 арену, то запустил ее, а если за базу то базу запустил мод.
Reply
#2

Так кто подскажет как правильно будет сделать VoteMove. Я ведь и не так уж часто о чем то прошу.
Reply
#3

Quote:
Originally Posted by Nikid
Посмотреть сообщение
Так кто подскажет как правильно будет сделать VoteMove. Я ведь и не так уж часто о чем то прошу.
и ты уверен что это причина по которой все просто обязаны подорваться и помогать тебе?Может нет ни кого, или заняты?!
Reply
#4

а что тебе мешает проверять сколько проголосовало за определенное место и запускать.

Пример
Код:
if(armydm == 5) { ZapuskArmydm(); }
else if (bazadm == 5) { ZapuskBazaDm(); }
а при голосовании если за армию то armydm++, или bazadm++ и все
Reply
#5

Quote:
Originally Posted by vampir9763
Посмотреть сообщение
а что тебе мешает проверять сколько проголосовало за определенное место и запускать.

Пример
Код:
if(armydm == 5) { ZapuskArmydm(); }
else if (bazadm == 5) { ZapuskBazaDm(); }
а при голосовании если за армию то armydm++, или bazadm++ и все
Votes2[baseid] = Votes2[baseid] +1;
Votes[baseid] = Votes[baseid] +1;
Quote:
Originally Posted by Stepashka
Посмотреть сообщение
и ты уверен что это причина по которой все просто обязаны подорваться и помогать тебе?Может нет ни кого, или заняты?!
Но ты нашел свободное время и почему-то сложно помочь. А экстрасенсов тут я не ищу.
Reply
#6

Между прочим он потратил ровно столько времени, сколько мог. А чтобы даже несколько строк кода написать нужно потратить время на осмысление, как минимум.

Да, и ты, Nikid, узко мыслишь - это доказывают 2 вещи:
1) не считаешься с тем сколько у других времени.
2) вместо кучи условий и разноимённых переменных для очков голосования мог бы использовать массив и заняло бы это меньше места.

Да, я потратил время, но учить кого-то элементарным вещам старики точно не будут тут.
Reply
#7

Например? У меня получается сделать только, что проголосую за 5 арену там 2 раза и раз за 5 базу и все равно запустит базу.
Reply
#8

проверки делай необходимые и все, там дело пары проверок, код прилагать не буду, так как выше пример был
Reply
#9

Quote:
Originally Posted by vampir9763
Посмотреть сообщение
проверки делай необходимые и все, там дело пары проверок, код прилагать не буду, так как выше пример был
.... .

Почему код в 1 посте не работает?
Reply
#10

Quote:
Originally Posted by Nikid
Посмотреть сообщение
Почему код в 1 посте не работает?
Начнем с простого, код большой, разбираться в нем некогда, так что: что конкретно не работает?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)