[Off] O que eu posso melhorar neste comando?
#1

Boa noite galera, bom eu vim perguntar para vocкs se hб uma maneira de deixar este meu comando mais optimizado ou no que eu possa melhorar.
Aceito criticas construtivas.

Este comando й do meu Gamemode criado do zero, Porйm nele nгo contйm tudo pois ainda estou finalizando estб parte.

Desde jб agradeзo a colaboraзгo de todos!

PHP код:
CMD:casa(playeridparams[])
{
    new 
aname[MAX_PLAYER_NAME], string[4][300], file[255], opcao[50], funcao[50], Float:PosCasa[3];
    
GetPlayerName(playeridanamesizeof(aname));
    if(
sscanf(params"s[50]"funcao)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}use: /casa [comprar, vender, moradia, veiculo]");
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}Vocк nгo estб conectado no servidor!");
    
format(filesizeof(file), PASTA_CONTASaname);
    if(
strfind(funcao"vender"true) != -1)
    {
        for( new 
0MAX_CASASc++ )
        {
            
formatstring[0], 300string[0] , "/Casas/casa%d.ini") ;
            if( 
dini_Existsstring[0] ) )
            {
                if( 
IsPlayerInRangeOfPointplayerid2.0dini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ) ) )
                {
                    if( 
dini_Intstring[0], "TDono" )  != ) return SendClientMessageplayerid, -1"[ x ] {FF0000}Estб casa jб estб a venda." ) ;
                    if( 
strcmpdini_Getstring[0], "Dono" ) , anamefalse )  == 0) return SendClientMessageplayerid, -1"[ x ] {FF0000}Vocк nгo й dono destб casa." ) ;
                    for( new 
0MAX_PLAYERS i++ ) { RemovePlayerMapIcon(imapiconcasaid ] ); }
                    
dini_IntSetstring[0], "TDono") ;
                    
dini_Setstring[0], "Dono""Ninguem" ) ;
                    
dini_IntSetfile"TemCasa") ;
                    
GivePlayerMoneyplayeriddini_Intstring[0], "Preco" ) ) ;
                    
DestroyPickupdini_Intstring[0], "Id" ) ) ;
                    
pickupcasaid ] = CreatePickup12731dini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ) , -) ;
                    
dini_IntSetstring[0], "Id"pickupcasaid ] ) ;
                    
Delete3DTextLabellabelcasaid ] );
                    
formatstring[1], 300string[1] ," {FFFFFF}[ Casa ID: %d - {00FF00}Б Venda {FFFFFF}]\n{FF4500}Dono: {FFFFFF}Ninguйm\n{FF4500}Morador: {FFFFFF}Ninguйm\n{FF4500}Preзo: {FFFFFF}%d\n{FFFF00}use: {FFFFFF}/casa comprar"cdini_Intstring[0], "Preco" ) ) ;
                    
labelcasaid ] = Create3DTextLabelstring[1], 0x008080FFdini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ), 40.00) ;
                    
mapiconcasaid ] = CreateDynamicMapIcon(dini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ), 31, -1, -1, -1, -160.0);
                    
formatstring[3], 300string[3] ,"{FF4500}•{FFFFFF}» {FF4500}O( a )  player {FFFFFF}%s {FF4500}vendeu a casa ID {FFFFFF}%d {FF4500}localizada em: {FFFFFF}%s",anamecGetPlayerAreaplayerid ) ) ;
                    
SendClientMessageToAll( -1string[3] ) ;
                    return 
1;
                }
                if(
== MAX_CASAS) return SendClientMessage(playerid, -1"[INFO] {FF0000}Vocк nгo estб em uma casa!");
            }
        }
    }
    if(
strfind(funcao"comprar"true) != -1)
    {
        if(
LiberadoCC playerid ] != 1) return SendClientMessage(playerid, -1,"[x] {FF0000}Vocк nгo estб liberado para comprar uma casa, peзa a um(a) administrador(a) a permissгo.");
        for( new 
0MAX_CASASc++ )
        {
            
formatstring[0], 300string[0] , "/Casas/casa%d.ini") ;
            if(
dini_Existsstring[0] ) )
            {
                if(
IsPlayerInRangeOfPointplayerid2.0dini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" )))
                {
                    if(
dini_Intstring[0], "TDono" ) != ) return SendClientMessageplayerid, -1"[ x ] {FF0000}Estб casa nгo estб a venda." ) ;
                    if(
GetPlayerMoneyplayerid )  < dini_Intstring[0], "Preco" ) ) return SendClientMessageplayerid, -1"[ x ] {FF0000}Vocк nгo tem dinheiro suficiente." ) ;
                    if(
GetCasasplayerid )  != ) return SendClientMessageplayerid, -1"[ x ] {FF0000}Vocк sу pode possuir uma casa." ) ;
                    for( new 
0<MAX_PLAYERS i++ ) { RemovePlayerMapIcon(imapiconcasaid ] ); }
                    
dini_IntSetstring[0], "TDono") ;
                    
dini_Setstring[0], "Dono"aname ) ;
                    
GivePlayerMoneyplayerid, -dini_Intstring[0], "Preco" ) ) ;
                    
DestroyPickupdini_Intstring[0], "Id" ) ) ;
                    
pickupcasaid ] = CreatePickup12721dini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ) , -) ;
                    
dini_IntSetstring[0], "Id"pickupcasaid ] ) ;
                    
GetPlayerPosplayeridPosCasa[0], PosCasa[1], PosCasa[2] ) ;
                    
dini_FloatSetfile,"CasaX",Float:PosCasa[0] ) ;
                    
dini_FloatSetfile,"CasaY",Float:PosCasa[1] ) ;
                    
dini_FloatSetfile,"CasaZ",Float:PosCasa[2] ) ;
                    
dini_IntSetfile"TemCasa",) ;
                    
LiberadoCC playerid ] = 0;
                    
Delete3DTextLabel(labelcasaid ] );
                    
formatstring[1], 300string[1] ," {FFFFFF}[ Casa ID: %d - {FF0000}Possui dono(a) {FFFFFF}]\n{FF4500}Dono: {FFFFFF}%s\n{FF4500}Morador: {FFFFFF}%s\n{FF4500}Preзo: {FFFFFF}%d\n{FFFF00}aperte {FFFFFF}'F'{FFFF00} para entrar",,dini_Getstring[0], "Dono" ), dini_Getstring[0], "Morador" ),dini_Intstring[0], "Preco" ) ) ;
                    
labelcasaid ] = Create3DTextLabelstring[1], 0x008080FFdini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ), 40.00) ;
                    
mapiconcasaid ] = CreateDynamicMapIcon(dini_Floatstring[0], "PosX" ) , dini_Floatstring[0], "PosY" ) , dini_Floatstring[0], "PosZ" ), 32, -1, -1, -1, -160.0);
                    
formatstring[3], 300string[3] ,"{00FF7F}•{FFFFFF}» {00FF7F}O( a )  player {FFFFFF}%s {00FF7F}comprou a casa ID {FFFFFF}%d {00FF7F}localizada em: {FFFFFF}%s",anamecGetPlayerAreaplayerid ) ) ;
                    
SendClientMessageToAll( -1string[3] ) ;
                    return 
1;
                }
                if(
== MAX_CASAS) return SendClientMessage(playerid, -1"[INFO] {FF0000}Vocк nгo estб em uma casa!");
            }
        }
    }
    if(
strfind(funcao"moradia"true) != -1)
    {
        if(
sscanf(params"s[50]s[50]"funcaoopcao)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}use: /casa moradia [aceitar/recusar]");
        if(
strfind(opcao"aceitar"true) != -1)
        {
            for( new 
0MAX_CASASc++ )
            {
                
formatstring[0], 300string[0] , "/Casas/casa%d.ini") ;
                if( 
dini_Intstring[0], "TMorador" )  == )
                {
                    if( 
strcmpdini_Getstring[0], "Morador" ) , anametrue )  == )
                    {
                        
dini_IntSetstring[0], "TMorador");
                        
dini_Setstring[0], "Morador""Ninguem" );
                        
format(string[2], 300string[2] , "[CASA] Vocк nгo mora mais na sua antiga casa ID: %d !"c);
                        
SendClientMessage(playerid0xFFFF00AAstring[2]);
                    }
                }
            }
            
formatstring[0], 300string[0] , "/Casas/casa%d.ini"moradia playerid ] ) ;
            if(!
dini_Existsstring[0] ) ) return SendClientMessage(playerid0xFF0000AA"[CASA] A casa que vocк foi convidado(a) para morar nгo existe!");
            if( 
morar playerid ] != ) return SendClientMessageplayerid, -1"[ x ] {FF0000}Vocк nгo foi convidado( a ) para morar em uma casa." ) ;
            
dini_IntSetstring[0], "TMorador") ;
            
dini_Setstring[0], "Morador"aname ) ;
            
dini_FloatSetfile,"CasaX"dini_Floatstring[0], "PosX" ) ) ;
            
dini_FloatSetfile,"CasaY"dini_Floatstring[0], "PosY" ) ) ;
            
dini_FloatSetfile,"CasaZ"dini_Floatstring[0], "PosZ" ) ) ;
            
SetSpawnInfoplayerid1dini_Intfile"Skin" ) , dini_Intfile"CasaX" ) , dini_Intfile"CasaY" ) , dini_Intfile"CasaZ" ) , 354.165700000) ;
            
format(string[2], 300string[2] ,"[CASA] Vocк aceitou morar na nova casa ID: %d!"moradia[playerid]) ;
            
SendClientMessage(playerid0xFFFF00AAstring[2]);
            
SendClientMessageconvitede playerid ], -1"{00FF7F}•{FFFFFF}» {00FF7F}O jogador aceitou morar em sua casa." ) ;
            
morar playerid ] = 0moradia playerid ] = 0convitede playerid ] = 0;
        }
        else if(
strfind(opcao"recusar"true) != -1)
        {
            if(
morar[playerid] != 1) return SendClientMessageplayerid, -1"[ x ] {FF0000}Vocк nгo foi convidado( a ) para morar em uma casa." ) ;
            
SendClientMessageplayerid, -1"•» {FFFF00}Vocк recusou o convite de moradia." ) ;
            
format(string[2], 300string[2] , "[CASA] O(A) player %s recusou o convite de moradia enviado por vocк!"aname);
            
SendClientMessageconvitede playerid ], 0xFFFF00AAstring[2]) ;
            
morar playerid ] = 0moradia playerid ] = 0convitede playerid ] = 0;
            return 
1;
        }
    }
    return 
1;

Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)