Skins help
#1

Can someone help me with skins i /setskin [id/nickname] [skin] for rcon only with save
but i try some sites but i can't do no works please can u show me it?
Reply
#2

Use search button !!!
It is all explained there, plus you will never learn by copy/paste. Read whole topic , explore how the command works and try to learn.

https://sampforum.blast.hk/showthread.php?tid=337175
Reply
#3

Sure mate.
PHP код:
CMD:setskin(playeridparams[])
{
  new 
pname[MAX_PLAYER_NAME];
  new 
Spname[MAX_PLAYER_NAME];
  new 
id;
  new 
level;
  new 
string[128];
  if(!
IsPlayerAdmin) return SendClientMessage(playeridCOLOR_RED"Only Rcon Admins can use this command");
  if(
sscanf(params"ui"idlevel)) return SendClientMessage(playeridCOLOR_ERROR"Usage: /setskin (Playername/ID) (Skin)");
  
GetPlayerName(idSpnameMAX_PLAYER_NAME);
  
SetPlayerSkin(idlevel);
  
format(string128"***An Administrator has set your skin to %i",level);
  
SendClientMessage(idCOLOR_REDstring);
  
format(string128"***You've set %s(%d)'s skin to %i"Spnameidlevel);
  
SendClientMessage(playeridCOLOR_REDstring);
  
PlayerInfo[id][pSkin]=level;
  return 
1;

Saving is for Y_INI
Reply
#4

caki i got
Quote:

C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(26) : error 017: undefined symbol "sscanf"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


1 Error.

and with yours khaled

Quote:

C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(29) : error 076: syntax error in the expression, or invalid function call
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(29) : error 035: argument type mismatch (argument 2)
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(30) : error 017: undefined symbol "sscanf"
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(30) : error 017: undefined symbol "COLOR_ERROR"
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(35) : error 035: argument type mismatch (argument 2)
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(37) : error 035: argument type mismatch (argument 2)
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(39) : error 017: undefined symbol "PlayerInfo"
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(24) : warning 204: symbol is assigned a value that is never used: "pname"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


7 Errors.

Reply
#5

get a sscanf libary search on forum
Reply
#6

what i need to do i got the sscanf plugin
Reply
#7

i found
Quote:

#include <sscanf2>

but then
Quote:

C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(30) : error 076: syntax error in the expression, or invalid function call
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(30) : error 035: argument type mismatch (argument 2)
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(31) : error 017: undefined symbol "COLOR_ERROR"
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(36) : error 035: argument type mismatch (argument 2)
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(3 : error 035: argument type mismatch (argument 2)
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(40) : error 017: undefined symbol "PlayerInfo"
C:\Users\Mustafa\Desktop\Gta server\gamemodes\mygamemodemp.pwn(25) : warning 204: symbol is assigned a value that is never used: "pname"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


6 Errors.

please help me
Reply
#8

help me please
Reply
#9

This works it compile ok without errors. If you still have errors update your
#include <foreach>
#include <sscanf2>

Use search button to find them.

pawn Код:
CMD:setskin(playerid, params[])
{
     new name[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], id, skinid, string[128];
     if(!IsPlayerAdmin(playerid)) return 0;
     if(sscanf(params, "ui", id, skinid)) return SendClientMessage(playerid, -1, "USAGE: /setskin [playerid] [skinid]");
     GetPlayerName(playerid, name, MAX_PLAYER_NAME);
     GetPlayerName(id, targetname, MAX_PLAYER_NAME);
     if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player not connected!");
     SetPlayerSkin(id, skinid);
     format(string, 128, "RCON Admin %s(%d) has set your skinid to %i", name, playerid, skinid);
     SendClientMessage(id, -1, string);
     format(string, 128, "You set %s(%d) skin to skinid %i", targetname, id, skinid);
     SendClientMessage(playerid, -1, string);
     return 1;
}
Reply
#10

Quote:
Originally Posted by caki
Посмотреть сообщение
This works it compile ok without errors. If you still have errors update your
#include <foreach>
#include <sscanf2>

Use search button to find them.

pawn Код:
CMD:setskin(playerid, params[])
{
     new name[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], id, skinid, string[128];
     if(!IsPlayerAdmin(playerid)) return 0;
     if(sscanf(params, "ui", id, skinid)) return SendClientMessage(playerid, -1, "USAGE: /setskin [playerid] [skinid]");
     GetPlayerName(playerid, name, MAX_PLAYER_NAME);
     GetPlayerName(id, targetname, MAX_PLAYER_NAME);
     if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player not connected!");
     SetPlayerSkin(id, skinid);
     format(string, 128, "RCON Admin %s(%d) has set your skinid to %i", name, playerid, skinid);
     SendClientMessage(id, -1, string);
     format(string, 128, "You set %s(%d) skin to skinid %i", targetname, id, skinid);
     SendClientMessage(playerid, -1, string);
     return 1;
}
I suggest you to add this line also in command before setting the skin because if he/she uses invalid skin id, players near them and they will get crashed.
pawn Код:
if(skinid < 0 || skinid > 299) return SendClientMessage(playerid, 0xFF0000, "Invalid skin id. (Available skinid's 0-299)");
//0 is the minimum and 299 the max.
Added in the command. :
pawn Код:
CMD:setskin(playerid, params[])
{
     new name[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], id, skinid, string[128];
     if(!IsPlayerAdmin(playerid)) return 0;
     if(sscanf(params, "ui", id, skinid)) return SendClientMessage(playerid, -1, "USAGE: /setskin [playerid] [skinid]");
     GetPlayerName(playerid, name, MAX_PLAYER_NAME);
     GetPlayerName(id, targetname, MAX_PLAYER_NAME);
     if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "Player not connected!");
     if(skinid < 0 || skinid > 299) return SendClientMessage(playerid, 0xFF0000, "Invalid skin id. (Available skinid's 0-299)");
     SetPlayerSkin(id, skinid);
     format(string, 128, "RCON Admin %s(%d) has set your skinid to %i", name, playerid, skinid);
     SendClientMessage(id, -1, string);
     format(string, 128, "You set %s(%d) skin to skinid %i", targetname, id, skinid);
     SendClientMessage(playerid, -1, string);
     return 1;
}
Credits to caki because it's his cmd, I just created the function to detect skin id.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)