Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define filterscript
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #define NUMVALUES 4
- /* EDIT FROM HERE*/
- #define COLOR_ERROR 0xFF0000FF //Color of the error messages
- #define COLOR_MSG 0x00FFFFFF //Color of general messages
- #define ANTISPAM_RAPE 5 //Minimum time between /rape commands (in seconds)
- #define ANTISPAM_CURE 25 //Minimum time between /cure commands (in seconds)
- #define CHLAMYDIA 3 //The interval which the player loses health with Chlamydia (in seconds)
- #define GONORRHEA 2 //The interval which the player loses health with Gonorrhea (in seconds)
- #define RAPE_DISTANCE 5.0 //Distance between players to be able to rape
- /*NO NEED TO EDIT FROM HERE*/
- stock Float:GetDistanceBetweenPlayers(p1,p2){
- new Float:x1,Float:y1,Float:z1,Float:x3,Float:y3,Float:z3;
- if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
- return -1.00;
- }
- GetPlayerPos(p1,x1,y1,z1);
- GetPlayerPos(p2,x3,y3,z3);
- return floatsqroot(floatpower(floatabs(floatsub(x3,x1)),2)+floatpower(floatabs(floatsub(y3,y1)),2)+floatpower(floatabs(floatsub(z3,z1)),2));
- }
- new string[256];
- new chlamydia[MAX_PLAYERS];
- new gonorrhea[MAX_PLAYERS];
- new rapespam[MAX_PLAYERS];
- new curespam[MAX_PLAYERS];
- stock ReturnPlayerName(id)
- {
- new thename[MAX_PLAYER_NAME];
- GetPlayerName(id, thename, MAX_PLAYER_NAME);
- return thename;
- }
- dcmd_rape(playerid, params[])
- {
- new ID = strval(params);
- if(!strlen(params))
- {
- SendClientMessage(playerid, COLOR_ERROR, "USAGE: /rape [ID]");
- }
- else
- {
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_ERROR, "That player is not connected!");
- if(ID == playerid) return SendClientMessage(playerid, COLOR_ERROR, "You cannot rape yourself!");
- if(rapespam[playerid] == 0)
- {
- if(GetDistanceBetweenPlayers(playerid,ID) > RAPE_DISTANCE) return SendClientMessage(playerid, COLOR_ERROR, "You are not close enough to eachother!");
- new raperand = random(5);
- if(raperand == 1 || raperand == 2)
- {
- format(string, sizeof(string), "%s (%i) noticed you trying to rape him", ReturnPlayerName(ID), ID);
- SendClientMessage(playerid, COLOR_MSG, string);
- format(string, sizeof(string), "%s (%i) tried to rape you", ReturnPlayerName(playerid), playerid);
- SendClientMessage(ID, COLOR_MSG, string);
- }
- else if(raperand == 3 || raperand == 5)
- {
- if(!chlamydia[ID])
- {
- chlamydia[ID] = 1;
- new Float:health;
- GetPlayerHealth(ID, health);
- SetPlayerHealth(ID, health-5-random(10));
- format(string, 256, "You raped and infected %s (%i) with Chlamydia", ReturnPlayerName(ID), ID);
- SendClientMessage(playerid, COLOR_MSG, string);
- format(string, sizeof(string), "%s (%i) raped you and infected you with Chlamydia", ReturnPlayerName(playerid), playerid);
- SendClientMessage(ID, COLOR_MSG, string);
- }
- else
- {
- new Float:health;
- GetPlayerHealth(ID, health);
- SetPlayerHealth(ID, health-5-random(15));
- format(string, 256, "You raped %s (%i)", ReturnPlayerName(ID), ID);
- SendClientMessage(playerid, COLOR_MSG, string);
- format(string, sizeof(string), "%s (%i) raped you", ReturnPlayerName(playerid), playerid);
- SendClientMessage(ID, COLOR_MSG, string);
- }
- }
- else if(raperand == 4)
- {
- if(!gonorrhea[ID])
- {
- gonorrhea[ID] = 1;
- new Float:health;
- GetPlayerHealth(ID, health);
- SetPlayerHealth(ID, health-5-random(20));
- format(string, 256, "You raped and infected %s (%i) with Gonorrhea", ReturnPlayerName(ID), ID);
- SendClientMessage(playerid, COLOR_MSG, string);
- format(string, sizeof(string), "%s (%i) raped you and infected you with Gonorrhea", ReturnPlayerName(playerid), playerid);
- SendClientMessage(ID, COLOR_MSG, string);
- }
- else
- {
- new Float:health;
- GetPlayerHealth(ID, health);
- SetPlayerHealth(ID, health-5-random(20));
- format(string, 256, "You raped %s (%i)", ReturnPlayerName(ID), ID);
- SendClientMessage(playerid, COLOR_MSG, string);
- format(string, sizeof(string), "%s (%i) raped you", ReturnPlayerName(playerid), playerid);
- SendClientMessage(ID, COLOR_MSG, string);
- }
- }
- rapespam[playerid] = 1;
- SetTimerEx("rapespamt", ANTISPAM_RAPE*1000, false, "i", playerid);
- }
- else
- {
- SendClientMessage(playerid, COLOR_ERROR, "Please wait before raping someone again!");
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(rape, 4, cmdtext);
- if(!strcmp(cmdtext, "/cure", true))
- {
- if(curespam[playerid] == 0)
- {
- if(chlamydia[playerid] || gonorrhea[playerid])
- {
- new randcure = random(3);
- if(randcure == 1 || randcure == 2)
- {
- SendClientMessage(playerid, COLOR_MSG, "You tried to cure yourself by poking yourself in random places with a needle but it failed");
- }
- else
- {
- SendClientMessage(playerid, COLOR_MSG, "You tried to cure yourself by poking yourself in random places with a needle and it worked!!");
- SendClientMessage(playerid, COLOR_MSG, "You are now cured from all diseases!");
- chlamydia[playerid] = 0;
- gonorrhea[playerid] = 0;
- }
- SetTimerEx("curespamt", ANTISPAM_CURE*1000, false, "i", playerid);
- curespam[playerid] = 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_ERROR, "You don't have any STDs to cure!");
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_ERROR, "Please wait before trying to cure yourself again!");
- }
- return 1;
- }
- return 0;
- }
- public OnFilterScriptInit()
- {
- SetTimer("checkchlamy", CHLAMYDIA*1000, true);
- SetTimer("checkgono", GONORRHEA*1000, true);
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- chlamydia[playerid] = 0;
- gonorrhea[playerid] = 0;
- }
- forward checkchlamy();
- public checkchlamy()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(chlamydia[i] == 1 && IsPlayerConnected(i))
- {
- new Float:health;
- GetPlayerHealth(i, health);
- SetPlayerHealth(i, health-5-random(10));
- }
- }
- }
- forward checkgono();
- public checkgono()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(gonorrhea[i] == 1 && IsPlayerConnected(i))
- {
- new Float:health;
- GetPlayerHealth(i, health);
- SetPlayerHealth(i, health-5-random(20));
- }
- }
- }
- forward rapespamt(Id);
- public rapespamt(Id)
- {
- rapespam[Id] = 0;
- }
- forward curespamt(id);
- public curespamt(id)
- {
- curespam[id] = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment