Pontuaзгo Guerra
#1

Bom galera quero fazer um sistema que tipo a cada 5 Minutos uma organizaзгo que tiver com mais membros dentro da zona de guerra ganha 1 Ponto por maioria , porem ta dando certo tipo a pontuaзгo e o tempo o problema esta sendo que , ta contando por membro na zona tipo tem 2 DE UMA ORG e 1 DA OUTRA os 3 pontua tipo:
2 DA ORG TERRORISTA GANHOU 2 PONTO
1 DA EXERCITO GANHOU 1 Ponto,

Porйm queria que so a ORG Terrorista ganhasse 1 Ponto por ser maioria de membros na zona de guerra teria como alguem me ajudar

Code:
stock EndGuerra2()
{
    for(new x; x < MAX_ORGS; ++x){
	    new gStr[128];
		new orgid = GetPlayerOrg(x);
		if(TendoGuerra)
		{
		   	if(orgid==3||orgid==15||orgid==23)
			if(IsPlayerInGuerra(x) && orgid != -1)
			{
				 //GPTS[x]++;
		 		if(GPTS[orgid] == GPTS[orgid] || GPTS[orgid] > GPTS[orgid])
				{
    				format(gStr, sizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!", GetOrgNameTerrorista(orgid));
     				SendClientMessageToAll(GetPlayerColor(x), gStr);
					PSG[orgid] += 1;
				}
				else
				{
					SendClientMessageToAll(-1, "{FFFF00}[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
				}
				TimerMGuerra = (1)*60;
			}
	  	}
	}
	return 1;
}
Reply
#2

testa
Code:
stock EndGuerra2()
{
    for(new x; x < MAX_ORGS; ++x){
	    new gStr[128];
		new orgid = GetPlayerOrg(x);
		if(TendoGuerra)
		{
		   	if(orgid==3||orgid==15||orgid==23)
			if(IsPlayerInGuerra(x) && orgid != -1)
			{
				 //GPTS[x]++;
		 		if(GPTS[orgid] == GPTS[orgid] || GPTS[orgid] > GPTS[orgid])
				{
    				format(gStr, sizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!", GetOrgNameTerrorista(orgid));
     				SendClientMessageToAll(GetPlayerColor(x), gStr);
					PSG[orgid] += 1;
				}
				else
				{
					SendClientMessageToAll(-1, "{FFFF00}[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
				}
				TimerMGuerra = (1)*60;
			}
	  	}
           break;
	}
	return 1;
}
Reply
#3

Quote:
Originally Posted by Hatiro
View Post
testa
Code:
stock EndGuerra2()
{
    for(new x; x < MAX_ORGS; ++x){
	    new gStr[128];
		new orgid = GetPlayerOrg(x);
		if(TendoGuerra)
		{
		   	if(orgid==3||orgid==15||orgid==23)
			if(IsPlayerInGuerra(x) && orgid != -1)
			{
				 //GPTS[x]++;
		 		if(GPTS[orgid] == GPTS[orgid] || GPTS[orgid] > GPTS[orgid])
				{
    				format(gStr, sizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!", GetOrgNameTerrorista(orgid));
     				SendClientMessageToAll(GetPlayerColor(x), gStr);
					PSG[orgid] += 1;
				}
				else
				{
					SendClientMessageToAll(-1, "{FFFF00}[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
				}
				TimerMGuerra = (1)*60;
			}
	  	}
           break;
	}
	return 1;
}
man ajudou tipo o flood de pontuaзгo parou , sу teria como me ajudar agr pq ta dando empate quando tem 2 da msm org no gangzone , sendo que era pra ganhar 1 Ponto por maioria
Reply
#4

upp alguem poderia me ajudar
Reply
#5

nгo sei como as funзгo dae ta mas pode tentar
Code:
stock EndGuerra2()
{
    for(new x; x < MAX_ORGS; ++x){
	    new gStr[128];
		new orgid = GetPlayerOrg(x);
		if(TendoGuerra)
		{
		   	if(orgid==3||orgid==15||orgid==23)
			if(IsPlayerInGuerra(x) && orgid != -1)
			{
				 //GPTS[x]++;
		 		if(GPTS[orgid] == GPTS[orgid] || GPTS[orgid] > GPTS[orgid])
				{
    				format(gStr, sizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!", GetOrgNameTerrorista(orgid));
     				SendClientMessageToAll(GetPlayerColor(x), gStr);
					PSG[orgid] = 1;
				}
				else
				{
					SendClientMessageToAll(-1, "{FFFF00}[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
				}
				TimerMGuerra = (1)*60;
			}
	  	}
           break;
	}
	return 1;
}
edit: se precisar coloca mas pontuaзгo tem outras alternativa
Reply
#6

Quote:
Originally Posted by Hatiro
View Post
nгo sei como as funзгo dae ta mas pode tentar
Code:
stock EndGuerra2()
{
    for(new x; x < MAX_ORGS; ++x){
	    new gStr[128];
		new orgid = GetPlayerOrg(x);
		if(TendoGuerra)
		{
		   	if(orgid==3||orgid==15||orgid==23)
			if(IsPlayerInGuerra(x) && orgid != -1)
			{
				 //GPTS[x]++;
		 		if(GPTS[orgid] == GPTS[orgid] || GPTS[orgid] > GPTS[orgid])
				{
    				format(gStr, sizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!", GetOrgNameTerrorista(orgid));
     				SendClientMessageToAll(GetPlayerColor(x), gStr);
					PSG[orgid] = 1;
				}
				else
				{
					SendClientMessageToAll(-1, "{FFFF00}[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
				}
				TimerMGuerra = (1)*60;
			}
	  	}
           break;
	}
	return 1;
}
edit: se precisar coloca mas pontuaзгo tem outras alternativa
ta dando a mesma coisa , tipo nгo ta reconhecendo a quantia de players dentro da zona de guerra, se tem um empate ta saindo pontuaзгo pra alguma ORG quando deveria tipo ninguem pontuar
Reply
#7

Troca esse MAX_ORGS por MAX_PLAYERS
Reply
#8

PHP Code:
stock EndGuerra2()
{
    new 
gStr[128], orgplayers[MAX_ORGS] = 0orgvencedora = -1;
    for(new 
0MAX_PLAYERSx++)
        if(
TendoGuerra && GetPlayerOrg(x) != -&& IsPlayerInGuerra(x))
            
orgplayers[GetPlayerOrg(x)]++;
    for(new 
0MAX_ORGSx++) {
        if(
orgplayers[GetPlayerOrg(x)] > orgplayers[GetPlayerOrg(x)+1])
            
orgvencedora GetPlayerOrg(x);
        else if(
orgplayers[GetPlayerOrg(x)] < orgplayers[GetPlayerOrg(x)+1])
            
orgvencedora GetPlayerOrg(x)+1;
    }
    if(
orgvencedora == -1)
        return 
SendClientMessageToAll(0xFFFF00"[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
    
format(gStrsizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!"GetOrgNameTerrorista(orgvencedora));
    
SendClientMessageToAll(GetPlayerColor(orgvencedora), gStr);
    
PSG[orgvencedora]++;
    
TimerMGuerra = (1)*60;
    return 
1;

Reply
#9

Quote:
Originally Posted by MateGPlay
View Post
PHP Code:
stock EndGuerra2()
{
    new 
gStr[128], orgplayers[MAX_ORGS] = 0orgvencedora = -1;
    for(new 
0MAX_PLAYERSx++)
        if(
TendoGuerra && GetPlayerOrg(x) != -&& IsPlayerInGuerra(x))
            
orgplayers[GetPlayerOrg(x)]++;
    for(new 
0MAX_ORGSx++) {
        if(
orgplayers[GetPlayerOrg(x)] > orgplayers[GetPlayerOrg(x)+1])
            
orgvencedora GetPlayerOrg(x);
        else if(
orgplayers[GetPlayerOrg(x)] < orgplayers[GetPlayerOrg(x)+1])
            
orgvencedora GetPlayerOrg(x)+1;
    }
    if(
orgvencedora == -1)
        return 
SendClientMessageToAll(0xFFFF00"[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
    
format(gStrsizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria, estгo com mais membros na zona de guerra!!"GetOrgNameTerrorista(orgvencedora));
    
SendClientMessageToAll(GetPlayerColor(orgvencedora), gStr);
    
PSG[orgvencedora]++;
    
TimerMGuerra = (1)*60;
    return 
1;

ooh man , ta certo sу que tipo
tem 1 EXERCITO , 1 ASFARC , 1 GI , 1 membro de cada ORG nгo ta reconhecendo o empate ta dando ponto para uma das ORG
Reply
#10

Quote:
Originally Posted by VSxD
View Post
ooh man , ta certo sу que tipo
tem 1 EXERCITO , 1 ASFARC , 1 GI , 1 membro de cada ORG nгo ta reconhecendo o empate ta dando ponto para uma das ORG
PHP Code:
    stock EndGuerra2()
{
    new 
gStr[128], orgplayers[MAX_ORGS] = 0orgvencedora = -1;
    for(new 
0MAX_PLAYERSx++)
        if(
TendoGuerra && GetPlayerOrg(x) != -&& IsPlayerInGuerra(x))
            
orgplayers[GetPlayerOrg(x)]++;
    for(new 
0MAX_ORGSx++) {
        if(
orgplayers[GetPlayerOrg(x)] > orgplayers[GetPlayerOrg(x)+1])
            
orgvencedora GetPlayerOrg(x);
        else if(
orgplayers[GetPlayerOrg(x)] < orgplayers[GetPlayerOrg(x)+1])
            
orgvencedora GetPlayerOrg(x)+1;
        else if(
orgplayers[orgvencedora] == orgplayers[GetPlayerOrg(x)+1] && orgvencedora != -1)
            
orgvencedora = -1;
    }
    if(
orgvencedora == -1)
        return 
SendClientMessageToAll(0xFFFF00"[GUERRA]: {FFFFFF}Houve um empate de membros na Guerra, e nenhuma organizaзгo pontuou!");
    
format(gStrsizeof(gStr), "• A Organizaзгo (%s) acabaram de pontuar por maioria: %d, estгo com mais membros na zona de guerra!!"GetOrgNameTerrorista(orgvencedora), orgplayers[orgvencedora]);
    
SendClientMessageToAll(GetPlayerColor(orgvencedora), gStr);
    
PSG[orgvencedora]++;
    
TimerMGuerra = (1)*60;
    return 
1;

Testa Assim
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)