Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* =========================== CREDITS ========================== */
- /* Sparke */
- native WP_Hash(buffer[], len, const str[]);
- #include <a_samp>
- #include <YSI\y_ini>
- #include sscanf2
- #include zcmd
- #include foreach
- /* Defines */
- #define DIALOG_REGISTER 1
- #define DIALOG_LOGIN 2
- #define DIALOG_SUCCESS_1 3
- #define DIALOG_SUCCESS_2 4
- #define PATH "/Users/%s.ini"
- /* Colors */
- #define COL_WHITE "{FFFFFF}"
- #define COL_RED "{F81414}"
- #define COL_GREEN "{00FF22}"
- #define COL_LIGHTBLUE "{00CED1}
- #define COL_PURPLE 0xC2A2DAAA
- /* News */
- new DropLimit = 4;
- new DeleteTime = 5;
- /* Enum's */
- enum pInfo
- {
- pPass[129],
- pCash,
- pAdmin,
- pKills,
- pDeaths
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_String("Password",PlayerInfo[playerid][pPass], 129);
- INI_Int("Cash",PlayerInfo[playerid][pCash]);
- INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
- INI_Int("Kills",PlayerInfo[playerid][pKills]);
- INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
- return 1;
- }
- // Stocks
- stock GetName(playerid)
- {
- new
- name[24];
- GetPlayerName(playerid, name, sizeof(name));
- strreplace(name, '_', ' ');
- return name;
- }
- stock UserPath(playerid)
- {
- new string[128],playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid,playername,sizeof(playername));
- format(string,sizeof(string),PATH,playername);
- return string;
- }
- stock strreplace(string[], find, replace)
- {
- for(new i=0; string[i]; i++)
- {
- if(string[i] == find)
- {
- string[i] = replace;
- }
- }
- }
- stock ProxDetector(Float:radi, playerid, string[],color)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- foreach(Player,i)
- {
- if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
- {
- SendClientMessage(i,color,string);
- }
- }
- }
- main()
- {
- print("\n----------------------------------");
- print(" LB-RP || Script || v1.0 ");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- // Vehicles
- AddStaticVehicle(475,2818.0098,-1442.0446,20.0225,93.1894,21,1); // Sabre
- AddStaticVehicle(466,2787.8457,-1876.5206,9.5740,180.4946,16,76); // Glendal
- AddStaticVehicle(529,2757.6841,-1846.6147,9.3426,199.4390,53,53); // Vincent
- AddStaticVehicle(605,2213.6399,-2289.6472,14.5835,136.0814,43,8); // Shit Sadler
- SetGameModeText("Long Beach Role Play");
- AddPlayerClass(0,2865.7468,-1399.5010,10.9633,276.8210,0,0,0,0,0,0); // Spawn
- return 1;
- }
- forward DropPlayerWeapons(playerid);
- public DropPlayerWeapons(playerid)
- {
- new playerweapons[13][2];
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid, x, y, z);
- for(new i=0; i<13; i++)
- {
- GetPlayerWeaponData(playerid, i, playerweapons[i][0], playerweapons[i][1]);
- new model = GetWeaponType(playerweapons[i][0]);
- new times = floatround(playerweapons[i][1]/10.0001);
- new Float:X = x + (random(3) - random(3));
- new Float:Y = y + (random(3) - random(3));
- if(playerweapons[i][1] != 0 && model != -1)
- {
- if(times > DropLimit) times = DropLimit;
- for(new a=0; a<times; a++)
- {
- new pickupid = CreatePickup(model, 3, X, Y, z);
- SetTimerEx("DeletePickup", DeleteTime*1000, false, "d", pickupid);
- }
- }
- }
- return 1;
- }
- forward DeletePickup(pickupid);
- public DeletePickup(pickupid)
- {
- DestroyPickup(pickupid);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if(fexist(UserPath(playerid)))
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"PlayerData");
- INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
- INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
- INI_Close(File);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- DropPlayerWeapons(playerid);
- PlayerInfo[killerid][pKills]++;
- PlayerInfo[playerid][pDeaths]++;
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new
- message[128];
- format(message, sizeof(message), "%s says: %s", GetName(playerid), text);
- ProxDetector(30.0, playerid, message, -1);
- return 0;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(success)
- {
- return 1;
- }
- if(strcmp(cmdtext, "/help", true) == 0)
- {
- SendClientMessage(playerid, -1, "Available commands: /me - /do - /(s)hout ");
- return 1;
- }
- if(strcmp(cmdtext, "/kill", true) == 0)
- {
- SetPlayerHealth(playerid, 0);
- return 1;
- }
- if(!strcmp(cmdtext, "/drinks", true))
- {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "What is it that you want?", "Sprunk ($1)\nBeer ($2)\nWine ($3)", "Purchase", "Cancel");
- return 1;
- }
- return 0;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp(cmdtext, "/drinks", true))
- {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "What is it that you want?", "Sprunk ($1)\nBeer ($2)\nWine ($3)", "Purchase", "Cancel");
- return 1;
- }
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if ((oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH))
- {
- new weapon = GetPlayerWeapon(playerid);
- if(weapon == 24)
- {
- ApplyAnimation(playerid,"GYMNASIUM","gym_tread_falloff",1.0,0,0,0,0,0);
- GameTextForPlayer(playerid, "For C-Bugging your weapon has been removed!", 5000, 1);
- }
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch( dialogid )
- {
- case DIALOG_REGISTER:
- {
- if (!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""COL_WHITE"Making your account ..",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
- new INI:File = INI_Open(UserPath(playerid));
- INI_SetTag(File,"PlayerData");
- new HashPass[129];
- WP_Hash(HashPass, sizeof(HashPass), inputtext);
- INI_WriteString(File, "Password", HashPass);
- INI_WriteInt(File,"Cash",0);
- INI_WriteInt(File,"Admin",-1);
- INI_WriteInt(File,"Kills",0);
- INI_WriteInt(File,"Deaths",0);
- INI_Close(File);
- SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
- }
- }
- case DIALOG_LOGIN:
- {
- if ( !response ) return Kick ( playerid );
- if( response )
- {
- new HashPass[129];
- WP_Hash(HashPass, sizeof(HashPass), inputtext);
- if(strcmp(HashPass, PlayerInfo[playerid][pPass]) == 0)
- {
- INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);
- GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
- ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
- }
- return 1;
- }
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- // Player Commands
- CMD:me(playerid, params[])
- {
- new
- string[128],
- action[100];
- if(sscanf(params, "s[100]", action))
- {
- SendClientMessage(playerid, -1, "USAGE: /me [action]");
- return 1;
- }
- else
- {
- format(string, sizeof(string), "* %s %s", GetName(playerid), action);
- ProxDetector(30, playerid, string, COL_PURPLE);
- }
- return 1;
- }
- CMD:do(playerid, params[])
- {
- new
- string[128],
- action[100];
- if(sscanf(params, "s[100]", action))
- {
- SendClientMessage(playerid, -1, "USAGE: /do [action]");
- return 1;
- }
- else
- {
- format(string, sizeof(string), "* %s (( %s ))", action, GetName(playerid));
- ProxDetector(30, playerid, string, COL_PURPLE);
- }
- return 1;
- }
- CMD:shout(playerid, params[])
- {
- new
- string[128],
- shout[100];
- if(sscanf(params, "s[100]", shout))
- {
- SendClientMessage(playerid, -1, "USAGE: /(s)hout [message]");
- return 1;
- }
- else
- {
- format(string, sizeof(string), "%s shouts: %s!",GetName(playerid),shout);
- ProxDetector(50.0, playerid, string, -1);
- }
- return 1;
- }
- // Admin Commands
- // Extras
- GetWeaponType(weaponid)
- {
- switch(weaponid)
- {
- case 1: return 331; case 2: return 333; case 3: return 334;
- case 4: return 335; case 5: return 336; case 6: return 337;
- case 7: return 338; case 8: return 339; case 9: return 341;
- case 10: return 321; case 11: return 322; case 12: return 323;
- case 13: return 324; case 14: return 325; case 15: return 326;
- case 16: return 342; case 17: return 343; case 18: return 344;
- case 22: return 346; case 23: return 347; case 24: return 348;
- case 25: return 349; case 26: return 350; case 27: return 351;
- case 28: return 352; case 29: return 353; case 30: return 355;
- case 31: return 356; case 32: return 372; case 33: return 357;
- case 34: return 358; case 35: return 359; case 36: return 360;
- case 37: return 361; case 38: return 362; case 39: return 363;
- case 41: return 365; case 42: return 366; case 46: return 371;
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment