Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x0AFF0AAA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_ORANGE 0xFF9900AA
- #define green 0x33FF33AA
- #define red 0xFF0000AA
- #pragma tabsize 0
- #define JOIN_MESSAGES // Add "//" at the beggining of this line to disable the Join/Leave messages! E.G: //#define JOIN_MESSAGES.
- forward respawn(playerid);
- forward count1(playerid);
- forward count2(playerid);
- forward count3(playerid);
- forward admincheck(playerid);
- forward ShowAdminsToPlayer(playerid);
- new LastReport[MAX_PLAYERS];
- new Float:spawns[7][3] = {
- {7.7129,-20.1962,3.1172},
- {42.0615,-111.3861,0.6169},
- {-22.5135,-73.4812,3.1172},
- {-129.1683,45.8933,3.1172},
- {-200.1335,14.9004,3.1172},
- {-200.0157,83.0081,3.1172},
- {-176.4138,160.4866,6.6091}
- };
- main()
- {
- print("\n----------------------------------");
- print("RC Attack - by Mike");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("RC Attack");
- AddPlayerClass(280,-176.4138,160.4866,6.6091,332.7606,0,0,0,0,0,0); // RC bar
- SendRconCommand("weather 0");
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, -61.5243,-37.3244,20.2729);
- SetPlayerCameraPos(playerid, -17.9680,-50.4617,115.4172);
- SetPlayerCameraLookAt(playerid, -61.5243,-37.3244,25.2729);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SetPlayerColor(playerid, COLOR_GREY);
- SetWorldTime(13);
- SetTimerEx("admincheck", 6488, 1, "i", playerid);
- #if defined JOIN_MESSAGE
- new PlayerName[24];
- new string[256];
- GetPlayerName(playerid,PlayerName,24);
- format(string,256,"*** %s has joined the server.",PlayerName);
- for(new i = 0; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i) && playerid != i) SendClientMessage(i,grey,string);
- #endif
- return 1;
- }
- #if defined JOIN_MESSAGE
- public OnPlayerDisconnect(playerid,reason)
- {
- new Reason[256],string[256],name[24]; GetPlayerName(playerid,name,24);
- switch(reason) { case 0: Reason = "Timeout"; case 1: Reason = "Quit"; case 2: Reason = "Kick/Ban"; }
- format(string,256,"*** %s has left the server. (%s)",name,Reason);
- for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && i != playerid) SendClientMessage(i,grey,string);
- return 1;
- }
- #endif
- public OnPlayerSpawn(playerid)
- {
- new rand = random(sizeof(spawns));
- SetPlayerPos(playerid, spawns[rand][0], spawns[rand][1], spawns[rand][2]);
- SetPlayerInterior(playerid, 0);
- SetPlayerColor(playerid, COLOR_YELLOW);
- ResetPlayerMoney(playerid);
- if(!IsPlayerAdmin(playerid))
- {
- TogglePlayerControllable(playerid,0);
- SetTimerEx("count1", 1000, 0, "i", playerid);
- SetTimerEx("count2", 2000, 0, "i", playerid);
- SetTimerEx("count3", 3000, 0, "i", playerid);
- }
- SetWorldTime(13);
- PlayerPlaySound(playerid,1056 ,0.0,0.0,0.0);
- SetPlayerWorldBounds(playerid, 140.1345, -233.5575, 280.269, -221.8796);
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerColor(playerid, COLOR_RED);
- SetTimerEx("respawn", 1000, 0, "i", playerid);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- ResetPlayerMoney(playerid);
- new veh = GetPlayerVehicleID(playerid);
- DestroyVehicle(veh);
- SetWorldTime(13);
- new namey[16];
- new stringy[128];
- GetPlayerName(playerid,namey,16);
- SetPlayerColor(playerid, COLOR_GREY);
- ForceClassSelection(playerid);
- SetPlayerScore(playerid, GetPlayerScore(playerid) - 1 );
- SendClientMessage(playerid,COLOR_RED, "You have died, 1 point taken!");
- for(new i=0; i < MAX_PLAYERS; i++)
- {
- if(i != playerid){
- format(stringy, sizeof(stringy), "%s has died so everyone gets 1 point!",namey);
- SendClientMessage(i,COLOR_YELLOW,stringy);
- SetPlayerScore(i, GetPlayerScore(i) + 1 );
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/admins", true) == 0)
- {
- ShowAdminsToPlayer(playerid);
- return 1;
- }
- if (strcmp("/gmx", cmdtext, true) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- SendRconCommand("gmx");
- }
- else
- {
- return SendClientMessage(playerid,red,"You are not an admin.");
- }
- return 1;
- }
- if(strcmp(cmdtext, "/report", true,7)==0)
- {
- if(!strlen(cmdtext[8])) return SendClientMessage(playerid, 0xFF0000AA, "Use /report [message]");
- new str[128];
- if((gettime()-LastReport[playerid]) < 30)
- {
- format(str, 128, "You have to wait %d seconds before you can send a new report!", (30-(gettime()-LastReport[playerid])));
- SendClientMessage(playerid, red, str); return 1;
- }
- new pname[16];
- GetPlayerName(playerid, pname, 16);
- format(str, 128, "[REPORT] Sender: %s(%d). Message: %s", pname,playerid, cmdtext[8]);
- for(new i; i<MAX_PLAYERS; i++){
- if(IsPlayerConnected(i) && IsPlayerAdmin(i)){
- SendClientMessage(i, 0xFFFFFFAA, str);
- }}
- SendClientMessage(playerid, green, "Report send to online admins!");
- LastReport[playerid] = gettime();
- return 1;
- }
- if (strcmp("/giveup", cmdtext, true) == 0)
- {
- SetPlayerColor(playerid, COLOR_GREY);
- ForceClassSelection(playerid);
- SetPlayerHealth(playerid,0);
- return 1;
- }
- if(strcmp(cmdtext, "/help", true) == 0) {
- SendClientMessage(playerid, COLOR_GREY,"RC Attack - by Mike");
- SendClientMessage(playerid, COLOR_ORANGE,"For some basic commands, type \"/commands\".");
- SendClientMessage(playerid, COLOR_ORANGE,"Type \"/Rules\" to see the rules");
- SendClientMessage(playerid, COLOR_ORANGE,"Type \"/Goal\" Or \"/Objevtive\" To Find Out What You Need To Do!");
- SendClientMessage(playerid, COLOR_ORANGE,"To Report A Hacker/Cheater, Please Use \"/Report\"!");
- return 1;
- }
- if(strcmp(cmdtext, "/commands", true) == 0) {
- SendClientMessage(playerid, COLOR_GREY,"Commands");
- SendClientMessage(playerid, COLOR_ORANGE,"/Giveup - Kill yourself");
- SendClientMessage(playerid, COLOR_ORANGE,"/Rules - View the rules");
- SendClientMessage(playerid, COLOR_ORANGE,"/Goal or /Objective - See the point of this Gamemode");
- SendClientMessage(playerid, COLOR_ORANGE,"Type /admins to see the online admins!");
- SendClientMessage(playerid, COLOR_ORANGE,"To Report A Cheater, Please Use /Report!");
- return 1;
- }
- if(strcmp(cmdtext, "/goal", true) == 0 || strcmp(cmdtext, "/objective", true) == 0) {
- SendClientMessage(playerid,COLOR_GREY, "Objective");
- SendClientMessage(playerid,COLOR_ORANGE, "Shoot other players to blow them up.");
- SendClientMessage(playerid,COLOR_ORANGE, "You loose 1 point if you die.");
- SendClientMessage(playerid,COLOR_ORANGE, "If someone dies all other players get 1 point.");
- SendClientMessage(playerid,COLOR_ORANGE, "Have fun!");
- return 1;
- }
- if(strcmp(cmdtext, "/rules", true) == 0) {
- SendClientMessage(playerid,COLOR_GREY, "Rules");
- SendClientMessage(playerid,COLOR_ORANGE, "Do not get out of your vehicle (You should be able to).");
- SendClientMessage(playerid,COLOR_ORANGE, "Do not use hacks.");
- SendClientMessage(playerid,COLOR_ORANGE, "Do not spam chat or commands.");
- SendClientMessage(playerid,COLOR_ORANGE, "Have fun!");
- return 1;
- }
- return 0;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- SendClientMessage(playerid,COLOR_RED, "You have been kicked from the server!");
- SendClientMessage(playerid, COLOR_RED, "REASON: Stay in your vehicle!");
- Kick(playerid);
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(oldstate == PLAYER_STATE_DRIVER)
- {
- if(newstate == PLAYER_STATE_ONFOOT)
- {
- SendClientMessage(playerid,COLOR_RED, "You have been kicked from the server!");
- SendClientMessage(playerid, COLOR_RED, "REASON: Stay in your vehicle!");
- Kick(playerid);
- }
- }
- }
- public respawn(playerid)
- {
- TogglePlayerControllable(playerid,1);
- PlayerPlaySound(playerid,1057 ,0.0,0.0,0.0);
- SendClientMessage(playerid,COLOR_GREEN, "GO!");
- new Float:X,Float:Y,Float:Z,Float:Angle;
- new carid, world;
- GetPlayerPos(playerid,X,Y,Z);
- GetPlayerFacingAngle(playerid,Angle);
- world = GetPlayerVirtualWorld(playerid);
- carid = CreateVehicle(464,X,Y,Z + 50,Angle,-1,-1,50000);
- PutPlayerInVehicle(playerid,carid,0);
- if(GetPlayerInterior(playerid)) LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(carid, world);
- return 1;
- }
- public count1(playerid)
- {
- TogglePlayerControllable(playerid,0);
- PlayerPlaySound(playerid,1057 ,0.0,0.0,0.0);
- SendClientMessage(playerid,COLOR_GREEN, "3");
- return 1;
- }
- public count2(playerid)
- {
- TogglePlayerControllable(playerid,0);
- PlayerPlaySound(playerid,1057 ,0.0,0.0,0.0);
- SendClientMessage(playerid,COLOR_GREEN, "2");
- return 1;
- }
- public count3(playerid)
- {
- TogglePlayerControllable(playerid,0);
- PlayerPlaySound(playerid,1057 ,0.0,0.0,0.0);
- SendClientMessage(playerid,COLOR_GREEN, "1");
- SetTimerEx("respawn", 1000, 0, "i", playerid);
- return 1;
- }
- public admincheck(playerid)
- {
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerColor(playerid, COLOR_RED);
- }
- return 1;
- }
- stock ShowAdminsToPlayer(playerid)
- {
- new Count,i,name[24],string[256];
- for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) Count++;
- if(!Count) return SendClientMessage(playerid,green,"No RCON admins online at this time!");
- if(Count == 1) {
- for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) break;
- GetPlayerName(i,name,24); format(string,256,"RCON Admins Online: %s (%d)",name,i);
- return SendClientMessage(playerid,green,string);
- }
- if(Count >= 1) {
- new bool:First = false;
- for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) {
- GetPlayerName(i,name,24);
- if(!First) { format(string,256,"RCON Admins Online: %s (%d),",name,i); First = true; }
- else format(string,256,"%s %s (%d)",string,name,i);
- }
- return SendClientMessage(playerid,green,string);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment