[Ajuda] Sistema incorreto
#1

Esse sistema eu sei como funciona e talz, mas quero usar parвmentros a mais nele, olha:

PHP код:
CMD:playerpp(playeridparams[])
{
    
LoginCheck(playerid);
    if(
isnull(params)) return SendClientMessage(playeridCOLOR_RED"USO: /playerpp [give / set]");
    if(
User[playerid][accountAdmin] >= 3)
    {
        if(
strcmp(params"give"true) == 0)
        {
            new 
string[150], idamount;
            if(
sscanf(params"ui"idamount)) return SendClientMessage(playeridCOLOR_RED"USO: /playerpp [playerid] [amount]");
            if(
id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"» "red"Player not connected.");
            if(
User[id][accountLogged] == false) return SendClientMessage(playerid, -1"» "red"Player not logged in.");
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(id), amount);
            
SendAMessage(-1string);
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[id][accountPP]+amount);
            
SendClientMessage(id, -1string);
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(id) >>> 8GetName(id), amount);
            
SendClientMessage(playerid, -1string);
            
format(string128"%s received %d Premium Points from %s."GetName(id), amountGetName(playerid));
            
Log("premium.txt"string);
            
User[id][accountPP] = amount;
        }
        else if(
strcmp(params"set"true) == 0)
        {
            new 
string[150], idamount;
            if(
sscanf(params"ui"idamount)) return SendClientMessage(playeridCOLOR_RED"USO: /playerpp [playerid] [amount]");
            if(
id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"» "red"Player not connected.");
            if(
User[id][accountLogged] == false) return SendClientMessage(playerid, -1"» "red"Player not logged in.");
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(id), amount);
            
SendAMessage(-1string);
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[id][accountPP]+amount);
            
SendClientMessage(id, -1string);
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(id) >>> 8GetName(id), amount);
            
SendClientMessage(playerid, -1string);
            
format(string128"%s received %d Premium Points from %s."GetName(id), amountGetName(playerid));
            
Log("premium.txt"string);
            
User[id][accountPP] += amount;
        }
        else return 
SendClientMessage(playeridCOLOR_RED"USO: /playerpp [give / set]");
    }
    return 
SendClientMessage(playerid, -1"» "red"You are not authorized to use this command.");

Eu sei que o correto й usar apenas /playerpp give ou /playerpp set! Eu sei, mas quero usar estes parвmetros aqui:
PHP код:
if(sscanf(params"ui"idamount)) return SendClientMessage(playeridCOLOR_RED"USO: /playerpp [playerid] [amount]"); 
Pois quero setar pp em um
Quote:

User[id][accountPP] = amount;

E quero acrescentar em outro
Quote:

User[id][accountPP] += amount;

Se alguйm sabe como usar mais parвmetros neste code eu agradeзo...
Reply
#2

PHP код:
CMD:playerpp(playeridparams[]) {
    new 
        
otherplayer,
        
option[10],
        
amount
    
;
    
LoginCheck(playerid);
    
    if(
sscanf(params"ds[10]d"otherplayeroptionamount))
        return 
SendClientMessage(playerid, -1"USO: /playerpp [playerid] [give / set] [quantidade]");
    if(
User[playerid][accountAdmin] >= 3) {
        if(
strcmp(option"give"true) == 0) {
            if(
otherplayer == INVALID_PLAYER_ID
                return 
SendClientMessage(playerid, -1"» "red"Player not connected.");
            if(
User[otherplayer][accountLogged] == false
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in.");
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount); 
            
SendAMessage(-1string); 
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount); 
            
SendClientMessage(otherplayer, -1string); 
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount); 
            
SendClientMessage(playerid, -1string); 
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid)); 
            
Log("premium.txt"string);
            
User[otherplayer][accountPP] = amount;
        } 
        else if(
strcmp(option"set"true) == 0) {
            if(
otherplayer == INVALID_PLAYER_ID
                return 
SendClientMessage(playerid, -1"» "red"Player not connected.");
            if(
User[otherplayer][accountLogged] == false
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in.");
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount); 
            
SendAMessage(-1string); 
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount); 
            
SendClientMessage(otherplayer, -1string); 
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount); 
            
SendClientMessage(playerid, -1string); 
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid)); 
            
Log("premium.txt"string);
            
User[otherplayer][accountPP] += amount
        }
    }    
    return 
true;

Agora a nomenclatura do comando serб й esta /playerpp [playerid] [give / set] [quantidade]
Espero ter ajudado
Reply
#3

Quote:
Originally Posted by Marlon_Lorran
Посмотреть сообщение
PHP код:
CMD:playerpp(playeridparams[]) {
    new 
        
otherplayer,
        
option[10],
        
amount
    
;
    
LoginCheck(playerid);
    
    if(
sscanf(params"ds[10]d"otherplayeroptionamount))
        return 
SendClientMessage(playerid, -1"USO: /playerpp [playerid] [give / set] [quantidade]");
    if(
User[playerid][accountAdmin] >= 3) {
        if(
strcmp(option"give"true) == 0) {
            if(
otherplayer == INVALID_PLAYER_ID
                return 
SendClientMessage(playerid, -1"» "red"Player not connected.");
            if(
User[otherplayer][accountLogged] == false
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in.");
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount); 
            
SendAMessage(-1string); 
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount); 
            
SendClientMessage(otherplayer, -1string); 
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount); 
            
SendClientMessage(playerid, -1string); 
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid)); 
            
Log("premium.txt"string);
            
User[otherplayer][accountPP] = amount;
        } 
        else if(
strcmp(option"set"true) == 0) {
            if(
otherplayer == INVALID_PLAYER_ID
                return 
SendClientMessage(playerid, -1"» "red"Player not connected.");
            if(
User[otherplayer][accountLogged] == false
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in.");
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount); 
            
SendAMessage(-1string); 
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount); 
            
SendClientMessage(otherplayer, -1string); 
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount); 
            
SendClientMessage(playerid, -1string); 
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid)); 
            
Log("premium.txt"string);
            
User[otherplayer][accountPP] += amount
        }
    }    
    return 
true;

Agora a nomenclatura do comando serб й esta /playerpp [playerid] [give / set] [quantidade]
Espero ter ajudado
Nгo da cara, to achando q esse comando tem apenas uma funзгo e eu to viajando...
Printei quando vc digita o comando e vai de boa, mas quando vc digita /playerpp id GIVE amount ele nгo chama!
Olha:
Quote:

[12:17:23] [join] 646464 has joined the server (0:192.168.0.4)
[12:17:39] /playerpp [playerid] [give / set] [quantidade] //chama apenas quando digita /playerpp id give
[12:17:47] /playerpp [playerid] [give / set] [quantidade] //chama apenas quando digita /playerpp id give
[12:17:52] /playerpp [playerid] [give / set] [quantidade] //chama apenas quando digita /playerpp id give
[12:17:54] /playerpp [playerid] [give / set] [quantidade] //chama apenas quando digita /playerpp id give
[12:17:55] /playerpp [playerid] [give / set] [quantidade] //chama apenas quando digita /playerpp id give
Nгo chama quando digito /playerpp id GIVE amount

PRINTS:
PHP код:
CMD:playerpp(playeridparams[]) { 
    new  
        
otherplayer
        
option[10], 
        
amount 
    

    
LoginCheck(playerid); 
     
    if(
sscanf(params"ds[10]d"otherplayeroptionamount)) 
        return 
SendClientMessage(playerid, -1"USO: /playerpp [playerid] [give / set] [quantidade]"); 
    
printf("/playerpp [playerid] [give / set] [quantidade]"); //PRINT
    
if(User[playerid][accountAdmin] >= 3) { 
        if(
strcmp(option"give"true) == 0) { 
            if(
otherplayer == INVALID_PLAYER_ID)  
                return 
SendClientMessage(playerid, -1"» "red"Player not connected."); 
            if(
User[otherplayer][accountLogged] == false)  
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in."); 
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount);  
            
SendAMessage(-1string);  
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount);  
            
SendClientMessage(otherplayer, -1string);  
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount);  
            
SendClientMessage(playerid, -1string);  
            
printf("%s"string); //PRINT
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid));  
            
Log("premium.txt"string); 
            
User[otherplayer][accountPP] = amount
        }  
        else if(
strcmp(option"set"true) == 0) { 
            if(
otherplayer == INVALID_PLAYER_ID)  
                return 
SendClientMessage(playerid, -1"» "red"Player not connected."); 
            if(
User[otherplayer][accountLogged] == false)  
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in."); 
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount);  
            
SendAMessage(-1string);  
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount);  
            
SendClientMessage(otherplayer, -1string);  
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount);  
            
SendClientMessage(playerid, -1string);  
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid));  
            
Log("premium.txt"string); 
            
User[otherplayer][accountPP] += amount;  
        } 
    }     
    return 
true

Reply
#4

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Nгo da cara, to achando q esse comando tem apenas uma funзгo e eu to viajando...
Printei quando vc digita o comando e vai de boa, mas quando vc digita /playerpp id GIVE amount ele nгo chama!
Olha:


Nгo chama quando digito /playerpp id GIVE amount

PRINTS:
PHP код:
CMD:playerpp(playeridparams[]) { 
    new  
        
otherplayer
        
option[10], 
        
amount 
    

    
LoginCheck(playerid); 
     
    if(
sscanf(params"ds[10]d"otherplayeroptionamount)) 
        return 
SendClientMessage(playerid, -1"USO: /playerpp [playerid] [give / set] [quantidade]"); 
    
printf("/playerpp [playerid] [give / set] [quantidade]"); //PRINT
    
if(User[playerid][accountAdmin] >= 3) { 
        if(
strcmp(option"give"true) == 0) { 
            if(
otherplayer == INVALID_PLAYER_ID)  
                return 
SendClientMessage(playerid, -1"» "red"Player not connected."); 
            if(
User[otherplayer][accountLogged] == false)  
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in."); 
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount);  
            
SendAMessage(-1string);  
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount);  
            
SendClientMessage(otherplayer, -1string);  
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount);  
            
SendClientMessage(playerid, -1string);  
            
printf("%s"string); //PRINT
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid));  
            
Log("premium.txt"string); 
            
User[otherplayer][accountPP] = amount
        }  
        else if(
strcmp(option"set"true) == 0) { 
            if(
otherplayer == INVALID_PLAYER_ID)  
                return 
SendClientMessage(playerid, -1"» "red"Player not connected."); 
            if(
User[otherplayer][accountLogged] == false)  
                return 
SendClientMessage(playerid, -1"» "red"Player not logged in."); 
            
format(string150"[PREMIUM POINTS] "red"%s has given %s (%d) Premium Points."GetName(playerid), GetName(otherplayer), amount);  
            
SendAMessage(-1string);  
            
format(string150""green"[PREMIUM POINTS] "white"You have received "grey"%d "white"premium points from an "red"admin"white"."amountUser[otherplayer][accountPP]+amount);  
            
SendClientMessage(otherplayer, -1string);  
            
format(string150"» You have given {%06x}%s "white"premium points of "grey"%d"white"."GetPlayerColor(otherplayer) >>> 8GetName(otherplayer), amount);  
            
SendClientMessage(playerid, -1string);  
            
format(string128"%s received %d Premium Points from %s."GetName(otherplayer), amountGetName(playerid));  
            
Log("premium.txt"string); 
            
User[otherplayer][accountPP] += amount;  
        } 
    }     
    return 
true

Sinceramente, nгo estou lhe entendendo amigo. O comando funciona perfeitamente. abrss.
Reply
#5

Quote:
Originally Posted by Marlon_Lorran
Посмотреть сообщение
Sinceramente, nгo estou lhe entendendo amigo. O comando funciona perfeitamente. abrss.
Desculpa cara, eu nгo consegui, vou lhe mostrar...

PRINT
Reply
#6

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Desculpa cara, eu nгo consegui, vou lhe mostrar...

PRINT
Atualiza a include o plugin sscanf e tenta. Aqui funciona perfeitamente amigo! abrss.
Qualquer coisa me manda seu contato via mp e lhe passo a dll e .inc. abrss.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)