Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Includes
- #include <a_samp>
- #include <SII>
- #include <sscanf2>
- #include <foreach>
- #include <YSI/y_timers>
- #include <zcmd>
- // Definições
- #file "LS Free Roam"
- #define MAX_PLAYER 30
- #define ColourBlue 0x2693FFFF
- #define ColourRed 0xFF2626FF
- #define ColourYellow 0xFFFF4DFF
- #define ColourPink 0xFF73FFFF
- #define ColourGreen 0x26FF26FF
- #define ColourWhite 0xFFFFFFFF
- #define ColourGold 0xFFD700FF
- #define FOREACH_NO_PLAYERS
- #define FOREACH_NO_BOTS
- #define Dialogo_Register 1
- #define Dialogo_Login 2
- main()
- {
- print("\n* L.S.R.S. - Los Santos Free Roam");
- print("# Iniciado em 13/03/2013");
- print("@ Criado por Roger Gomes Costa\n");
- }
- // --------------------------------------------
- // ---------- Definindo novas variáveis/funções
- new Iterator:TotalPlayers<MAX_PLAYER>;
- new Text:txtDeath, Text:txtBox, Text:txtModeName, Text:txtDate, Text:txtVehDistrict;
- new Text:txtInfoPlayer[MAX_PLAYERS], Text:txtInfoPlayer2[MAX_PLAYER];
- new AmmuPickup;
- new bool:PlayerDialog[MAX_PLAYER];
- enum PLAYER_INFO
- {
- Registered, Logged, pSkin, pMoney, pName[24], pFile[100], Float:pX, Float:pY, Float:pZ, Float:pA, pInterior
- }
- new PlayerInfo[MAX_PLAYER][PLAYER_INFO];
- enum Vehicles
- {
- VehID;
- VehName[50],
- VehSpoiler,
- VehHood,
- VehRoof,
- VehSideskirt,
- VehLamps,
- VehNitro,
- VehExhaust,
- VehWheels,
- VehStereo,
- VehHydraulics,
- VehFB,
- VehRB,
- VehVR,
- VehVL
- }
- new PlayerVehicle[MAX_PLAYERS][3][Vehicles];
- native WP_Hash(buffer[], len, const str[]);
- public OnGameModeInit()
- {
- SetGameModeText("Los Santos F.R.");
- DisableInteriorEnterExits();
- DisableNameTagLOS(); // Jogadores não podem ver atraves das paredes...
- ShowNameTags(1);
- SetNameTagDrawDistance(10.0);
- ShowPlayerMarkers(2);
- //LimitPlayerMarkerRadius(10.0);
- LimitGlobalChatRadius(10.0);
- UsePlayerPedAnims();
- AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
- AmmuPickup = CreatePickup(355, 1, 2447.3491, -1979.7495, 13.5539, 0);
- CreateTextdraws();
- return true;
- }
- forward CreateTextdraws();
- public CreateTextdraws()
- {
- // Box preta com transparência cobrindo a tela
- txtBox = TextDrawCreate(322.000000, -3.000000, "New Textdraw");
- TextDrawAlignment(txtBox, 2);
- TextDrawBackgroundColor(txtBox, 255);
- TextDrawFont(txtBox, 1);
- TextDrawLetterSize(txtBox, 0.500000, 52.300003);
- TextDrawColor(txtBox, -1);
- TextDrawSetOutline(txtBox, 0);
- TextDrawSetProportional(txtBox, 1);
- TextDrawSetShadow(txtBox, 1);
- TextDrawUseBox(txtBox, 1);
- TextDrawBoxColor(txtBox, 112);
- TextDrawTextSize(txtBox, 30.000000, 652.000000);
- TextDrawSetSelectable(txtBox, 0);
- // Mensagem de SE FODEO na tela ao morrer...
- txtDeath = TextDrawCreate(317.000000, 189.000000, "~r~~h~SE FODEO");
- TextDrawAlignment(txtDeath, 2);
- TextDrawBackgroundColor(txtDeath, 255);
- TextDrawFont(txtDeath, 3);
- TextDrawLetterSize(txtDeath, 0.690000, 2.399999);
- TextDrawColor(txtDeath, -16776961);
- TextDrawSetOutline(txtDeath, 1);
- TextDrawSetProportional(txtDeath, 1);
- TextDrawSetSelectable(txtDeath, 0);
- //
- txtModeName = TextDrawCreate(582.000000, 425.000000, "LOs SAntos 2013");
- TextDrawAlignment(txtModeName, 2);
- TextDrawBackgroundColor(txtModeName, 255);
- TextDrawFont(txtModeName, 0);
- TextDrawLetterSize(txtModeName, 0.230000, 1.100000);
- TextDrawColor(txtModeName, 255);
- TextDrawSetOutline(txtModeName, 0);
- TextDrawSetProportional(txtModeName, 1);
- TextDrawSetShadow(txtModeName, 40);
- TextDrawSetSelectable(txtModeName, 0);
- //
- txtDate = TextDrawCreate(582.000000, 436.000000, "18/09/2013 - 14:30");
- TextDrawAlignment(txtDate, 2);
- TextDrawBackgroundColor(txtDate, 255);
- TextDrawFont(txtDate, 1);
- TextDrawLetterSize(txtDate, 0.230000, 1.100000);
- TextDrawColor(txtDate, -1);
- TextDrawSetOutline(txtDate, 0);
- TextDrawSetProportional(txtDate, 1);
- TextDrawSetShadow(txtDate, 40);
- TextDrawSetSelectable(txtDate, 0);
- //
- txtVehDistrict = TextDrawCreate(581.000000, 404.000000, "Turismo");
- TextDrawAlignment(txtVehDistrict, 2);
- TextDrawBackgroundColor(txtVehDistrict, 255);
- TextDrawFont(txtVehDistrict, 1);
- TextDrawLetterSize(txtVehDistrict, 0.219999, 1.200000);
- TextDrawColor(txtVehDistrict, -1);
- TextDrawSetOutline(txtVehDistrict, 0);
- TextDrawSetProportional(txtVehDistrict, 1);
- TextDrawSetShadow(txtVehDistrict, 100);
- TextDrawSetSelectable(txtVehDistrict, 0);
- //
- for(new i = 0; i < MAX_PLAYER; i++)
- {
- txtInfoPlayer[i] = TextDrawCreate(320.000000, 123.000000, "Assalto Completo");
- TextDrawAlignment(txtInfoPlayer[i], 2);
- TextDrawBackgroundColor(txtInfoPlayer[i], 255);
- TextDrawFont(txtInfoPlayer[i], 3);
- TextDrawLetterSize(txtInfoPlayer[i], 0.370000, 2.099998);
- TextDrawColor(txtInfoPlayer[i], -65281);
- TextDrawSetOutline(txtInfoPlayer[i], 0);
- TextDrawSetProportional(txtInfoPlayer[i], 1);
- TextDrawSetShadow(txtInfoPlayer[i], 1);
- TextDrawSetSelectable(txtInfoPlayer[i], 0);
- //
- txtInfoPlayer2[i] = TextDrawCreate(320.000000, 146.000000, "Dinheiro adquirido: R$500~n~Vezes que assaltou a Ammunation: 30");
- TextDrawAlignment(txtInfoPlayer2[i], 2);
- TextDrawBackgroundColor(txtInfoPlayer2[i], 255);
- TextDrawFont(txtInfoPlayer2[i], 1);
- TextDrawLetterSize(txtInfoPlayer2[i], 0.189999, 1.099997);
- TextDrawColor(txtInfoPlayer2[i], -1);
- TextDrawSetOutline(txtInfoPlayer2[i], 0);
- TextDrawSetProportional(txtInfoPlayer2[i], 1);
- TextDrawSetShadow(txtInfoPlayer2[i], 1);
- TextDrawSetSelectable(txtInfoPlayer2[i], 0);
- }
- }
- public OnPlayerConnect(playerid)
- {
- Itter_Add(TotalPlayers, playerid);
- new name[20] , str[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(PlayerInfo[playerid][pName], 20, name);
- format(PlayerInfo[playerid][pFile], 100, "LSFR/Accounts/%s.ini", name);
- if(INI_Exist(PlayerInfo[playerid][pFile]))
- {
- PlayerInfo[playerid][Registered] = 1;
- PlayerInfo[playerid][Logged] = 0;
- ShowPlayerDialog(playerid, Dialogo_Login, DIALOG_STYLE_PASSWORD, "{FFD700}Los Santos Free Roam", "{FFFFFF}Esta conta já está registrada no servidor, favor informar a senha:", "Logar", "Sair");
- }
- else
- {
- PlayerInfo[playerid][Registered] = 0;
- PlayerInfo[playerid][Logged] = 0;
- ShowPlayerDialog(playerid, Dialogo_Register, DIALOG_STYLE_PASSWORD, "{FFD700}Los Santos Free Roam", "{FFFFFF}Está conta não está cadastrada no servidor, informe uma senha:", "Cadastrar", "Sair");
- }
- SendClientMessage(playerid, ColourWhite, " ");
- SendClientMessage(playerid, ColourGold, "Los Santos {FFFFFF}Free Roam + Deathmatch");
- SendClientMessage(playerid, ColourWhite, "Servidor ''baseado'' no GTA Online (GTA 5)");
- SendClientMessage(playerid, ColourWhite, " ");
- GivePlayerMoney(playerid, 99999999999);
- format(str, sizeof str, "* %s (ID:%d) entrou no servidor.", name, playerid);
- SendClientMessageToAll(ColourYellow, str);
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- Itter_Remove(TotalPlayers, playerid);
- new posStr[100];
- GetPlayerPos(playerid, PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ]);
- GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pA]);
- format(posStr, sizeof posStr, "%f %f %f %f", PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][pA]);
- new name[20], str[128], reasonStr[20];
- GetPlayerName(playerid, name, sizeof(name));
- switch(reason)
- {
- case 0: reasonStr = "Crash";
- case 1: reasonStr = "Quit";
- case 2: reasonStr = "Kick/Ban";
- }
- format(str, sizeof str, "* %s (ID:%d) saiu do servidor (%s).", name, playerid, reasonStr);
- SendClientMessageToAll(ColourYellow, str);
- PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
- INI_Open(PlayerInfo[playerid][pFile]);
- INI_WriteString("Position", posStr);
- INI_WriteInt("Money", PlayerInfo[playerid][pMoney]);
- INI_WriteInt("Skin", PlayerInfo[playerid][pSkin]);
- INI_WriteInt("Interior", PlayerInfo[playerid][pInterior]);
- INI_Save();
- INI_Close();
- return true;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- if(PlayerInfo[playerid][Logged] == 1)
- {
- SetPlayerInterior(playerid, 3);
- SetPlayerPos(playerid, 349.0453,193.2271,1014.1797);
- SetPlayerFacingAngle(playerid, 286.25);
- SetPlayerCameraPos(playerid, 352.9164,194.5702,1014.1875);
- SetPlayerCameraLookAt(playerid, 349.0453,193.2271,1014.1797);
- }
- else
- {
- TogglePlayerSpectating(playerid, true);
- }
- return false;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Dialogo_Register)
- {
- if(!response) Kick(playerid);
- else
- {
- new file[100], pass[130];
- format(file, sizeof file, "LSFR/Accounts/%s.ini", PlayerInfo[playerid][pName]);
- WP_Hash(pass, sizeof(pass), inputtext);
- INI_Open(file);
- INI_WriteString("Password", pass);
- INI_WriteInt("Registered", 1);
- INI_Save();
- INI_Close();
- PlayerInfo[playerid][Registered] = 0;
- PlayerInfo[playerid][Logged] = 1;
- SendClientMessage(playerid, ColourWhite, "* Conta cadastrada.");
- PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
- SetSpawnInfo(playerid, NO_TEAM, 0, 1722.7843,-1713.9490,13.5114,181.5285, 24, 100, 0, 0, 0, 0);
- }
- }
- else if(dialogid == Dialogo_Login)
- {
- if(!response) Kick(playerid);
- else
- {
- new file[100], pass[130], enpass[130], pos[100];
- format(file, sizeof file, "LSFR/Accounts/%s.ini", PlayerInfo[playerid][pName]);
- INI_Open(file);
- WP_Hash(enpass, sizeof(enpass), inputtext);
- INI_ReadString(pass, "Password");
- if(strcmp(enpass, pass, true) == 0)
- {
- SendClientMessage(playerid, ColourWhite, "* Conta autenticada.");
- PlayerInfo[playerid][Registered] = 1;
- PlayerInfo[playerid][Logged] = 1;
- INI_ReadString(pos, "Position");
- PlayerInfo[playerid][pSkin] = INI_ReadInt("Skin");
- PlayerInfo[playerid][pMoney] = INI_ReadInt("Money");
- PlayerInfo[playerid][pInterior] = INI_ReadInt("Interior");
- sscanf(pos, "ffff", PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][pA]);
- SetSpawnInfo(playerid, NO_TEAM, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pX], PlayerInfo[playerid][pY], PlayerInfo[playerid][pZ], PlayerInfo[playerid][pA], 24, 100, 0, 0, 0, 0);
- }
- else ShowPlayerDialog(playerid, Dialogo_Login, DIALOG_STYLE_PASSWORD, "{FFD700}Los Santos Free Roam", "{FFFFFF}Esta conta já está registrada no servidor, favor informar a senha:", "Logar", "Sair");
- INI_Close();
- }
- }
- return true;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- if(PlayerInfo[playerid][Logged] == 0) return false;
- else
- {
- SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]);
- TextDrawShowForPlayer(playerid, txtDate);
- TextDrawShowForPlayer(playerid, txtModeName);
- SetPlayerMapIcon(playerid, 0, 2447.3491, -1979.7495, 13.5539, 18, 0, 1); // Ammunation Emmet
- SetPlayerMapIcon(playerid, 1, 1178.7625, -1324.0050, 14.1361, 22, 0, 1); // Hospital
- }
- return true;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- new Float:posD[3], Float:posK[3];
- GetPlayerPos(playerid, posD[0], posD[1], posD[2]);
- if(killerid != INVALID_PLAYER_ID)
- {
- GetPlayerPos(killerid, posK[0], posK[1], posK[2]);
- SetPlayerCameraPos(playerid, posK[0], posK[1], posK[2]+10);
- SetPlayerCameraLookAt(playerid, posD[0], posD[1], posD[2], CAMERA_MOVE);
- }
- else
- {
- SetPlayerCameraPos(playerid, posD[0], posD[1]+3, posD[2]+10);
- SetPlayerCameraLookAt(playerid, posD[0], posD[1], posD[2], CAMERA_MOVE);
- }
- TextDrawShowForPlayer(playerid, txtDeath);
- TextDrawShowForPlayer(playerid, txtBox);
- SetSpawnInfo(playerid, NO_TEAM, PlayerInfo[playerid][pSkin], 1178.7625, -1324.0050, 14.1361, 272.1870, 0, 0, 0, 0, 0, 0);
- PlayAudioStreamForPlayer(playerid, "https://79qvtg.blu.livefilestore.com/y2mzWvJRHmwRE66vBZrLdNBHbTwsAZR2uIHTmTBc71o8LZvCEl02z00OVC7ogzV7JipNmysAaJG4WbHCpjaG2KJdlLyun8WWWW_LBxIA8jqS6A/GTA.5.SOUND.DEATH.(2).ogg", posD[0], posD[1], posD[2], 10.0, 1);
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- zcmd:savecar(playerid,params[])
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- spoiler = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_SPOILER);
- hood = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid), CARMODTYPE_HOOD);
- }
- return true;
- }
- zcmd:loadcar(playerid,params[])
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- AddVehicleComponent(GetPlayerVehicleID(playerid), spoiler);
- AddVehicleComponent(GetPlayerVehicleID(playerid), hood);
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement