Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a comment
- // uncomment the line below if you want to write a filterscript
- #include <a_samp>
- forward ShowStats(playerid,targetid);
- forward OnPlayerUpdate(playerid);
- forward Encrypt(string[]);
- forward OnPlayerLogin(playerid,const string[]);
- forward OnPlayerRegister(playerid, password[]);
- enum pInfo
- {
- pPassword[128],
- pCash,
- pRank,
- pAdmin,
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new gPlayerLogged[MAX_PLAYERS];
- new gPlayerAccount[MAX_PLAYERS];
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Blank Script");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- 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)
- {
- new playrname[MAX_PLAYER_NAME];
- new connect[128];
- GetPlayerName(playerid, playrname, sizeof(playrname));
- format(connect, sizeof(connect), "%s.ini", playrname);
- if(fexist(connect))
- {
- gPlayerAccount[playerid] = 1;
- SendClientMessage(playerid, 0xFFFFFFFF, "You are registered, please login with /login password");
- return 1;
- }
- else
- {
- gPlayerAccount[playerid] = 0;
- SendClientMessage(playerid, 0xFFFFFFFF, "You are new here or not registered, please register with /register password");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- OnPlayerUpdate(playerid);
- gPlayerLogged[playerid] = 0;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new string[256];
- new tmp[256];
- new cmd[256];
- new idx;
- new sendername[MAX_PLAYER_NAME];
- if (strcmp(cmd, "/login", true) == 0 )
- {
- if(IsPlayerConnected(playerid))
- {
- new tmppass[64];
- if(gPlayerLogged[playerid] == 1)
- {
- SendClientMessage(playerid, 0xC0C0C0FF, "You are already logged in.");
- return 1;
- }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /login [password]");
- return 1;
- }
- strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
- Encrypt(tmppass);
- OnPlayerLogin(playerid,tmppass);
- }
- return 1;
- }
- if (strcmp(cmd, "/register", true) == 0 )
- {
- if(IsPlayerConnected(playerid))
- {
- if(gPlayerLogged[playerid] == 1)
- {
- SendClientMessage(playerid, 0xC0C0C0FF, "You are already logged in.");
- return 1;
- }
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "%s.ini", sendername);
- new File: hFile = fopen(string, io_read);
- if (hFile)
- {
- SendClientMessage(playerid, 0xC0C0C0FF, "This username is already registered. Please change your name.;)");
- fclose(hFile);
- return 1;
- }
- new tmppass[64];
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /register [password]");
- return 1;
- }
- strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
- Encrypt(tmppass);
- OnPlayerRegister(playerid,tmppass);
- }
- return 1;
- }
- if (strcmp(cmd, "/stats", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- if (gPlayerLogged[playerid] != 0)
- {
- ShowStats(playerid,playerid);
- }
- else
- {
- SendClientMessage(playerid, 0xC0C0C0FF, "You are not Logged in !");
- }
- }
- 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)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- 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[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- public Encrypt(string[])
- {
- for(new x=0; x < strlen(string); x++)
- {
- string[x] += (3^x) * (x % 15);
- if(string[x] > (0xff))
- {
- string[x] -= 64;
- }
- }
- return 1;
- }
- public OnPlayerLogin(playerid,const string[])
- {
- new pname2[MAX_PLAYER_NAME];
- new pname3[MAX_PLAYER_NAME];
- new string2[64];
- new string3[128];
- GetPlayerName(playerid, pname2, sizeof(pname2));
- format(string2, sizeof(string2), "%s.ini", pname2);
- new File: UserFile = fopen(string2, io_read);
- if (UserFile)
- {
- new valtmp[128];
- fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);
- if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
- {
- new key[128],val[128];
- new Data[128];
- PlayerInfo[playerid][pCash]=0;
- while(fread(UserFile,Data,sizeof(Data)))
- { PlayerInfo[playerid][pCash]=0;
- key = ini_GetKey(Data);
- if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
- if( strcmp( key , "Rank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRank] = strval( val ); }
- if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
- GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
- }
- fclose(UserFile);
- gPlayerLogged[playerid] = 1;
- gPlayerAccount[playerid] = 1;
- GetPlayerName(playerid, pname3, sizeof(pname3));
- format(string3, sizeof(string3), "Welcome %s, you have been succesfully logged in!", pname3);
- SendClientMessage(playerid, 0xFFFFFFFF,string3);
- }
- else
- {
- SendClientMessage(playerid, 0xC0C0C0FF, "Password does not match your name");
- fclose(UserFile);
- }
- }
- return 1;
- }
- public OnPlayerRegister(playerid, password[])
- {
- if(IsPlayerConnected(playerid))
- {
- new string3[32];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), "%s.ini", playername3);
- new File: hFile = fopen(string3, io_write);
- if (hFile)
- {
- strmid(PlayerInfo[playerid][pPassword], password, 0, strlen(password), 255);
- new var[32];
- format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
- PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
- format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
- format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
- format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
- fclose(hFile);
- SendClientMessage(playerid, 0xFFFFFFFF, "Account registered, you can login now /login [password]");
- }
- }
- return 1;
- }
- public ShowStats(playerid,targetid)
- {
- if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
- {
- new cash = GetPlayerMoney(targetid);
- new name[MAX_PLAYER_NAME];
- GetPlayerName(targetid, name, sizeof(name));
- new Float:px,Float:py,Float:pz;
- GetPlayerPos(targetid, px, py, pz);
- new coordsstring[256];
- SendClientMessage(playerid, 0xFFFFFFFF,"------------------------------------------------");
- format(coordsstring, sizeof(coordsstring),"%s",name);
- SendClientMessage(playerid, 0xFFFFFFFF,coordsstring);
- format(coordsstring, sizeof(coordsstring), "Cash:[$%d] Rank:[%d]",cash,PlayerInfo[playerid][pRank]);
- SendClientMessage(playerid, 0xFFFFFFFF,coordsstring);
- SendClientMessage(playerid, 0xFFFFFFFF,"------------------------------------------------");
- }
- }
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(gPlayerLogged[playerid])
- {
- new string3[32];
- new pname3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname3, sizeof(pname3));
- format(string3, sizeof(string3), "%s.ini", pname3);
- new File: pFile = fopen(string3, io_write);
- if (pFile)
- {
- new var[32];
- format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
- fclose(pFile);
- new File: hFile = fopen(string3, io_append);
- PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
- format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
- format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
- format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
- fclose(hFile);
- }
- }
- }
- return 1;
- }
- stock ini_GetKey( line[] )
- {
- new keyRes[128];
- keyRes[0] = 0;
- if ( strfind( line , "=" , true ) == -1 ) return keyRes;
- strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
- return keyRes;
- }
- stock ini_GetValue( line[] )
- {
- new valRes[128];
- valRes[0]=0;
- if ( strfind( line , "=" , true ) == -1 ) return valRes;
- strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
- return valRes;
- }
Advertisement
Add Comment
Please, Sign In to add comment