How to password protect skins
From SA-MP Wiki
Welcome to the Passworded Skins tutorial.
This tutorial will assist in lockin certain classes on class selection. It's quite easy, just watch and learn!
Contents |
Variable
First off, we must have some variables;
new Locked[MAX_PLAYERS];
This creates a new variable that determines if a player is viewing a locked skin. Make sure you put it outside of all callbacks, preferably at the top of your script.
Add Classes
Now lets add some classes.
public OnGameModeInit() { AddPlayerClass(221, 0, 0, 0, 130, 24, 300, 0, 0, 0, 0); //Class 0 - Not passworded AddPlayerClass(212, 0, 0, 0, 130, 24, 300, 0, 0, 0, 0); //Class 1 - Not passworded AddPlayerClass(199, 0, 0, 0, 130, 24, 300, 0, 0, 0, 0); //Class 2 - Passworded return 1; }
Okay great, now we have some player classes to protect.
Determining if a class is locked
Remember that 'Locked[MAX_PLAYERS]' variable we created earlier? Time to use it! If a player views a protected skin, we will set 'Locked[playerid]' to 1. If the skin they see isn't protected, we can set it to 0.
public OnPlayerRequestClass(playerid, classid) { switch(classid) { case 0: Locked[playerid] = 0; //this one DOESNT. case 1: Locked[playerid] = 0; //this one too case 2: Locked[playerid] = 1; //this is going to be locked, right? } return 1; }
Locked[playerid] will now be set to 1 if they are viewing a passworded skin.
Stopping the player from spawning
Now lets make it so they can't spawn with a protected skin.
public OnPlayerRequestSpawn(playerid) { if(Locked[playerid]) return 0; //If player's current class is passworded, stop them from spawning return 1; }
Now we have that done, we need a way to unprotect a class by entering a password.
Unlock command
Let's make the command '/unlock [password]'.
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/unlock YOUR_PASS")) { Locked[playerid] = 0; SendClientMessage(playerid, COLOR_GREEN, "Skins unlocked!"); } return 1; }
So now, when a player types '/unlock YOUR_PASS' they will be able to use those protected skins!
Tutorial finished
Congratulations, you now know how to password protect a skin.