/ar help please
#1

guys i am starting to make /ar command but it so damn angry me wooooooooo... i cant belive

ok the problem is ''If (Isplayerconnected) .... here is the code

Код:
if ((strcmp("/ar", cmd, true) == 0) || (strcmp(cmd, "/arrest", true) == 0))
	{
	new tmp[256];
	
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	
	giveplayerid = strval(tmp);

	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) {
	SendClientMessage(playerid,0xFF0000AA, "USAGE: /Ar [Playerid]/[Player Name]");
	return 1;
	}
	if (!IsPlayerConnected(giveplayerid))
	{
	format(string, sizeof(string), "Player %s[%d] Is Not Connected!", playername,playerid);
	SendClientMessage(playerid,0xFF0000AA , string);
	}
	if (GetPlayerWantedLevel(playerid) <= 3)
	{
	SendClientMessage(playerid,0xFF0000AA,"You Can Only Ticket That Player!");
	}
	if (GetPlayerWantedLevel(playerid) > 4)
	{
	SendClientMessage(playerid,0x33CCFFAA,"Arested");
	}
	}
	return 0;
}
i just make a test ''/ar''

for now if i type /ar or /arrest both messages works great but when i join to my server i am ofc ID 0 and i type ''/ar 1'' cuz this id is not connected and it write in chat

''Player Weed 0 Is Not Connected!'' ---> udner this write
''SERVER:Unknown Command''

so it type both messages ... so can anyone help me solve this and mybe fix other things in this code i do wrong ...

i hope you udnerstand me what is my problem

ty for any help
Reply
#2

Change the order.
tmp = ... has to be first.

pawn Код:
tmp = strtok(cmdtext, idx);

    giveplayerid = strval(tmp);
Add return 1; at the end to remove SERVER:Unknown Command.

You use playerid with GetPlayerWantedLevel but I think it should be giveplayerid.
Reply
#3

ty you help alot but my command still dont work great

here is the /ar command
Код:
if ((strcmp("/ar", cmd, true) == 0) || (strcmp(cmd, "/arrest", true) == 0))
	{
	new tmp[256];
	tmp = strtok(cmdtext, idx);
	
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	
	giveplayerid = strval(tmp);

	if(!strlen(tmp)) {
	SendClientMessage(playerid,0xFF0000AA, "USAGE: /Ar [Playerid] / [Player Name]");
	return 1;
	}
	if(!IsPlayerConnected(giveplayerid))
	{
	SendClientMessage(playerid,0xFF0000AA,"ERROR: Invaild ID!");
	return 1;
	}
	if(GetPlayerWantedLevel(playerid) > 4)
	{
	format(string, sizeof(string), "You Have Been Arrested by Officer %s[%d]!",playername,playerid);
	SendClientMessage(giveplayerid,0x33CCFFAA,string);
	
	format(string, sizeof(string), "~r~BUSTED!");
	GameTextForPlayer(giveplayerid,string,3000,5);
	
	format(string, sizeof(string), "You Arrested %s[%d], You Get $2500!",playername,giveplayerid);
	SendClientMessage(playerid,0x33CCFFAA,string);
	
	format(string, sizeof(string), "~b~WELL DONE!");
	GameTextForPlayer(playerid,string,3000,5);
	
	GivePlayerMoney(playerid,2500);
	
	SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_HANDSUP);
	ResetPlayerWeapons(giveplayerid);
	return 1;
	}
	}
	return 0;
}
it is just test of /ar command i made but when i try to /ar my self it says SERVER:Unknown Command wtf... and i have Return 1; ... or i must do something else help please,ty for any help
Reply
#4

pawn Код:
GivePlayerMoney(playerid,2500);
   
    SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_HANDSUP);
    ResetPlayerWeapons(giveplayerid);
            // Put this return...
    }
    return 1;    // ... to here
    }
    return 0;
}
And you see the messages only if the player who types /ar has wanted level bigger than 4.
Reply
#5

so TY! just tell me something more please cuz i forget how to do that ... like ... it was something like that : if(getplayerteam[gTeam] > Cop ...

i forget so i just guve an example wat i want ... it should make that the command can just use Cops/Fbi/Sherifs

edit: and how i can make that when player arest someone he get +1 score its something like before ... if get player score (set player score) = +1 or something like that
Reply
#6

cmon
Reply
#7

How do you define your teams?

To add 1 score use SetPlayerScore(playerid, GetPlayerScore(playerid));
Reply
#8

Suggestion:
Change your array size to 128 and also use sscanf + zcmd.
Reply
#9

Quote:
Originally Posted by MenaceX^
Suggestion:
Change your array size to 128 and also use sscanf + zcmd.
dont know how to
Reply
#10

Quote:
Originally Posted by MadeMan
How do you define your teams?

To add 1 score use SetPlayerScore(playerid, GetPlayerScore(playerid));
i have gTeam ... amm look

part of code
Код:
static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player

forward SetPlayerTeamFromClass(playerid,classid);
forward SetPlayerToTeamColor(playerid);
forward SetPlayerRandomSpawn(playerid);
forward HideTextDraw(playerid);

#define lightblue 0x33CCFFAA
#define red 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUEVIOLET 0x8A2BE2AA
#define COLOR_DEADCONNECT 0x808080AA
#define COLOR_BLUE 0x0000FFAA
#define COLOR_FORESTGREEN 0x228B22AA
#define COLOR_DODGERBLUE 0x1E90FFAA
#define COLOR_DARKOLIVEGREEN 0x556B2FAA
#define COLOR_ORANGE 0xFFA500AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_ROYALBLUE 0x4169FFAA
#define COLOR_ERROR 0xD2691EAA

// ADMIN COLOR

#define COLOR_PINK 0xFF66FFAA

//TEAMS
#define TEAM_FBI 0
#define TEAM_SHERIFF 1
#define TEAM_COP 2
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)