[TuT] SSCANF u ZCMD komandama

Započeo []Flynâ„¢
25. Jul 2011. Zaključano
9,538
pregleda
36
postova
Marjan_King
5
Kingpin
25. Jul 2011.



U ovom Tutorialu cu pokusati da vam sto bolje objasnim kako koristiti SSCANF.
Pa da pocnemo...


Za ovo ce vam trebati sledece:
Include ZCMD - http://forum.sa-mp.com/showthread.php?t=91354[/url
Include SSCANF - http://forum.sa-mp.com/showthread.php?t=120356[/url



U SSCANFu ne postoji CMDText, while, result itd kao u STRCMP...
Sve sto ima je sscanf i params



Vecina ne shvata parametre i mislim da je to najveci problem.
Sada cu vam pokazati parametre i sta koji parametar sluzi.





Parametri:

"u"
- Za igracev ID/DeoImena + njega mozete koristiti za botove
Primer:
if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "Korištenje: /komanda ");




"r"
- Za igracev ID/DeoImena
Primer:
if(sscanf(params, "r", igrac)) return SendClientMessage(playerid, -1, "Korištenje: /komanda [IgracevID/DeoImena]");




"i"
- Za neki broj
Primer:
if(sscanf(params, "i", broj)) return SendClientMessage(playerid, -1, "Korištenje: /komanda ");




"s"
- Za tekst, uvek morate stavljati velicinu. (Ja uvek stavim s )
Primer:
if(sscanf(params, "s", tekst)) return SendClientMessage(playerid, -1, "Korištenje: /komanda ");




"d"
- integer, isto sto i parametar "i"
Primer:
if (!sscanf(params, "ud", igrac, kolicina)) return SCM(playerid, 0xFFFFFFFF, "Komanda: /givemoney ");//Zanemarite ovo "u", to mora zbog IDa, nmg se setim komande samo za "d"




"f"
- "f" znaci ako koristis neku poziciju tj "Float",u ovom primeru ti napises /visina i portat ce te na isto mesto samo drugu visinu
Primer:
if(sscanf(params,"f",ZPos)) SCM(playerid, boja, "KOMANDA:"C_bijela" /visina");




Sada cemo napraviti za svaki parametar jedan pravi primer(komandu) da bi lakse shvatili.

Parametar "u"
CMD:freeze(playerid, params[])
{
       new string, string2, igrac;
       if (PlayerInfo >= 1)
       {
               if(sscanf(params, "u", igrac)) return SendClientMessage(playerid, -1, "KoriÅ¡tenje: /freeze ");
               TogglePlayerControllable(igrac, 0);
               format(string, sizeof(string), "Freezao si igraca: %s",GetName(igrac));
               SendClientMessage(playerid, -1, string);
               format(string2, sizeof(string2), "Freezao te je Admin: %s ",GetName(playerid));
               SendClientMessage(igrac, -1, string2);
       }
       return 1;
}




Parametar "r"
CMD:freeze(playerid, params[])
{
       new string, string2, igrac;
       if (PlayerInfo >= 1)
       {
               if(sscanf(params, "r", igrac)) return SendClientMessage(playerid, -1, "KoriÅ¡tenje: /freeze [IgracevID/DeoImena]");
               TogglePlayerControllable(igrac, 0);
               format(string, sizeof(string), "Freezao si igraca: %s",GetName(igrac));
               SendClientMessage(playerid, -1, string);
               format(string2, sizeof(string2), "Freezao te je Admin: %s ",GetName(playerid));
               SendClientMessage(igrac, -1, string2);
       }
       return 1;
}




Parametar "i"
CMD:tod(playerid, params[])
{
 new string, tmp, hour, broj;
 hour = strval(tmp);
 if(sscanf(params, "i", broj)) return SCM(playerid, -89, "INFO: /tod [0-23]");
 if (PlayerInfo >= 1337) return SCM(playerid, COLOR_GRAD1, "Niste ovlasteni da koristite tu komandu !");
 {
    SetWorldTime(hour);
 format(string, sizeof(string), "Vreme je podeseno na %d sati.", hour);
 BroadCast(COLOR_GRAD1, string);
 }
 return 1;
}




Parametar "s"
CMD😮(playerid, params[])
{
 new tekst;
 new string;
 if (PlayerInfo >= 1)
 {
    if(sscanf(params, "s", tekst)) return SendClientMessage(playerid, -1, "KoriÅ¡tenje: /o ");
  format(string, sizeof(string), " Admin: %s kaze: %s " , GetName(playerid), tekst);
  SendClientMessageToAll(-1, string);
 }
 return 1;
}




Parametar "d"
CMD:givemoney(playerid, params[])//Ne mogu se setim komande samo sa parametrom "d" tako da ovde je i parametar "u"
{
new
igrac,
tekst
kolicina;
if (!sscanf(params, "ud", igrac, kolicina)) return SCM(playerid, 0xFFFFFFFF, "Komanda: /givemoney ");
{
  if(PlayerInfo >= 1337)
 GivePlayerMoney(igrac, kolicina);
 format(tekst, sizeof(tekst), "Dobio si $%d od Administratora!", kolicina);
 SendClientMessage(igrac, 0x00FF00FF, tekst);
}
return 1;
}




