[Ajuda] /aceitar convite
#4

de uma olhada em Switch() & Case:, ele й praticamente 100X mais rapido que IF, e deixa o codigo bem mais limpo!
Observe:
PHP Code:
if(strcmp(cmd,"/aceitar",true)==0)  
    {  
        new 
x_Emprego[32];  
        
x_Emprego strtok(cmdtextidx);  
        if(!
strlen(x_Emprego))  
        {  
            
SendClientMessage(playeridCOLOR_WHITE"|_______________ Aceitar _______________A");  
            
SendClientMessage(playeridCOLOR_WHITE"Use: aceitar [nome]");  
            
SendClientMessage(playeridCOLOR_GREY"Nomes Validos: drogas, Reparo, Advogado, seguranзa, convite, aovivo, Refill , Assalto, Convite");  
            return 
SendClientMessage(playeridCOLOR_GREY"Nomes Validos: Carro, Multa ,divorcio, mendigo, blindagem, Dinamite");  
        }  
        if(
strcmp(x_Emprego,"convite",true) == 0)  
        {  
            if(
InviteOffer[playerid] < 999)  
            {  
                if(
IsPlayerConnected(InviteOffer[playerid]))  
                {  
                    if(
PlayerInfo[playerid][pEmprego] > 1) return SendClientMessage(playeridCOLOR_YELLOW"Voce possui um emprego /sairdoemprego.");  
                    if(
convidado[playerid] == 0)  return SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo foi convidado para nenhuma organizaзгo.");  
                    
skincop[playerid] = GetPlayerSkin(playerid);
                    switch(
PlayerInfo[InviteOffer[playerid]][pLider])
                    {
                        case 
1,2,3,4,7,12,13,17,25:{SetSpawnInfo(playerid2PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2gTeam[playerid] = 2;}  
                        case 
6,11,15..24,27..30:{SetSpawnInfo(playerid5PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5gTeam[playerid] = 5;}  
                        case 
8,9,10,14,26:{SetSpawnInfo(playerid10PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 10gTeam[playerid] = 10;}  
                    }
                    switch(
PlayerInfo[InviteOffer[playerid]][pMembro])
                    { 
                        case 
1..6,19,22,27:{ if(PlayerInfo[InviteOffer[playerid]][pCargo] == 5) { SetSpawnInfo(playerid2PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 2gTeam[playerid] = 2; } }//governo  
                        
case 7..11:{ if(PlayerInfo[InviteOffer[playerid]][pCargo] == 5){ SetSpawnInfo(playerid10PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 10gTeam[playerid] = 10; } }//mecanicos  
                        
case 12..18,20,21,23,24,25,26,28,29,30:{if(PlayerInfo[InviteOffer[playerid]][pCargo] == 5){ SetSpawnInfo(playerid5PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0); PlayerInfo[playerid][pTeam] = 5gTeam[playerid] = 5; } }//mafia cn  
                    
}    
                    
convidado[playerid] = 0;  
                    
PlayerInfo[playerid][pMembro] = PlayerInfo[InviteOffer[playerid]][pLider]; //Provavel erro  
                    
PlayerInfo[playerid][pCargo] = 1;  
                    
format(gstring128"* %s aceitou seu convite para entrar na sua organizaзгo."PlayerName(playerid));  
                    
SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUEgstring);  
                    
format(gstringsizeof(gstring), "* Vocк aceitou o convite de %s para entrar para organizaзгo: %s, parabйns."PlayerName(InviteOffer[playerid]), NomeORG(InviteOffer[playerid]));  
                    
SendClientMessage(playeridCOLOR_LIGHTBLUEgstring);  
                    
ConviteInfoOrg(PlayerName(playerid), InviteJob[playerid], 1);  
                    if(
PlayerInfo[playerid][pMembro] == 1) { PlayerInfo[playerid][pDepartamentoLS] = 1; }  
                    if(
PlayerInfo[playerid][pMembro] == 5) { PlayerInfo[playerid][pDepartamentoLS] = 1; }  
                    if(
PlayerInfo[playerid][pMembro] == 6) { PlayerInfo[playerid][pDepartamentoLS] = 1; }  
                    if(
PlayerInfo[playerid][pMembro] == 7) { PlayerInfo[playerid][pDepartamentoLS] = 1; }  
                    if(
PlayerInfo[playerid][pMembro] == 27) { PlayerInfo[playerid][pDepartamentoLS] = 1; }  
                     
SetPlayerSpawn(playerid);  
                }  
                else  return 
SendClientMessage(playeridCOLOR_GREY"O jogador que lhe convidou nгo estб conectado.");  
            }  
            else return 
SendClientMessage(playeridCOLOR_GREY"Vocк nгo foi convidado para nenhuma organizaзгo.");  
       } 
Tambem use: "else return SendClientMessage(...);" porque ele vai ler sу uma linha, do else, e o SendClientMessage retorna 1 se o player esta conectado
Reply


Messages In This Thread
/aceitar convite - by ViniFox - 15.10.2016, 08:07
Re: /aceitar convite - by ViniFox - 15.10.2016, 18:24
Re: /aceitar convite - by CaioTJF - 15.10.2016, 18:31
Re: /aceitar convite - by RazorGuigo - 15.10.2016, 19:20
Re: /aceitar convite - by ViniFox - 15.10.2016, 19:39
Re: /aceitar convite - by RazorGuigo - 15.10.2016, 19:40
Re: /aceitar convite - by ViniFox - 15.10.2016, 23:01

Forum Jump:


Users browsing this thread: 1 Guest(s)