18.03.2014, 13:16
How can i make something like if a player piss on the person once he can't piss on him twice in row even he can't rob him after piss but when he piss or rob someone else he can do it so can anyone give an example
//-----Can't Attack twice in row--// new Attacked[MAX_PLAYERS] = INVALID_PLAYER_ID;
CMD:rape(playerid) { if(PlayerDuelWatching[playerid] == 1) return SCM(playerid,COLOR_RED," You can't use this command while watching duel /leavewatch"); new nPlayer = GetClosestPlayer(playerid); if(pInfo[playerid][belt] == 1) return SCM(playerid,COLOR_RED,"You can't rape while wearing a belt"); if(blockedrape == 1) return SCM(playerid, COLOR_RED, "/Rape is blocked by admin"); if(Attacked[playerid] == nPlayer) return SCM(playerid, -1, "You cannot attack the same player twice in row."); //if(RestrictCMD == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command reason:[DISABLED]"); if(spawned[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command While Dead."); if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"You Cannot Use This Command While In A Vehicle."); if(spawned[nPlayer] == 0) return SendClientMessage(playerid, COLOR_RED, "You Cannot Rape A Dead Body."); //if(OnDuty[nPlayer] == 1) return SendClientMessage(playerid, COLOR_RED, "You cannot use this command on an admin on duty"); //if(IsInChallenge[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You cannot rape in a challenge. You can take drugs and use /ad."); if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"Error: You cannot use this command in a vehicle."); if(spectate[nPlayer] == 1) return SendClientMessage(playerid, COLOR_RED, "Nobody close enough to rape."); //if(duel[nPlayer] == 1) return SendClientMessage(playerid, COLOR_RED, "you cannot rape in duel area"); new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); if(rape[playerid] == 1) return SendClientMessage(playerid,COLOR_RED,"Error: Please wait before raping again."); if(IsPlayerInRangeOfPoint(nPlayer,6.0,x,y,z)) { if(aduty[nPlayer] == 1) return SCM(playerid, COLOR_RED,"You can't use this command on onduty admin."); //if(pInfo[nPlayer][Adminlevel] > 1) return SendClientMessage(playerid, COLOR_RED, ""ERROR_MESSAGE""); if(IsPlayerInAnyVehicle(nPlayer)) return SendClientMessage(playerid,COLOR_RED,"Error: The nearest player is in a vehicle."); rape[playerid] =1; RapeRecent1[playerid] = SetTimerEx("RapeRecent",10*1000,0,"i",playerid); if(pInfo[playerid][belt] == 0) { switch(random(9)) { case 1, 2, 3: { GameTextForPlayer(playerid,"Raping Failed",4500,3); pInfo[nPlayer][belt] = 0; new string[128]; format(string,sizeof(string),"%s Has attempted to rape you.",PlayerName(playerid)); SendClientMessage(nPlayer,COLOR_RED,string); //SetPVarInt(playerid, "CanRape", 0); //RapeAgain[playerid] = SetTimerEx("ActivePlayerRape",40000,0,"i",playerid); } case 4, 5: { if(pInfo[nPlayer][belt] == 1) SCM(playerid,COLOR_RED,"You Broke his belt"); pInfo[nPlayer][belt] = 0; SCM(nPlayer,COLOR_RED,"Your Belt is Broken"); new string[128], str[128]; new Float:myhealth, Float:he; GetPlayerHealth(nPlayer,myhealth); SetPlayerHealth(nPlayer,myhealth-float(random(40))); GetPlayerHealth(nPlayer, he); format(str, sizeof str, "%s has been raped to death by %s.", PlayerName(nPlayer), PlayerName(playerid)); if(he <= 0.0) SendClientMessageToAll(COLOR_RED, str); new Float:x1, Float:y1, Float:z1; GetPlayerPos(nPlayer,x1,y1,z1); SetPlayerPos(nPlayer,x1,y1,z1+1); format(string,sizeof(string),"%s Has raped you.",PlayerName(playerid)); SendClientMessage(nPlayer,0x00FFFFC8,string); format(string,sizeof(string),"You have raped %s.",PlayerName(nPlayer)); SendClientMessage(playerid,0x00FFFFC8,string); format(string,sizeof(string),"~w~Raped %s",PlayerName(nPlayer)); GameTextForPlayer(playerid,string,5000,3); format(string,sizeof(string),"%s has raped you",PlayerName(playerid)); GameTextForPlayer(nPlayer,string,5000,3); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); Attacked[playerid] = nPlayer; //SetPVarInt(playerid, "CanRape", 0); ///RapeAgain[playerid] = SetTimerEx("ActivePlayerRape",1000*40,0,"i",playerid); } case 6, 7: { if(pInfo[nPlayer][belt] == 1) SCM(playerid,COLOR_RED,"You Broke his belt"); pInfo[nPlayer][belt] = 0; SCM(nPlayer,COLOR_RED,"Your Belt is Broken"); new string[128], str[128]; new Float:myhealth, Float:he; GetPlayerHealth(nPlayer,myhealth); SetPlayerHealth(nPlayer,myhealth-float(random(30))); GetPlayerHealth(nPlayer, he); format(str, sizeof str, "%s has been raped to death by %s.", PlayerName(nPlayer), PlayerName(playerid)); if(he <= 0.0) SendClientMessageToAll(COLOR_MAROON, str); new Float:x1, Float:y1, Float:z1; GetPlayerPos(nPlayer,x1,y1,z1); SetPlayerPos(nPlayer,x1,y1,z1+1); format(string,sizeof(string),"%s has raped you.",PlayerName(playerid)); SendClientMessage(nPlayer,0x00FFFFC8,string); format(string,sizeof(string),"You have raped %s.",PlayerName(nPlayer)); SendClientMessage(playerid,0x00FFFFC8,string); format(string,sizeof(string),"~w~Raped %s",PlayerName(nPlayer)); GameTextForPlayer(playerid,string,5000,3); format(string,sizeof(string),"%s has raped you",PlayerName(playerid)); GameTextForPlayer(nPlayer,string,5000,3); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); Attacked[playerid] = nPlayer; //SetPVarInt(playerid, "CanRape", 0); //RapeAgain[playerid] = SetTimerEx("ActivePlayerRape",1000*40,0,"i",playerid); } case 8, 9: { if(pInfo[nPlayer][belt] == 1) SCM(playerid,COLOR_RED,"You Broke his belt"); pInfo[nPlayer][belt] = 0; SCM(nPlayer,COLOR_RED,"Your Belt is Broken"); new string[128], str[128]; new Float:myhealth, Float:he; GetPlayerHealth(nPlayer,myhealth); SetPlayerHealth(nPlayer,myhealth-float(random(20))); GetPlayerHealth(nPlayer, he); format(str, sizeof str, "%s has been raped to death by %s.", PlayerName(nPlayer), PlayerName(playerid)); if(he <= 0.0) SendClientMessageToAll(COLOR_MAROON, str); new Float:x1, Float:y1, Float:z1; GetPlayerPos(nPlayer,x1,y1,z1); SetPlayerPos(nPlayer,x1,y1,z1+1); format(string,sizeof(string),"%s has raped you.",PlayerName(playerid)); SendClientMessage(nPlayer,0x00FFFFC8,string); format(string,sizeof(string),"You have raped %s.",PlayerName(nPlayer)); SendClientMessage(playerid,0x00FFFFC8,string); format(string,sizeof(string),"~w~Raped %s",PlayerName(nPlayer)); GameTextForPlayer(playerid,string,5000,3); format(string,sizeof(string),"%s has raped you",PlayerName(playerid)); GameTextForPlayer(nPlayer,string,5000,3); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); Attacked[playerid] = nPlayer; } } } if(pInfo[playerid][belt] == 1) { switch(random(16)) { case 1, 2, 3: { GameTextForPlayer(playerid,"Raping Failed But Broked His Belt",4500,3); pInfo[nPlayer][belt] = 0; new string[128]; format(string,sizeof(string),"%s Has attempted to rape you.And Broked You Belt",PlayerName(playerid)); SendClientMessage(nPlayer,COLOR_RED,string); //SetPVarInt(playerid, "CanRape", 0); //RapeAgain[playerid] = SetTimerEx("ActivePlayerRape",40000,0,"i",playerid); } case 4: { if(pInfo[nPlayer][belt] == 1) SCM(playerid,COLOR_RED,"You Broke his belt"); pInfo[nPlayer][belt] = 0; SCM(nPlayer,COLOR_RED,"Your Belt is Broken"); new string[128], str[128]; new Float:myhealth, Float:he; GetPlayerHealth(nPlayer,myhealth); SetPlayerHealth(nPlayer,myhealth-float(random(40))); GetPlayerHealth(nPlayer, he); format(str, sizeof str, "%s has been raped to death by %s.", PlayerName(nPlayer), PlayerName(playerid)); if(he <= 0.0) SendClientMessageToAll(COLOR_RED, str); new Float:x1, Float:y1, Float:z1; GetPlayerPos(nPlayer,x1,y1,z1); SetPlayerPos(nPlayer,x1,y1,z1+1); format(string,sizeof(string),"%s Has raped you.",PlayerName(playerid)); SendClientMessage(nPlayer,0x00FFFFC8,string); format(string,sizeof(string),"You have raped %s.",PlayerName(nPlayer)); SendClientMessage(playerid,0x00FFFFC8,string); format(string,sizeof(string),"~w~Raped %s",PlayerName(nPlayer)); GameTextForPlayer(playerid,string,5000,3); format(string,sizeof(string),"%s has raped you",PlayerName(playerid)); GameTextForPlayer(nPlayer,string,5000,3); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); Attacked[playerid] = nPlayer; //SetPVarInt(playerid, "CanRape", 0); ///RapeAgain[playerid] = SetTimerEx("ActivePlayerRape",1000*40,0,"i",playerid); } case 6: { if(pInfo[nPlayer][belt] == 1) SCM(playerid,COLOR_RED,"You Broke his belt"); pInfo[nPlayer][belt] = 0; SCM(nPlayer,COLOR_RED,"Your Belt is Broken"); new string[128], str[128]; new Float:myhealth, Float:he; GetPlayerHealth(nPlayer,myhealth); SetPlayerHealth(nPlayer,myhealth-float(random(30))); GetPlayerHealth(nPlayer, he); format(str, sizeof str, "%s has been raped to death by %s.", PlayerName(nPlayer), PlayerName(playerid)); if(he <= 0.0) SendClientMessageToAll(COLOR_MAROON, str); new Float:x1, Float:y1, Float:z1; GetPlayerPos(nPlayer,x1,y1,z1); SetPlayerPos(nPlayer,x1,y1,z1+1); format(string,sizeof(string),"%s has raped you.",PlayerName(playerid)); SendClientMessage(nPlayer,0x00FFFFC8,string); format(string,sizeof(string),"You have raped %s.",PlayerName(nPlayer)); SendClientMessage(playerid,0x00FFFFC8,string); format(string,sizeof(string),"~w~Raped %s",PlayerName(nPlayer)); GameTextForPlayer(playerid,string,5000,3); format(string,sizeof(string),"%s has raped you",PlayerName(playerid)); GameTextForPlayer(nPlayer,string,5000,3); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); Attacked[playerid] = nPlayer; //SetPVarInt(playerid, "CanRape", 0); //RapeAgain[playerid] = SetTimerEx("ActivePlayerRape",1000*40,0,"i",playerid); } case 8: { if(pInfo[nPlayer][belt] == 1) SCM(playerid,COLOR_RED,"You Broke his belt"); pInfo[nPlayer][belt] = 0; SCM(nPlayer,COLOR_RED,"Your Belt is Broken"); new string[128], str[128]; new Float:myhealth, Float:he; GetPlayerHealth(nPlayer,myhealth); SetPlayerHealth(nPlayer,myhealth-float(random(20))); GetPlayerHealth(nPlayer, he); format(str, sizeof str, "%s has been raped to death by %s.", PlayerName(nPlayer), PlayerName(playerid)); if(he <= 0.0) SendClientMessageToAll(COLOR_MAROON, str); new Float:x1, Float:y1, Float:z1; GetPlayerPos(nPlayer,x1,y1,z1); SetPlayerPos(nPlayer,x1,y1,z1+1); format(string,sizeof(string),"%s has raped you.",PlayerName(playerid)); SendClientMessage(nPlayer,0x00FFFFC8,string); format(string,sizeof(string),"You have raped %s.",PlayerName(nPlayer)); SendClientMessage(playerid,0x00FFFFC8,string); format(string,sizeof(string),"~w~Raped %s",PlayerName(nPlayer)); GameTextForPlayer(playerid,string,5000,3); format(string,sizeof(string),"%s has raped you",PlayerName(playerid)); GameTextForPlayer(nPlayer,string,5000,3); SetPlayerScore(playerid,GetPlayerScore(playerid)+1); Attacked[playerid] = nPlayer; } case 10,11,12,13,14,15,5,7,9: { return SCM(playerid,COLOR_RED,"You can't rape him he is Wearing Belt"); } } } } else { SendClientMessage(playerid,COLOR_RED,"Nobody close enough to rape."); } return 1; }
if(Attacked[playerid] == nPlayer) return SCM(playerid, -1, "You cannot attack the same player twice in row.");
Attacked[playerid] = nPlayer;
You cannot attack the same player twice in row.
stock GetClosestPlayer(playerid) { new Float:cdist, targetid = -1; for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i) && GetPlayerState(i) != PLAYER_STATE_SPECTATING && playerid != i && (targetid < 0 || cdist > GetDistanceBetweenPlayers(playerid, i))) { targetid = i; cdist = GetDistanceBetweenPlayers(playerid, i); } } return targetid; }