The Commands Doesnt Work With GivePlayerID
#1

Look If I want Do Command On Some Player It Doesn't Work :
For Exemple Im Do This Command :
PHP код:
if(strcmp(cmdtext,"/Suspect",true) == || strcmp(cmdtext,"/Su",true) == 0)   {
   
tmp strtok(cmdtextidx);
   if(!
strlen(tmp)){
   
SendClientMessage(playeridCOLOR_GREEN"USAGE: /Suspect [PlayerID/PlayerName]");
   return 
1;
   }
   
tmp strtok(cmdtextidx);
   
GivePlayerID ReturnUser(tmp);
   if(
IsPlayerConnected(GivePlayerID))
   {
      if(
GivePlayerID != INVALID_PLAYER_ID)
      {
         if(
Suspect[GivePlayerID] == 0)return Suspect[GivePlayerID] = ,SetPlayerWantedLevel(GivePlayerID1) ,SendClientMessage(playeridCOLOR_ORANGE"You Level Wanted Now Is: 1 ");
         if(
Suspect[GivePlayerID] == 1)return Suspect[GivePlayerID] = ,SetPlayerWantedLevel(GivePlayerID2) ,SendClientMessage(playeridCOLOR_ORANGE"You Level Wanted Now Is: 2 ");
         if(
Suspect[GivePlayerID] == 2)return Suspect[GivePlayerID] = ,SetPlayerWantedLevel(GivePlayerID3) ,SendClientMessage(playeridCOLOR_ORANGE"You Level Wanted Now Is: 3 ");
         if(
Suspect[GivePlayerID] == 3)return Suspect[GivePlayerID] = ,SetPlayerWantedLevel(GivePlayerID4) ,SendClientMessage(playeridCOLOR_ORANGE"You Level Wanted Now Is: 4 ");
         if(
Suspect[GivePlayerID] == 4)return Suspect[GivePlayerID] = ,SetPlayerWantedLevel(GivePlayerID5) ,SendClientMessage(playeridCOLOR_ORANGE"You Level Wanted Now Is: 5 ");
         if(
Suspect[GivePlayerID] == 5)return Suspect[GivePlayerID] = ,SetPlayerWantedLevel(GivePlayerID6) ,SendClientMessage(playeridCOLOR_ORANGE"You Level Wanted Now Is: 6 ") ,SetPlayerColor(GivePlayerIDCOLOR_RED) ,SetPlayerMarkerForPlayer(iplayeridCOLOR_RED);
         if(
Suspect[GivePlayerID] == 6)return SendClientMessage(playeridCOLOR_ORANGE,"You Cant Use This Command This Player Alredy Have Level Wanted: 6");
         }
      }
   }
   return 
1;

When Im Write /Suspect Without The ID Im Get The Message
PHP код:
USAGE: /Suspect [PlayerID/PlayerName
!
The First Part In The Command Write Perfect Like All The Commands In The FilterScript, But When Im Write The Command With The ID The Command Doesn't Work It Didn't Do Enything !!!

If It Needs Its What Im Have Up In "public OnPlayerCommandText(playerid, cmdtext[])" :
PHP код:
new cmd[256];   new tmp[256];
   new 
GivePlayerIDidx;
   new 
vehicleid GetPlayerVehicleID(playerid);
   
tmp strtok(cmdtextidx);
   
cmd strtok(cmdtextidx);
   
GivePlayerID ReturnUser(tmp); 
For Use "strtok" and "ReturnUser", Im Use The Includes "utlis", and "dutils"
Please Help Me !!
Reply
#2

Just use zcmd and sscanf.
Reply
#3

looks like you have an extra "return 1;", delete the red one

if(strcmp(cmdtext,"/Suspect",true) == 0 || strcmp(cmdtext,"/Su",true) == 0) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_GREEN, "USAGE: /Suspect [PlayerID/PlayerName]");
return 1;
}
tmp = strtok(cmdtext, idx);
GivePlayerID = ReturnUser(tmp);
if(IsPlayerConnected(GivePlayerID))
{
if(GivePlayerID != INVALID_PLAYER_ID)
{
if(Suspect[GivePlayerID] == 0)return Suspect[GivePlayerID] = 1 ,SetPlayerWantedLevel(GivePlayerID, 1) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 1 ");
if(Suspect[GivePlayerID] == 1)return Suspect[GivePlayerID] = 2 ,SetPlayerWantedLevel(GivePlayerID, 2) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 2 ");
if(Suspect[GivePlayerID] == 2)return Suspect[GivePlayerID] = 3 ,SetPlayerWantedLevel(GivePlayerID, 3) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 3 ");
if(Suspect[GivePlayerID] == 3)return Suspect[GivePlayerID] = 4 ,SetPlayerWantedLevel(GivePlayerID, 4) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 4 ");
if(Suspect[GivePlayerID] == 4)return Suspect[GivePlayerID] = 5 ,SetPlayerWantedLevel(GivePlayerID, 5) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 5 ");
if(Suspect[GivePlayerID] == 5)return Suspect[GivePlayerID] = 6 ,SetPlayerWantedLevel(GivePlayerID, 6) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 6 ") ,SetPlayerColor(GivePlayerID, COLOR_RED) ,SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);
if(Suspect[GivePlayerID] == 6)return SendClientMessage(playerid, COLOR_ORANGE,"You Cant Use This Command This Player Alredy Have Level Wanted: 6");
}
}
}
return 1;
}
Reply
#4

Quote:
Originally Posted by ProjectGANTON
Посмотреть сообщение
Just use zcmd and sscanf.
I Dont Want This Includes I Want Do It Myself Without Includes It Possible But Im Can't Do This.
Quote:
Originally Posted by [FAT]Klabauter[LST]
Посмотреть сообщение
looks like you have an extra "return 1;", delete the red one

if(strcmp(cmdtext,"/Suspect",true) == 0 || strcmp(cmdtext,"/Su",true) == 0) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_GREEN, "USAGE: /Suspect [PlayerID/PlayerName]");
return 1;
}
tmp = strtok(cmdtext, idx);
GivePlayerID = ReturnUser(tmp);
if(IsPlayerConnected(GivePlayerID))
{
if(GivePlayerID != INVALID_PLAYER_ID)
{
if(Suspect[GivePlayerID] == 0)return Suspect[GivePlayerID] = 1 ,SetPlayerWantedLevel(GivePlayerID, 1) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 1 ");
if(Suspect[GivePlayerID] == 1)return Suspect[GivePlayerID] = 2 ,SetPlayerWantedLevel(GivePlayerID, 2) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 2 ");
if(Suspect[GivePlayerID] == 2)return Suspect[GivePlayerID] = 3 ,SetPlayerWantedLevel(GivePlayerID, 3) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 3 ");
if(Suspect[GivePlayerID] == 3)return Suspect[GivePlayerID] = 4 ,SetPlayerWantedLevel(GivePlayerID, 4) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 4 ");
if(Suspect[GivePlayerID] == 4)return Suspect[GivePlayerID] = 5 ,SetPlayerWantedLevel(GivePlayerID, 5) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 5 ");
if(Suspect[GivePlayerID] == 5)return Suspect[GivePlayerID] = 6 ,SetPlayerWantedLevel(GivePlayerID, 6) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 6 ") ,SetPlayerColor(GivePlayerID, COLOR_RED) ,SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);
if(Suspect[GivePlayerID] == 6)return SendClientMessage(playerid, COLOR_ORANGE,"You Cant Use This Command This Player Alredy Have Level Wanted: 6");
}
}
}
return 1;
}
It Still Doesn't Work ..
Reply
#5

Try this:
pawn Код:
if(strcmp(cmdtext, "/suspect", true) == 0 || strcmp(cmdtext, "/su", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREEN, "Usage: /Suspect [PlayerID/PlayerName]");
        new GivePlayerID = ReturnUser(tmp);
        if(!IsPlayerConnected(GivePlayerID) || GivePlayerID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "This Player Is Not Connected.");
        Suspect[GivePlayerID]++;
        if(Suspect[GivePlayerID] >= 6)
        {
            Suspect[GivePlayerID] = 6;
            SetPlayerColor(GivePlayerID, COLOR_RED);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    SetPlayerMarkerForPlayer(i, GivePlayerID, COLOR_RED);
                }
            }
        }
        new string[50], PLAYERNAME[MAX_PLAYER_NAME];
        format(string,sizeof(string),"Your Wanted Level Is Now: %d",Suspect[GivePlayerID]);
        SendClientMessage(GivePlayerID, COLOR_ORANGE, string);
        SetPlayerWantedLevel(GivePlayerID, Suspect[GivePlayerID]);
        GetPlayerName(GivePlayerID, PLAYERNAME, MAX_PLAYER_NAME);
        format(string,sizeof(string),"You Have Reported %s.",PLAYERNAME);
        SendClientMessage(playerid, COLOR_GREEN, string);
        return 1;
    }
Reply
#6

Quote:
Originally Posted by [FAT]Klabauter[LST]
Посмотреть сообщение
looks like you have an extra "return 1;", delete the red one

if(strcmp(cmdtext,"/Suspect",true) == 0 || strcmp(cmdtext,"/Su",true) == 0) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_GREEN, "USAGE: /Suspect [PlayerID/PlayerName]");
return 1;
}
tmp = strtok(cmdtext, idx);
GivePlayerID = ReturnUser(tmp);
if(IsPlayerConnected(GivePlayerID))
{
if(GivePlayerID != INVALID_PLAYER_ID)
{
if(Suspect[GivePlayerID] == 0)return Suspect[GivePlayerID] = 1 ,SetPlayerWantedLevel(GivePlayerID, 1) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 1 ");
if(Suspect[GivePlayerID] == 1)return Suspect[GivePlayerID] = 2 ,SetPlayerWantedLevel(GivePlayerID, 2) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 2 ");
if(Suspect[GivePlayerID] == 2)return Suspect[GivePlayerID] = 3 ,SetPlayerWantedLevel(GivePlayerID, 3) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 3 ");
if(Suspect[GivePlayerID] == 3)return Suspect[GivePlayerID] = 4 ,SetPlayerWantedLevel(GivePlayerID, 4) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 4 ");
if(Suspect[GivePlayerID] == 4)return Suspect[GivePlayerID] = 5 ,SetPlayerWantedLevel(GivePlayerID, 5) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 5 ");
if(Suspect[GivePlayerID] == 5)return Suspect[GivePlayerID] = 6 ,SetPlayerWantedLevel(GivePlayerID, 6) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 6 ") ,SetPlayerColor(GivePlayerID, COLOR_RED) ,SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);
if(Suspect[GivePlayerID] == 6)return SendClientMessage(playerid, COLOR_ORANGE,"You Cant Use This Command This Player Alredy Have Level Wanted: 6");
}
}
}
return 1;
}
Congratulations! You just made a fool of yourselves on the SA:MP forum!

@OP: if(Suspect[GivePlayerID] == 5)return Suspect[GivePlayerID] = 6 ,SetPlayerWantedLevel(GivePlayerID, 6) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 6 ") ,SetPlayerColor(GivePlayerID, COLOR_RED) ,SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);

I don't think you can use it like this? Also: It can be way shorter. Instead of all those if statements you can check it like this:
pawn Код:
if(Suspect[GivePlayerID] == 6) return SendClientMessage(playerid, COLOR_ORANGE, "You cant do this on a lvl6");
else {
 Suspect[GivePlayerID]++;
 SetPlayerWantedLevel[Suspect[GivePlayerID];
 new str[218]; // create new string
 format(str, sizeof(str), "Your wanted level is now: %d", Suspect[GivePlayerID]); // format the string
 SendClientMessage(playerid, COLOR_ORANGE, str); // send the string
 if(Suspect[GivePlayerID] == 6) // check if he is 6 now
 {
    SetPlayerColor(GivePlayerID, COLOR_RED); // set his color
    for(new i=0; i < MAX_PLAYERS; i++) { // set the marker for everyone
        SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);
    }
}
Reply
#7

Quote:
Originally Posted by clarencecuzz
Посмотреть сообщение
Try this:
pawn Код:
if(strcmp(cmdtext, "/suspect", true) == 0 || strcmp(cmdtext, "/su", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREEN, "Usage: /Suspect [PlayerID/PlayerName]");
        new GivePlayerID = ReturnUser(tmp);
        if(!IsPlayerConnected(GivePlayerID) || GivePlayerID == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "This Player Is Not Connected.");
        Suspect[GivePlayerID]++;
        if(Suspect[GivePlayerID] >= 6)
        {
            Suspect[GivePlayerID] = 6;
            SetPlayerColor(GivePlayerID, COLOR_RED);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    SetPlayerMarkerForPlayer(i, GivePlayerID, COLOR_RED);
                }
            }
        }
        new string[50], PLAYERNAME[MAX_PLAYER_NAME];
        format(string,sizeof(string),"Your Wanted Level Is Now: %d",Suspect[GivePlayerID]);
        SendClientMessage(GivePlayerID, COLOR_ORANGE, string);
        SetPlayerWantedLevel(GivePlayerID, Suspect[GivePlayerID]);
        GetPlayerName(GivePlayerID, PLAYERNAME, MAX_PLAYER_NAME);
        format(string,sizeof(string),"You Have Reported %s.",PLAYERNAME);
        SendClientMessage(playerid, COLOR_GREEN, string);
        return 1;
    }
Quote:
Originally Posted by mamorunl
Посмотреть сообщение
Congratulations! You just made a fool of yourselves on the SA:MP forum!

@OP: if(Suspect[GivePlayerID] == 5)return Suspect[GivePlayerID] = 6 ,SetPlayerWantedLevel(GivePlayerID, 6) ,SendClientMessage(playerid, COLOR_ORANGE, "You Level Wanted Now Is: 6 ") ,SetPlayerColor(GivePlayerID, COLOR_RED) ,SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);

I don't think you can use it like this? Also: It can be way shorter. Instead of all those if statements you can check it like this:
pawn Код:
if(Suspect[GivePlayerID] == 6) return SendClientMessage(playerid, COLOR_ORANGE, "You cant do this on a lvl6");
else {
 Suspect[GivePlayerID]++;
 SetPlayerWantedLevel[Suspect[GivePlayerID];
 new str[218]; // create new string
 format(str, sizeof(str), "Your wanted level is now: %d", Suspect[GivePlayerID]); // format the string
 SendClientMessage(playerid, COLOR_ORANGE, str); // send the string
 if(Suspect[GivePlayerID] == 6) // check if he is 6 now
 {
    SetPlayerColor(GivePlayerID, COLOR_RED); // set his color
    for(new i=0; i < MAX_PLAYERS; i++) { // set the marker for everyone
        SetPlayerMarkerForPlayer(i, playerid, COLOR_RED);
    }
}
Already as i told you, You build that reading of ID worng there.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)