#define COLOR_GROUPTALK 0x87CEEBAA // SKYBLUE #define COLOR_MENU 0xFFFFFFAA // WHITE (FFFFFF) menu's (/help) #define COLOR_SYSTEM_PM 0x66CC00AA // LIGHT GREEN #define COLOR_SYSTEM_PW 0xFFFF33AA // YELLOW //--/rob command by orderph -- SETTINGS > #define ROB_MAX_DISTANCE 6.0 //Make sure it is a float. Keep it small to avoid complications while getting the nearest player. #define ROB_MIN_WAIT 0 //Time that players have to wait between /rob attempts in miliseconds. #define ROB_SUCCESS_PERCENTAGE 60 //Chances of a player to succeed in a /rob attempt. #define ROB_AMOUNT_MIN_PERCENTAGE 5 //Min % of a victims money the robber can get if they succeed. #define ROB_AMOUNT_MAX_PERCENTAGE 10 //Max % of a victims money the robber can get if they succeed. //--/rob command by orderph -- COLORS > #define COLOR_ROB_SUCCESS 0x00CCFFAA #define COLOR_ROB_FAILURE 0xCCCCFFAA #define COLOR_ROB_ERROR 0xFF0000AA RobCmd(playerid) //by orderph { if ((GetTickCount() - gPlayerLastRob[playerid]) >= ROB_MIN_WAIT) { new victim = INVALID_PLAYER_ID; if (IsPlayerInAnyVehicle(playerid)) { new vehicle = GetPlayerVehicleID(playerid); for(new i=0; i < MAX_PLAYERS; i++) { if(i != playerid && IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i) == vehicle) { victim = i; break; } } } else if (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:distance; GetPlayerPos(playerid, x1, y1, z1); for(new i=0; i < MAX_PLAYERS; i++) { if(i != playerid && IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_ONFOOT) { GetPlayerPos(i, x2, y2, z2); distance = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); if(distance < ROB_MAX_DISTANCE) { victim = i; break; } } } } if (victim != INVALID_PLAYER_ID) { new cash = GetPlayerMoney(victim); new name[MAX_PLAYER_NAME], str[256]; GetPlayerName(victim, name, MAX_PLAYER_NAME); if (cash > 0) { new rand = random(100); gPlayerLastRob[playerid] = GetTickCount(); if (rand <= ROB_SUCCESS_PERCENTAGE) { rand = random(ROB_AMOUNT_MAX_PERCENTAGE - ROB_AMOUNT_MIN_PERCENTAGE) + ROB_AMOUNT_MIN_PERCENTAGE; new amount = floatround((rand * cash) / 100); GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(str, sizeof(str), "%s (%d) has robbed you $%d.", name, playerid, amount); SendClientMessage(victim, COLOR_ROB_SUCCESS, str); format(str, sizeof(str), "~y~Robbed by %s: $%d.", name, amount); GameTextForPlayer(victim, str, 3000, 3); GivePlayerMoney(victim, 0 - amount); GetPlayerName(victim, name, MAX_PLAYER_NAME); format(str, sizeof(str), "You have robbed $%d from %s (%d)", amount, name, victim); SendClientMessage(playerid, COLOR_ROB_SUCCESS, str); format(str, sizeof(str), "~y~Robbed %s: $%d.", name, amount); GameTextForPlayer(playerid, str, 3000, 3); GivePlayerMoney(playerid, amount); } else { GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(str, sizeof(str), "%s (%d) has attempted to rob you but failed.", name, playerid); SendClientMessage(victim, COLOR_ROB_FAILURE, str); format(str, sizeof(str), "~y~%s attempted to rob you", name); GameTextForPlayer(victim, str, 3000, 3); GetPlayerName(victim, name, MAX_PLAYER_NAME); format(str, sizeof(str), "Your attempt to rob %s (%d) has failed.", name, victim); SendClientMessage(playerid, COLOR_ROB_FAILURE, str); format(str, sizeof(str), "~y~Attempt to rob %s failed", name); GameTextForPlayer(playerid, str, 3000, 3); } } else { GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(str, sizeof(str), "Cannot attempt to rob %s (%d) as he/she has no money.", name, victim); SendClientMessage(playerid, COLOR_ROB_ERROR, str); } } else { SendClientMessage(playerid, COLOR_ROB_ERROR, "No players close enough to rob."); } } else { SendClientMessage(playerid, COLOR_ROB_ERROR, "Please wait before attempting to rob someone again."); } } This goes on top of your page underneath the #include etc if (strcmp(cmdtext, "/rob", true)==0) { RobCmd(playerid); return 1; } This goes underneath public OnPlayerCommandText(playerid ,cmdtext[]){