Simple zcmd and sscanf Tutorial [Explained] -
GAMER_PS2 - 30.11.2011
Simple zcmd and sscanf Tutorial [Explained]
Made by: GAMER_PS2
Requirements before doing Tutorial:
You will need the following to do this tutorial:
Download Zeex's ZCMD include. You can download here >>>
https://sampforum.blast.hk/showthread.php?tid=91354
Download ******(Alex)'s sscanf include. You can download here >>>
https://sampforum.blast.hk/showthread.php?tid=120356
Step 1:
- Open your game mode or start a new one by clicking File >>> New
Next add this on your top of script (dont remove the a_samp)
pawn Код:
#include <zcmd>
#include <sscanf2> //if your using new version it should be like this
SSCANF:
Thanks Markx For this
Код:
Specifier(s) Name Example values
i, d Integer 1, 42, -10
c Character a, o, *
l Logical true, false
b Binary 01001, 0b1100
h, x Hex 1A, 0x23
o Octal 045 12
n Number 42, 0b010, 0xAC, 045
f Float 0.7, -99.5
g IEEE Float 0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
u User name/id (bots and players) ******, 0
q Bot name/id ShopBot, 27
r Player name/id ******, 42
Step 2:
Making the command
- You can choose any style of ZCMD command here we go:
pawn Код:
command(mycommand, playerid, params[])
pawn Код:
cmd(mycommand, playerid, params[])
pawn Код:
COMMAND:mycommand(playerid, params[])
pawn Код:
CMD:mycommand(playerid, params[])
- All of styles are the same
Explain Time!
- Params, is the paramters string, playerid is an ID of player who sent this command.
for example:
pawn Код:
if(sscanf(params,"i", skin)) return SendClientMessage(playerid,COLOR_RED,"USAGE: /setskin <0 - 299>");
//Inside that line the "i" defines that the first parameter in in the command is going to be a integer. sscanf will detect it very fast :D
COMMANDS
Remember:
You must put them in the bottom not in OnPlayerCommandText
- Lets start making a command the example for this tutorial is me command
pawn Код:
CMD:me(playerid, params[])
{
new string[128],msg[128],pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
if(sscanf(params,"sz",msg)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /me <text>");
format(string,sizeof(string),"*%s %s",pname,msg);
SendClientMessageToAll(COLOR_GREY,string);
return 1;
}
Explain Time!
pawn Код:
new string[128],msg[128],pname[MAX_PLAYER_NAME];
- This will make string/msg/ and PNAME in MAX_PLAYER_NAME variable
pawn Код:
GetPlayerName(playerid,pname,sizeof(pname));
- remember the new pname[MAX_PLAYER_NAME];? well we will use it. This will define and gets the username of the user using the command of me command.
pawn Код:
if(sscanf(params,"sz",msg)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /me <text>");
- Inside that line the "s" defines that the first parameter in, in the command is going to be a string, second inside that line the "z" defines that the first parameter in, in the command is going to be a optional string. sscanf will detect and does all that for you.
pawn Код:
format(string,sizeof(string),"*%s %s",pname,msg);
- This is the important part because this function will send your msg to all players example: /me is hungry
string/pname and msg is used here.
pawn Код:
SendClientMessageToAll(COLOR_GREY,string);
- This will be sent to everyone online player
So we wanna close the Brackets and return it to true (1 = true, 0 = false) that will make the command work.
Finish!
Now you can try it yourself just remember use ZCMD in right way. Hope you understand now how to use ZCMD and sscanf. good luck making ZCMD command
Re: Simple zcmd and sscanf Tutorial [Explained] -
(LifeStealeR) - 02.02.2012
nice tutorial m8.
Re: Simple zcmd and sscanf Tutorial [Explained] -
Soldier9221 - 12.03.2012
Quote:
Originally Posted by GAMER_PS2
pawn Код:
format(string,sizeof(string),"*%s %s",pname,msg);
- This is the important part because this function will send your msg to all players example: /me is hungry
string/pname and msg is used here.
|
Could you please further explain this to me in a PM? Thank you
.
~Soldier9221
Re: Simple zcmd and sscanf Tutorial [Explained] -
Subwoofer - 25.03.2012
wtf my server cant read from zcmd.inc and sscanf2.inc... wtf should i do :/
Re: Simple zcmd and sscanf Tutorial [Explained] -
emokidx - 25.03.2012
Quote:
Originally Posted by Subwoofer
wtf my server cant read from zcmd.inc and sscanf2.inc... wtf should i do :/
|
1. download them. the links are on the top of the first post.
2. put them inside the "pawno/includes" folder where your server is located.
3. make sure you open the same pawno in which you put the includes and there is no other pawno in your pc (to avoid collusion)
Re: Simple zcmd and sscanf Tutorial [Explained] -
The__ - 25.03.2012
Quote:
Originally Posted by Soldier9221
Could you please further explain this to me in a PM? Thank you .
~Soldier9221
|
first %s is pname', second %s is 'msg'
Re: Simple zcmd and sscanf Tutorial [Explained] -
Subwoofer - 25.03.2012
Quote:
Originally Posted by emokidx111
1. download them. the links are on the top of the first post.
2. put them inside the "pawno/includes" folder where your server is located.
3. make sure you open the same pawno in which you put the includes and there is no other pawno in your pc (to avoid collusion)
|
i done it before too but still its bugged, even filterscripts cant load from sscanf and zcmd and with other new includes like dini....
PHP код:
C:\Users\Windows7\Desktop\Asjad\SAMP\SAMP Server 3\filterscripts\cali-houses.pwn(12) : fatal error 100: cannot read from file: "dini"
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Re: Simple zcmd and sscanf Tutorial [Explained] -
Mark™ - 25.03.2012
Quote:
Originally Posted by Subwoofer
i done it before too but still its bugged, even filterscripts cant load from sscanf and zcmd and with other new includes like dini....
PHP код:
C:\Users\Windows7\Desktop\Asjad\SAMP\SAMP Server 3\filterscripts\cali-houses.pwn(12) : fatal error 100: cannot read from file: "dini"
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
|
Get dini from dracoblue's site !
Re: Simple zcmd and sscanf Tutorial [Explained] -
Subwoofer - 25.03.2012
Quote:
Originally Posted by Xtreme_playa
Get dini from dracoblue's site !
|
i downloaded it, put into right place but still get error :/. i think the pawno is f****d up itself...
Re: Simple zcmd and sscanf Tutorial [Explained] -
Reklez - 26.03.2012
Sometimes its happening to me if you get that problem.
remove all inc files inside the include folder then put it outside of the server folder compile your script.
put your inc files back inside the include folder compile it done its fix. just keep repeating those if you keep getting those problem.