This is my first tutorial.
I noticed how everyone scripts their /setskin cmd so complicated, I decided to explain people a very easy one.
((As I am not experienced in explaining/creating tutorials, It may be hard to understand, idk, lets hop the best!))
I work with zcmd/sscanf, so you have to include that in the top of your script with
Ok, lets begin.
I hope I have explained as detailed as possible.
Feel free to comment, and to state what clearly should be improved in my next Tutorial(s)
I noticed how everyone scripts their /setskin cmd so complicated, I decided to explain people a very easy one.
((As I am not experienced in explaining/creating tutorials, It may be hard to understand, idk, lets hop the best!))
I work with zcmd/sscanf, so you have to include that in the top of your script with
Quote:
#include <a_samp> |
Quote:
#include <zcmd> |
Quote:
#include <sscanf> |
PHP Code:
CMD:setskin(playerid, params[])
{
new targetplayer, skinid; // targetplayer = (the player you want to set the skin of) skinid = (obviously the skin you want to set)
if(!IsPlayerAdmin(playerid)) return 0; // You may choose if you whether wants this cmd to be used for rcon admins only or everyone, if you prefer for admins only, use this line.
{
if(sscanf(params, "ui", targetplayer, skinid)) return SendClientMessage(playerid, COLOR_ORANGE, "Usage: /setskin [ID] [skinid]"); // this line is for; if you type /setskin, you will receive a message displayed with the "Usage" part.
if(skinid < 0 || skinid > 311) return SendClientMessage(playerid, COLOR_RED, "Error: Available skinids 0 - 311"); // This line is for; if an admin uses the cmd inproperly like, /setskin [ID] 401, the admin will receive an message displayed, "Error: Available skinids 0 - 311". I will explain the code, if(skinid < 0 (means you're not allowed to use a skin below the 0. and the other part, skinid > 311 (basically means, you're not allowed to use a skin above 311. I hope you have learned the meanings of < > in school.
if(!IsPlayerConnected(targetplayer)) return SendClientMessage(playerid, COLOR_RED, "Error: Player is not connected!");
// this line means nothing less than detecting if the player is connected.
new string[150], pName[MAX_PLAYER_NAME]; // string[150] = just the characters of the format that will be used later. pName[MAX_PLAYER_NAME] = for detecting the player's name.
SetPlayerSkin(targetplayer, skinid); // That's basically the code of the /setskin
format(string, sizeof string, "Your skinid has been set by an admin to %i", skinid); // %i in the format is the skinid
SendClientMessage(targetplayer, COLOR_GREEN, string); // Sending the player a message in GREEN, as you can see, and string means the string I have made in the format above.
GetPlayerName(targetplayer, pName, MAX_PLAYER_NAME); // Detecting the player name.
format(string, sizeof string, "You have set %s's skinid to %i", pName, skinid); // Yep you have noticed it good, the second format. This format will be sent to the ADMIN who gives the skinids to players.
SendClientMessage(playerid, COLOR_WHITE, string); // This message will be send to the Admin with a WHITE color.
}
return 1;
Feel free to comment, and to state what clearly should be improved in my next Tutorial(s)
Aucun commentaire:
Enregistrer un commentaire