[Ajuda] Diminuir cуdigo
#1

Estou no estudo completo de todas as funзхes do pawn, entгo, fui desenvolver um comando de '/skin' em strfind kkk, serб que dб pra diminuir isso aqui?
PHP код:
if(!strfind(cmdtext"/skin"true))
{
    if(
cmdtext[5] == '\0' || cmdtext[5] == ' ')
    {
        if(
cmdtext[5] != ' ' || cmdtext[6] == '\0')
            return 
SendClientMessage(playerid, -1"Uso da funзгo incorreta. Utilize: /skin [ID DA SKIN]");
        for(new 
6cmdtext[i] != EOSi++)
        {
            if(
cmdtext[i] != ' ')
            {
                new 
str[4];
                
strcat(strcmdtext[i]);
                for(new 
0str[v] != EOSv++)
                {
                    if(
str[v] < '0' || str[v] > '9')
                    {
                        
SendClientMessage(playerid, -1"Uso de funзгo incorreta. Utilize: /skin [ID DA SKIN]");
                        return 
true;
                    }
                }
                new 
id_of_skin strval(cmdtext[i]);
                if(
id_of_skin 299)
                    return 
SendClientMessage(playerid, -1"O uso de id de skins, sгo vбlidos atй 299.");
                
SetPlayerSkin(playeridid_of_skin);
                
SendClientMessage(playerid, -1"Sua skin foi alterada.");
                return 
true;
            }
        }
        
SendClientMessage(playerid, -1"Uso de funзгo incorreta. Utilize: /skin [ID DA SKIN]");
        return 
true;
    }
    return 
true;

Reply
#2

strfind percorre toda a string em busca da palavra ou frase, exemplo se vocк digitar "osjrosadjsa/skinsoidjsiodj" strfind ira encontrar /skin, strval vai procurar nъmeros em toda a string entгo nгo precisa indicar o index.
Reply
#3

Quote:
Originally Posted by Whoo
Посмотреть сообщение
strfind percorre toda a string em busca da palavra ou frase, exemplo se vocк digitar "osjrosadjsa/skinsoidjsiodj" strfind ira encontrar /skin, strval vai procurar nъmeros em toda a string entгo nгo precisa indicar o index.
strfind retorna a posiзгo da string encontrada, nesse seu caso vai retornar 10, e nгo 0, nгo executando o comando.
strval considera sim o index especificado na string, se o comando conter nъmeros pode dar um conflito.

Quote:
Originally Posted by Pool
Посмотреть сообщение
Й a funзгo antiga mesmo, sem essas "novidades"...
Nгo tinha lido corretamente.
Reply
#4

Quote:
Originally Posted by Whoo
Посмотреть сообщение
strfind percorre toda a string em busca da palavra ou frase, exemplo se vocк digitar "osjrosadjsa/skinsoidjsiodj" strfind ira encontrar /skin, strval vai procurar nъmeros em toda a string entгo nгo precisa indicar o index.
Indiquei o index por medo e por precauзгo do comando dar erro, entende? quero fazer tudo corretamente e saber tudo!
Reply
#5

PHP код:
if(!strfind(cmdtext"/skin "true)) //espaзo depois do comando, para evitar comandos como "/skin23" serem validados
{
    new 
startCheck 0;
    for(new 
0cmdtext[i] != EOSi++)
    {
        if(!
startCheck)
        {
             if(
cmdtext[i] == ' 'startCheck i//nгo precisa contar caracteres
        
}
        else if(
cmdtext[i] < '0' || cmdtext[i] > '9') return SendClientMessage(playerid, -1"Uso de funзгo incorreta. Utilize: /skin [ID DA SKIN]");
    }

    new 
id_of_skin strval(cmdtext[startCheck]);
    if(
id_of_skin 311) return SendClientMessage(playerid, -1"O uso de id de skins, sгo vбlidos atй 311.");
    
SetPlayerSkin(playeridid_of_skin);
    
SendClientMessage(playerid, -1"Sua skin foi alterada.");
    return 
1;

Reply
#6

Instala e usa o ZCMD cara й muito melhor, rбpido e fбcil!
Reply
#7

Quote:
Originally Posted by JoaoBorges
Посмотреть сообщение
Instala e usa o ZCMD cara й muito melhor, rбpido e fбcil!
Cara, nгo sei se vocк sabe, mas jб existe processadores de comandos com um nнvel de velocidade in compiler, mil vezes melhor...
E como eu disse ao tуpico, eu estou estudando a base antiga de tudo.
Reply
#8

Quote:
Originally Posted by Pool
Посмотреть сообщение
Cara, nгo sei se vocк sabe, mas jб existe processadores de comandos com um nнvel de velocidade in compiler, mil vezes melhor...
E como eu disse ao tуpico, eu estou estudando a base antiga de tudo.
Pra mim o melhor й o ZMCD, se pra vocк nгo й, entгo beleza, cada um tem sua opiniгo, assunto morreu aqui!
Reply
#9

Quote:
Originally Posted by JoaoBorges
Посмотреть сообщение
Pra mim o melhor й o ZMCD, se pra vocк nгo й, entгo beleza, cada um tem sua opiniгo, assunto morreu aqui!
Amigo, vк se vocк toma um pouco de coragem e vai procurar.
Leia: Pawn.CMD
Reply
#10

Quote:
Originally Posted by JoaoBorges
Посмотреть сообщение
Pra mim o melhor й o ZMCD, se pra vocк nгo й, entгo beleza, cada um tem sua opiniгo, assunto morreu aqui!
O achar melhor й muito variavel, normalmente achamos "melhor" quais conhecemos e utilizamos, um exemplo disso й linguagens de programaзгo, nгo existe algo "melhor" mais cada uma possui suas vantagens . Se vocк sabe bem algo normalmente acharб aquilo melhor ..

Quote:
Originally Posted by Pool
Посмотреть сообщение
Amigo, vк se vocк toma um pouco de coragem e vai procurar.
Leia: Pawn.CMD
Desempenho nгo й tudo nessa comparaзгo, para ele provavelmente ZCMD й melhor pelo conhecimento que ele possui sobre. Muitos mesmo sabendo da existencia de algo melhor nгo mudarб seu codigo devido ao tempo gasto para tal..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)