Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--------------------------Don't Remove Credits--------------------------------
- //--------------------------I know you'll remove me from Credits----------------
- //--------------------------You can edit everything you want--------------------
- //--------------------------Just keep me in the Credits-------------------------
- #include <a_samp>
- #define Blue 0x02EAFDFF
- #define COLOR_CONNECT 0x80FF00FF
- #define COLOR_DISCONNECT 0xAFAFAFAA
- new pname[20], filename[24];
- new File:user;
- //-------------------Save load System Don't uncomment this line-----------------
- static Float:posx[MAX_PLAYERS] = 0.0;
- static Float:posy[MAX_PLAYERS] = 0.0;
- static Float:posz[MAX_PLAYERS] = 0.0;
- static Float:zangle[MAX_PLAYERS] = 0.0;
- //------------------Don't comment the upper lines-------------------------------
- main()
- {
- print("\n----------------------------------");
- print(" Simple Gamemode by Ryo[KRZ]");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Drift/Freeroam");
- UsePlayerPedAnims();
- AddPlayerClass(1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(2, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(3, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(4, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(5, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(6, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(7, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(8, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(9, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(10, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(11, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(12, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(13, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(14, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(15, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(16, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(17, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(18, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(19, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(20, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(21, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(22, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(23, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(24, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(25, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(26, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(27, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(28, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(29, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(30, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(31, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(32, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(33, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(34, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(35, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(36, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(37, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(38, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(39, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(40, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(41, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(42, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(43, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(44, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(45, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(46, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(47, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(48, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(49, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(50, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new jstring[128];
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- format(jstring, sizeof(jstring), "<<< %s is joining the server >>>", playername);
- SendClientMessageToAll(COLOR_CONNECT, jstring);
- GetPlayerName(playerid, pname, 20);
- format(filename, 24, "users/%s.txt", pname);
- if(!fexist(filename))
- {
- ShowPlayerDialog(playerid, 1, 1, "[DriftGen]", "Please type in a password:", "Register", "Cancel");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new dstring[128];
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- switch(reason)
- {
- case 0: format(dstring, sizeof(dstring), "<<< %s has left the game ( Timeout/Crashed ) >>>", playername);
- case 1: format(dstring, sizeof(dstring), "<<< %s has left the game ( Leaving ) >>>", playername);
- case 2: format(dstring, sizeof(dstring), "<<< %s has left the game ( Kicked/Banned ) >>>", playername);
- }
- SendClientMessageToAll(COLOR_DISCONNECT, dstring);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerHealth(playerid,100);
- SetPlayerArmour(playerid,100);
- SetPlayerPos(playerid,-309.9230,1536.2162,75.5625);
- SetPlayerFacingAngle(playerid,146.2062);
- GivePlayerMoney(playerid, 50000);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- GivePlayerMoney(playerid,-1000);
- GivePlayerMoney(killerid,1000);
- SendClientMessage(playerid, 0xFF6F6FFF,"You are killed, wait until you get respawned");
- SendClientMessage(killerid, 0xAFAFAFAA,"You killed a person, You got $1000");
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new tmp[128];
- new cmd[256];
- new idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/lvair", true) == 0)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), 1433.4521, 1504.1399, 10.8203);
- }
- else
- {
- SetPlayerPos(playerid, 1433.4521, 1504.1399, 10.8203);
- }
- return 1;
- }
- if(strcmp(cmd, "/sf", true) == 0)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), -1898.6420,243.1353,41.0469);
- }
- else
- {
- SetPlayerPos(playerid, -1898.6420,243.1353,41.0469);
- }
- return 1;
- }
- if(strcmp(cmd, "/ls", true) == 0)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), 1535.9197,-1679.2443,13.3828);
- }
- else
- {
- SetPlayerPos(playerid, 1535.9197,-1679.2443,13.3828);
- }
- return 1;
- }
- if(strcmp(cmd, "/lv", true) == 0)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), 2045.2657,1343.9778,10.6719);
- }
- else
- {
- SetPlayerPos(playerid, 2045.2657,1343.9778,10.6719);
- }
- return 1;
- }
- if (strcmp(cmdtext, "/arch", true) == 0)
- {
- if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), -2704.4775,217.2848,3.8375);
- SetVehicleZAngle(GetPlayerVehicleID(playerid), 90);
- }
- else
- {
- SetPlayerPos(playerid, -2714.2739,204.8123,4.3281);
- SetPlayerFacingAngle(playerid, 0);
- }
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- if (strcmp(cmdtext, "/trans", true) == 0)
- {
- if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid), -1936.360839, 225.120300, 33.814777);
- SetVehicleZAngle(GetPlayerVehicleID(playerid), 357.421691);
- }
- else
- {
- SetPlayerPos(playerid, -1936.360839, 225.120300, 33.814777);
- SetPlayerFacingAngle(playerid, 357.421691);
- }
- SetCameraBehindPlayer(playerid);
- return 1;
- }
- if(strcmp(cmdtext, "/cmds", true) == 0)
- {
- SendClientMessage(playerid,Blue,"[DriftGen]: /Lvair, /Ls, /Sf, /Lv, /Arch, /Trans, /Afk, /Back, /Credits");
- SendClientMessage(playerid,Blue,"[DriftGen]: /Pc, /Me, /Carcolour, /S(saveplace), /L(LoadPlace), /Kill");
- return 1;
- }
- if(strcmp(cmdtext, "/afk", true) == 0)
- {
- SendClientMessage(playerid, 0xAFAFAFAA,"<<< You are now afk ( Away from Keyboard ), type /back to move again >>>");
- TogglePlayerControllable(playerid,0);
- new string1[128];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(string1,sizeof(string1), "<<< %s is now afk ( Away from Keyboard ) >>>", name);
- SendClientMessageToAll(Blue, string1);
- return 1;
- }
- if(strcmp(cmdtext, "/back", true) == 0)
- {
- SendClientMessage(playerid, 0xAFAFAFAA,"<<< You are no longer afk ( Away from Keyboard ) >>>");
- TogglePlayerControllable(playerid, 1);
- new string1[128];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(string1,sizeof(string1), "<<< %s is no longer afk ( Away from Keyboard ) >>>", name);
- SendClientMessageToAll(Blue, string1);
- return 1;
- }
- if(strcmp(cmdtext, "/pc", true) == 0)
- {
- GivePlayerWeapon(playerid, 46, 1);
- return 1;
- }
- if(!strcmp(cmdtext, "/me", true, 3))
- {
- if(!cmdtext[3])return SendClientMessage(playerid, 0xAFAFAFAA, "[DriftGen]: /me [action]");
- new str[128];
- GetPlayerName(playerid, str, sizeof(str));
- format(str, sizeof(str), "* %s %s *", str, cmdtext[4]);
- SendClientMessageToAll(0xA8A8FFAA, str);
- return 1;
- }
- if(strcmp(cmd, "/carcolour", true) == 0)
- {
- new color1, color2;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "[DriftGen]: /carcolour [color1] [color2]");
- color1 = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) return SendClientMessage(playerid, 0xAFAFAFAA, "[DriftGen]: /carcolour [color1] [color2]");
- color2 = strval(tmp);
- ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
- return 1;
- }
- if(strcmp(cmd, "/credits", true) == 0)
- {
- SendClientMessage(playerid,Blue,"<<< Scripted and tested fully working >>>");
- SendClientMessage(playerid,Blue,"<<< Gamemode by Ryo[KRZ] >>>");
- return 1;
- }
- if(strcmp(cmdtext, "/s", true) == 0)
- {
- SendClientMessage(playerid, Blue,"[DriftGen]: <<< Your current position has been saved, /l to get back here >>>");
- if(IsPlayerInAnyVehicle(playerid))
- {
- new VehicleID;
- VehicleID = GetPlayerVehicleID(playerid);
- GetVehiclePos(VehicleID, posx[playerid], posy[playerid], posz[playerid]);
- GetVehicleZAngle(VehicleID, zangle[playerid]);
- } else {
- GetPlayerPos(playerid, posx[playerid], posy[playerid], posz[playerid]);
- GetPlayerFacingAngle(playerid, zangle[playerid]);
- }
- return 1;
- }
- if(strcmp(cmdtext, "/l", true) == 0)
- {
- SendClientMessage(playerid, COLOR_CONNECT, "[DriftGen]: <<< Your Saved position was loaded >>>");
- if(IsPlayerInAnyVehicle(playerid))
- {
- new VehicleID = GetPlayerVehicleID(playerid);
- SetVehiclePos(VehicleID, posx[playerid], posy[playerid], posz[playerid]);
- SetVehicleZAngle(VehicleID, zangle[playerid]);
- }
- else
- {
- SetPlayerPos(playerid, posx[playerid], posy[playerid], posz[playerid]);
- SetPlayerFacingAngle(playerid, zangle[playerid]);
- }
- return 1;
- }
- if(strcmp(cmd, "/kill", true) == 0)
- {
- SetPlayerHealth(playerid, 0);
- SpawnPlayer(playerid);
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1)
- {
- if(response == 0)
- {
- SendClientMessage(playerid, Blue, "<<< You have been disconnected due to not logging in >>>");
- Kick(playerid);
- return 1;
- }
- user = fopen(filename, io_write);
- fwrite(user, inputtext);
- fclose(user);
- new jstring[128];
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- format(jstring, sizeof(jstring), "<<< %s has logged in to the server >>>", playername);
- SendClientMessageToAll(COLOR_CONNECT, jstring);
- }
- return 1;
- }
- forward SetupPlayerForClassSelection(playerid);
- public SetupPlayerForClassSelection(playerid)
- {
- SetPlayerInterior(playerid,14);
- SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
- SetPlayerFacingAngle(playerid, 270.0);
- SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
- SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 2520.1550,-1671.1104,19.4203);
- SetPlayerFacingAngle(playerid,270);
- SetPlayerCameraPos(playerid, 2524.1550,-1671.1104,19.9203);
- SetPlayerCameraLookAt(playerid, 2520.1550,-1671.1104,19.4203);
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[30];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment