[Ajuda] Reduzir tamanho do cуdigo
#1

Tem como reduzir esse cуdigo deixando em apenas uma if, para nгo ficar muitas linhas?

pawn Код:
new String[180];
if(text[0] == '!')
{
    for(new i=0; i < MAX_PLAYERS; i++)
    {
        if(PlayerInfo[playerid][pOrg] == 1)
        {
            format(String,sizeof(String),"[Familia Grove] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]);
            if(PlayerInfo[i][pOrg] == 1)
            SendClientMessage(i,GROVE,String);
        }
        if(PlayerInfo[playerid][pOrg] == 2)
        {
            format(String,sizeof(String),"[Familia Vagos] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]);
            if(PlayerInfo[i][pOrg] == 2)
            SendClientMessage(i,VGS,String);
        }
        return 0;
    }
    return 1;
}
Reply
#2

Sim...

EDIT

Claro, tenta assim.

PHP код:
for (new i=0MAX_PLAYERSi++)
    {
        if (
PlayerInfo[i][pOrg] == PlayerInfo[playerid][pOrg])
        {
            
format(Stringsizeof(String), "[Familia Grove] %s (%d): {FFFFFF}%s"Nome(playerid), playeridtext);
            
SendClientMessage(iGROVEString);
        } 
EDIT #2
Serб que isso funciona, para deixar menos pesado o codigo, contando com mais de 100 orgs...
Talvez deva usar while...
Aos entendedores...
PHP код:
for (new i=0MAX_PLAYERSi++)
    {
goto 
org_1;
        if (
PlayerInfo[i][pOrg] == PlayerInfo[playerid][pOrg])
        {
            
format(Stringsizeof(String), "[Familia Grove] %s (%d): {FFFFFF}%s"Nome(playerid), playeridtext);
            
SendClientMessage(iGROVEString);
            
org_1:
        }
goto 
org_2;
        if (
PlayerInfo[i][pOrg] == PlayerInfo[playerid][pOrg])
        {
            
format(Stringsizeof(String), "[Familia Grove] %s (%d): {FFFFFF}%s"Nome(playerid), playeridtext);
            
SendClientMessage(iGROVEString);
            
org_2:
        } 
Reply
#3

Quote:
Originally Posted by Sergiinhonike
Посмотреть сообщение
Sim...
Poderia me dizer como, quais funзхes?
Reply
#4

pawn Код:
static String[128];
    if(text[0] == '!') for(new i=0; i < MAX_PLAYERS; i++){
        if(PlayerInfo[playerid][pOrg] == 1)format(String,sizeof(String),"[Familia Grove] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]);
        if(PlayerInfo[playerid][pOrg] == 2)format(String,sizeof(String),"[Familia Vagos] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]);
        SendClientMessage(i,VGS,String);
    }

Acho que diminuir mais, fica feio..

PHP код:
    static String[128];
    if(
text[0] == '!') for(new 0GetMaxPlayers(); != e; ++i){ switch(PlayerInfo[playerid][pOrg]){ case 0format(String,sizeof(String),"[Familia Grove] %s (%d): {FFFFFF}%s"Nome(playerid),playeridtext[1]); case 1format(String,sizeof(String),"[Familia Vagos] %s (%d): {FFFFFF}%s"Nome(playerid),playeridtext[1]); } SendClientMessage(i,VGS,String);} 
Reply
#5

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
pawn Код:
static String[128];
    if(text[0] == '!') for(new i=0; i < MAX_PLAYERS; i++){
        if(PlayerInfo[playerid][pOrg] == 1)format(String,sizeof(String),"[Familia Grove] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]);
        if(PlayerInfo[playerid][pOrg] == 2)format(String,sizeof(String),"[Familia Vagos] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]);
        SendClientMessage(i,VGS,String);
    }

Acho que diminuir mais, fica feio..

PHP код:
    static String[128];
    if(
text[0] == '!') for(new 0GetMaxPlayers(); != e; ++i){ switch(PlayerInfo[playerid][pOrg]){ case 0format(String,sizeof(String),"[Familia Grove] %s (%d): {FFFFFF}%s"Nome(playerid),playeridtext[1]); case 1format(String,sizeof(String),"[Familia Vagos] %s (%d): {FFFFFF}%s"Nome(playerid),playeridtext[1]); } SendClientMessage(i,VGS,String);} 
Ele quer um chat entre familia.
Do seu geito, irб mandar uma menssagem para todos os jogadores online
Reply
#6

Tinha esquecido, rs

pawn Код:
static String[128];
    if(text[0] == '!') for(new i=0; i < MAX_PLAYERS; i++){
        if(PlayerInfo[playerid][pOrg] == 1)format(String,sizeof(String),"[Familia Grove] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]), SendClientMessage(i,VGS,String);
        if(PlayerInfo[playerid][pOrg] == 2)format(String,sizeof(String),"[Familia Vagos] %s (%d): {FFFFFF}%s", Nome(playerid),playerid, text[1]), SendClientMessage(i, GROVE, String);
       
    }
Reply
#7

Continua mandando para todos e nгo sу pros da groove...
Reply
#8

pawn Код:
static String[128];
if(text[0] == '!'){
    format(String,sizeof(String),"[Familia %s] %s (%d): {FFFFFF}%s", (PlayerInfo[playerid][pOrg] == 1) ? ("Grove") : ("Vagos"), Nome(playerid),playerid, text[1]);
    for(new i = 0; i != MAX_PLAYERS; i++){
        if(IsPlayerConnected(i)){
            if(PlayerInfo[playerid][pOrg] == PlayerInfo[i][pOrg]) SendClientMessage(i, (PlayerInfo[playerid][pOrg] == 1) ? (GROVE) : (VGS), String);
        }
    }
}
Reply
#9

Quote:
Originally Posted by Supera
Посмотреть сообщение
pawn Код:
static String[128];
if(text[0] == '!'){
    format(String,sizeof(String),"[Familia %s] %s (%d): {FFFFFF}%s", (PlayerInfo[playerid][pOrg] == 1) ? ("Grove") : ("Vagos"), Nome(playerid),playerid, text[1]);
    for(new i = 0; i != MAX_PLAYERS; i++){
        if(IsPlayerConnected(i)){
            if(PlayerInfo[playerid][pOrg] == PlayerInfo[i][pOrg]) SendClientMessage(i, (PlayerInfo[playerid][pOrg] == 1) ? (GROVE) : (VGS), String);
        }
    }
}
Acho que esse tamanho jб estб bom, mais vamos supor que seja 30+ organizaзхes, a linha iria ficar muito grande e consequentemente dar erro?
Reply
#10

Se sгo varias orgs й melhor vocк fazer de outra maneira, se nгo vai ficar muito grande.
Como vocк organizou suas orgs ? do id 0 atй 30 ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)