Parametar "f"
CMD:visina(playerid,params[]){
new Float:ZPos;
if(sscanf(params,"f",ZPos)) SCM(playerid, boja, "KOMANDA:"C_bijela" /visina");
else{
              new Float:X,Float:Y,Float:Z;
              GetPlayerPos(playerid,X,Y,Z);
              SetPlayerPos(playerid,X,Y,ZPos);
return 1;
}





Credits:
Pacijent_ - Tutorial

System32 - Naucio me je da koristim SSCANF

SlicK - Objasnjenje "f" parametra
Dario_1996
2
Wheel Man
25. Jul 2011.
Odlican Tutorial, samo navedi da treba da imaju sscanf (incude & plugin) i zcmd (include). (stavio sam linkove, samo kliknite na zcmd ili sscanf)
Marjan_King
5
Kingpin
25. Jul 2011.
No Name wrote on July 25, 2011, 1:05 am:
Odlican Tutorial, samo navedi da treba da imaju sscanf (incude & plugin) i zcmd (include). (stavio sam linkove, samo kliknite na zcmd ili sscanf)

Hvala 🙂 Dodao sam...
CadrRa
5
Kingpin
25. Jul 2011.
I brate da objasnis sta je to,ako vec nisi,cim sam vidio da na vrhu nema objasnjenje nisam citao.Ipak hvala ti u ime onih koji znaju sta je to.
bero
5
Underboss
25. Jul 2011.
Da te ispravim:
"u" 
- Za igracev ID [Samo za ID ne za DeoImena]
Primer:
Kod: (c)
if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "Korištenje: /komanda ");


Skracenica od "user" i kad to koristis nemoras pisat samo id mozes i dio imena,a
"r" 
- Za igracev ID i DeoImena
Primer:
Kod: (c)
view plaincopy to clipboardprint?
if(sscanf(params, "r", igrac)) return SendClientMessage(playerid, -1, "KoriÅ¡tenje: /komanda [IgracevID/DeoImena]");  

"r" ti je isto,samo sta njega mozes koristiti i za igrace,i za botove...
Marjan_King
5
Kingpin
25. Jul 2011.
SlicK wrote on July 25, 2011, 1:21 am:
Da te ispravim:
"u" 
- Za igracev ID [Samo za ID ne za DeoImena]
Primer:
Kod: (c)
if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, "Korištenje: /komanda ");


Skracenica od "user" i kad to koristis nemoras pisat samo id mozes i dio imena,a
"r" 
- Za igracev ID i DeoImena
Primer:
Kod: (c)
view plaincopy to clipboardprint?
if(sscanf(params, "r", igrac)) return SendClientMessage(playerid, -1, "KoriÅ¡tenje: /komanda [IgracevID/DeoImena]");  

"r" ti je isto,samo sta njega mozes koristiti i za igrace,i za botove...


Fixano!

Hvala na ispravci...
bero
5
Underboss
25. Jul 2011.
Ima jos tih parametri,ali stavio si najbitnije,to je oke,dobro ce doc nekima 🙂
Marjan_King
5
Kingpin
25. Jul 2011.
SlicK wrote on July 25, 2011, 1:28 am:
Ima jos tih parametri,ali stavio si najbitnije,to je oke,dobro ce doc nekima 🙂

Naravno da ima. Updateovacu za koji dan i staviti jos, jer nisam ni ja jos sve shvatio  😁
bero
5
Underboss
25. Jul 2011.
Pardon,ja se ispricavam, "u" je za igrace i botove,a "r" samo za igrace...
Sry smotao sam se... 🙄
| Pacino
4
Made Man
25. Jul 2011.
Nije lose, ali moglo je bolje.... Gdje su ti npr. Optional arguments, string splitteri, itd itd...

Ovo nije nista sta si sve mogao i trebao staviti da bi ovo bio pravi tut o sscanf-u...
[BR]WeeD
4
Shot Caller
25. Jul 2011.
lijep tutorijal, siguran sam da ce nekom pomoci
Marjan_King
5
Kingpin
25. Jul 2011.
EM|Pacino wrote on July 25, 2011, 9:41 am:
Nije lose, ali moglo je bolje.... Gdje su ti npr. Optional arguments, string splitteri, itd itd...

Ovo nije nista sta si sve mogao i trebao staviti da bi ovo bio pravi tut o sscanf-u...

Ovo je nesto sasvim osnovno i dovoljno za koriscenje SSCANFa.
A kao sto sam vec rekao, dodavacu jos dosta toga, samo da ga jos malo proucim.




tbedy.amx wrote on July 25, 2011, 9:45 am:
lijep tutorijal, siguran sam da ce nekom pomoci

Hvala...
ado
4
Made Man
25. Jul 2011.
Odlican tutorial, bas mi je ovo trebalo, hvala.
Viky
6
Legenda Foruma
25. Jul 2011.
sscanf se nekoristi samo u komandama... Nisi objasnio sve argumente i nisi naveo razliku između velikih i malih slova...
Nije nešto...
Marjan_King
5
Kingpin
25. Jul 2011.
Quote from July 25, 2011, 3:28 pm:
sscanf se nekoristi samo u komandama... Nisi objasnio sve argumente i nisi naveo razliku između velikih i malih slova...
Nije nešto...

Onda nisam stavio dobar naslov, mislio sam SSCANF u komandama. Sad cu ispraviti.

Znam da nije nesto, jel nisam jos sve shvatio, znam da koristim u komandama(te osnovne parametre) Ostalo jos uvek ne shvatam....
Ali pocetnicima je ovo sasvim dovoljno i shvatice lako, tj. lepo je objasnjeno.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha