Právě je ned 20. kvě 2012 8:18:29
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[GM] Lucky Adventures od MaTTy
[SCRIPT/INC] Colored Checkpoint v1 (QCCP v1) od Pixel ^_^
[Prezentace]GameMix Hosting a Adminka od Riso135_
[HOSTING] Hledáme od MarekH
[HLEDAM] Status hračov od aburi

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 
Autor Zpráva
 Předmět příspěvku: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 16:58:09 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

Format je funkce která "formátuje" něco do proměnných (třeba text).

format má tyto parametry -

Kód:
format(var, sizeof, string[]);


  • var
  • sizeof
  • string[]

var - Nazev promene do ktere vepiseme text
sizeof - Pocet znaku, pokud pouzijete sizeof() tak to znamena ze pocet znaku bude shodny s poctem znaku v promenne napsane mezi ( )
Kód:
new string[500];
sizeof(string) // max. pocet znaku bude 500

string[] - Zde se zapisuje text mezi ""

A za tyto tri parametry se muze psat dalsich parametru haba dej :) Tam se davaji treba nazvy promenych kdyz chceme vypsat jeji obsah, ale o tom se dozvime nize ;)

Co potřebujeme k formátování
1. Proměnou do které vložíme formátovaný text
2. Funkci kterou odešleme zformátovaný text
3. Funkci format ;)

Příklad vypsání hráčova jména
Kód:
new name[24]; // Proměna pro hráčův nick
GetPlayerName(playerid, name, sizeof(name)); // Hráčův nick se zkopíruje do proměnné name
new string[80]; // viz. bod 1
format(string,sizeof(string),"Hracuv nick: %s", name); // Bod 3
SendClientMessageToAll(0xFFFFFAA, string); // Bod 2


Vsimli jste si znaku %s ? Takto se označuje když chceme vložit string neboli text. Zde je seznam NEJPOUZIVANEJSICH 3 znaků, zbytek je ZDE -

  • %d Kdyz chceme vypsat ciselnou hodnotu dame tam toto ;)
  • %f Vlozi Float (desetine cislo)
  • %s Vlozi string (text)

Příklad použití více proměn
Kód:
new pawn;
new pawno;

GetPlayerName(playerid, pawn, sizeof(pawn));
GetPlayerMoney(playerid, pawno);

new string[100];
format(string, sizeof(string), "Hrac %s ma %d penez!", pawn, pawno);
SendClientMessageToAll(0xFFFFFAA, string);


Cili jsme vytvorili dve promenee
Do jedne vepsali hracuv nick a do druhe stav hracovych penezi.
A ted prisla formatovaci akce kdyz jsme na hracovo jmeno pouzili %s a na stav penez %d.

Hlavne si davejte pozor na poradi promen v 4 parametru, pokud by jste zamenili pawno s pawn tak se vam to nevypise ;)

Pamatujte ze pokud chcete vypisovat obsah promene, musite pouzit format !!

[hr][/hr]

Doufám že jste to pochopili a pokud máte dotaz napište.

Wiki: [w]Format[/w]


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 16:59:19 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 19. zář 2009 0:20:14
Příspěvky: 848
Bydliště: #define Mesto "Plzen"

Pekny :) 10/10

_________________
Když člověk kopíruje, trvá mu script déle než kdyby ho psal z vlastní hlavy.

[FS] Deluxe Admin Script
[FS] AntiGodmode-System
[FS] AFK-System
[FS] Fight-System
[FS] Server Lock-System
[GM] Clanwar/Training mode by NurofeN[Cz


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 16:59:59 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: ned 25. črc 2010 14:40:25
Příspěvky: 816

Fakt Pekný navod 10/10

_________________
Story of San Fierro
Obrázek
Viac informácii o móde


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:01:21 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 19. zář 2009 0:20:14
Příspěvky: 848
Bydliště: #define Mesto "Plzen"

Mafian189 píše:
Fakt Pekný navod 10/10

Tys ho precetl cely? Za necely 2 minuty? Ja teda ne, stihl jsem jenom var :D Ale jdu to docist, pekne popsany ale :thumbup:

_________________
Když člověk kopíruje, trvá mu script déle než kdyby ho psal z vlastní hlavy.

[FS] Deluxe Admin Script
[FS] AntiGodmode-System
[FS] AFK-System
[FS] Fight-System
[FS] Server Lock-System
[GM] Clanwar/Training mode by NurofeN[Cz


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:02:12 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: ned 25. črc 2010 14:40:25
Příspěvky: 816

qNoX píše:
Mafian189 píše:
Fakt Pekný navod 10/10

Tys ho precetl cely? Za necely 2 minuty? Ja teda ne, stihl jsem jenom var :D Ale jdu to docist, pekne popsany ale :thumbup:


"lol" Ved Som to cital ale ne cele ale vydim ze je to dobre .. Je to aj pekne vystvetlene omg este viem co pisem !!

_________________
Story of San Fierro
Obrázek
Viac informácii o móde


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:04:13 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4531
Bydliště: Blava ne ?

Pekný tut, chválim :) presne tento som dneska hladal (zdalo sa mi že freewall takýto robil ale nerobil, tak to potom na pawno boxe je od mavericka :)) toto je jeden z tých dobrých tutov :) ktoré niečo naučia a nie ctrl + c
ps. ešte by si mohol pridať
Spoiler:
stock SCM(playerid, color, const msg[], {Float,_}:...)
{
new len = strlen(msg),d=0,posArg = 3;
new dest[512];
for(new i=0;i<len;i++)
{
if(msg[i] == '%')
{
switch (msg[i+1])
{
case 's':
{
new pos,arg,tmppos;
new str[128];
while(getarg(posArg,pos)!='\0')
{
arg=getarg(posArg,pos++);
str[tmppos]=arg;
tmppos++;
}
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'i', 'd':
{
new str[128];
format(str,sizeof(str),"%d",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'f':
{
new str[128];
format(str,sizeof(str),"%f",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case '.':
{
new len2 = msg[i+2];
if(len2 == 0)
{
dest[d] = msg[i];
d++;
}
else
{
new str[32],formatting[5];
formatting[0] = '%';
formatting[1] = '.';
formatting[2] = len2;
formatting[3] = 'f';
format(str,sizeof(str),formatting,getarg(posArg));
strins(dest,str,d,len2);
d+=len;
posArg++;
i+= 2;
}
}
default:
{
dest[d] = msg[i];
d++;
}
}
}
else
{
dest[d] = msg[i];
d++;
}
}
return SendClientMessage(playerid,color,dest);
}



stock SCMTA(color, const msg[], {Float,_}:...)
{
new len = strlen(msg),d=0,posArg = 2;
new dest[128];
for(new i=0;i<len;i++)
{
if(msg[i] == '%')
{
switch (msg[i+1])
{
case 's':
{
new pos,arg,tmppos;
new str[128];
while(getarg(posArg,pos)!='\0')
{
arg=getarg(posArg,pos++);
str[tmppos]=arg;
tmppos++;
}
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'i', 'd':
{
new str[128];
format(str,sizeof(str),"%d",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'f':
{
new str[128];
format(str,sizeof(str),"%f",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case '.':
{
new len2 = msg[i+2];
if(len2 == 0)
{
dest[d] = msg[i];
d++;
}
else
{
new str[32],formatting[5];
formatting[0] = '%';
formatting[1] = '.';
formatting[2] = len2;
formatting[3] = 'f';
format(str,sizeof(str),formatting,getarg(posArg));
strins(dest,str,d,len2);
d+=len;
posArg++;
i+= 2;
}
}
default:
{
dest[d] = msg[i];
d++;
}
}
}
else
{
dest[d] = msg[i];
d++;
}
}
return SendClientMessageToAll(color,dest);
}


aby človek nemusel stále dávať new string... :)

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:08:00 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 19. zář 2009 0:20:14
Příspěvky: 848
Bydliště: #define Mesto "Plzen"

QWER píše:
Pekný tut, chválim :) presne tento som dneska hladal (zdalo sa mi že freewall takýto robil ale nerobil, tak to potom na pawno boxe je od mavericka :)) toto je jeden z tých dobrých tutov :) ktoré niečo naučia a nie ctrl + c
ps. ešte by si mohol pridať
Spoiler:
stock SCM(playerid, color, const msg[], {Float,_}:...)
{
new len = strlen(msg),d=0,posArg = 3;
new dest[512];
for(new i=0;i<len;i++)
{
if(msg[i] == '%')
{
switch (msg[i+1])
{
case 's':
{
new pos,arg,tmppos;
new str[128];
while(getarg(posArg,pos)!='\0')
{
arg=getarg(posArg,pos++);
str[tmppos]=arg;
tmppos++;
}
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'i', 'd':
{
new str[128];
format(str,sizeof(str),"%d",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'f':
{
new str[128];
format(str,sizeof(str),"%f",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case '.':
{
new len2 = msg[i+2];
if(len2 == 0)
{
dest[d] = msg[i];
d++;
}
else
{
new str[32],formatting[5];
formatting[0] = '%';
formatting[1] = '.';
formatting[2] = len2;
formatting[3] = 'f';
format(str,sizeof(str),formatting,getarg(posArg));
strins(dest,str,d,len2);
d+=len;
posArg++;
i+= 2;
}
}
default:
{
dest[d] = msg[i];
d++;
}
}
}
else
{
dest[d] = msg[i];
d++;
}
}
return SendClientMessage(playerid,color,dest);
}



stock SCMTA(color, const msg[], {Float,_}:...)
{
new len = strlen(msg),d=0,posArg = 2;
new dest[128];
for(new i=0;i<len;i++)
{
if(msg[i] == '%')
{
switch (msg[i+1])
{
case 's':
{
new pos,arg,tmppos;
new str[128];
while(getarg(posArg,pos)!='\0')
{
arg=getarg(posArg,pos++);
str[tmppos]=arg;
tmppos++;
}
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'i', 'd':
{
new str[128];
format(str,sizeof(str),"%d",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'f':
{
new str[128];
format(str,sizeof(str),"%f",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case '.':
{
new len2 = msg[i+2];
if(len2 == 0)
{
dest[d] = msg[i];
d++;
}
else
{
new str[32],formatting[5];
formatting[0] = '%';
formatting[1] = '.';
formatting[2] = len2;
formatting[3] = 'f';
format(str,sizeof(str),formatting,getarg(posArg));
strins(dest,str,d,len2);
d+=len;
posArg++;
i+= 2;
}
}
default:
{
dest[d] = msg[i];
d++;
}
}
}
else
{
dest[d] = msg[i];
d++;
}
}
return SendClientMessageToAll(color,dest);
}


aby človek nemusel stále dávať new string... :)

Lol.. nice ten stock QWER :) :thumbup:

_________________
Když člověk kopíruje, trvá mu script déle než kdyby ho psal z vlastní hlavy.

[FS] Deluxe Admin Script
[FS] AntiGodmode-System
[FS] AFK-System
[FS] Fight-System
[FS] Server Lock-System
[GM] Clanwar/Training mode by NurofeN[Cz


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:08:31 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

QWER píše:
Spoiler:
stock SCM(playerid, color, const msg[], {Float,_}:...)
{
new len = strlen(msg),d=0,posArg = 3;
new dest[512];
for(new i=0;i<len;i++)
{
if(msg[i] == '%')
{
switch (msg[i+1])
{
case 's':
{
new pos,arg,tmppos;
new str[128];
while(getarg(posArg,pos)!='\0')
{
arg=getarg(posArg,pos++);
str[tmppos]=arg;
tmppos++;
}
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'i', 'd':
{
new str[128];
format(str,sizeof(str),"%d",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'f':
{
new str[128];
format(str,sizeof(str),"%f",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case '.':
{
new len2 = msg[i+2];
if(len2 == 0)
{
dest[d] = msg[i];
d++;
}
else
{
new str[32],formatting[5];
formatting[0] = '%';
formatting[1] = '.';
formatting[2] = len2;
formatting[3] = 'f';
format(str,sizeof(str),formatting,getarg(posArg));
strins(dest,str,d,len2);
d+=len;
posArg++;
i+= 2;
}
}
default:
{
dest[d] = msg[i];
d++;
}
}
}
else
{
dest[d] = msg[i];
d++;
}
}
return SendClientMessage(playerid,color,dest);
}



stock SCMTA(color, const msg[], {Float,_}:...)
{
new len = strlen(msg),d=0,posArg = 2;
new dest[128];
for(new i=0;i<len;i++)
{
if(msg[i] == '%')
{
switch (msg[i+1])
{
case 's':
{
new pos,arg,tmppos;
new str[128];
while(getarg(posArg,pos)!='\0')
{
arg=getarg(posArg,pos++);
str[tmppos]=arg;
tmppos++;
}
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'i', 'd':
{
new str[128];
format(str,sizeof(str),"%d",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case 'f':
{
new str[128];
format(str,sizeof(str),"%f",getarg(posArg));
strins(dest,str,d,strlen(str));
d+=strlen(str);
posArg++;
i++;
}
case '.':
{
new len2 = msg[i+2];
if(len2 == 0)
{
dest[d] = msg[i];
d++;
}
else
{
new str[32],formatting[5];
formatting[0] = '%';
formatting[1] = '.';
formatting[2] = len2;
formatting[3] = 'f';
format(str,sizeof(str),formatting,getarg(posArg));
strins(dest,str,d,len2);
d+=len;
posArg++;
i+= 2;
}
}
default:
{
dest[d] = msg[i];
d++;
}
}
}
else
{
dest[d] = msg[i];
d++;
}
}
return SendClientMessageToAll(color,dest);
}


aby človek nemusel stále dávať new string... :)


Myslim ze novacci, kdyby tohle videli tak by rychle utekli, je to sice fajnovy ze das jen jednu funkci a nemusis delat to co sem psal nahore ale ja mam radsi, kdyz se clovek uci bez stocku a podobnych zjednoduchovatin protoze pak kdyz se to nauci a nekomu chce radit tak bude tak zblblej ze mu zacne radit pouzij SCMwFormat (vymyslene :D ).


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:13:32 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4531
Bydliště: Blava ne ?

ja vlastné stocky a publicy veľmi často a rád používam :)

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: sob 02. říj 2010 17:14:57 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

QWER píše:
ja vlastné stocky a publicy veľmi často a rád používam :)

Ja taky pouzivam (PlayerName a dalsi vlastni) ale kdyz sem zacinal tak sem je nepouzival vubec :D


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: stř 16. úno 2011 19:50:19 
Barry Thorne "Big Bear"
Barry Thorne "Big Bear"
Uživatelský avatar
Registrován: úte 14. říj 2008 17:33:27
Příspěvky: 211

pěkný TUT Davide 10/10 :)


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: stř 16. úno 2011 20:22:50 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: ned 28. zář 2008 13:02:11
Příspěvky: 2736
Bydliště: Dreadlands

10/10 no comment ;)


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: stř 16. úno 2011 20:34:36 

nadherný TUT 10/10 ;)


  
 Předmět příspěvku: Re: [TuT] Format
PříspěvekNapsal: čtv 17. úno 2011 14:14:48 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

Děkuji všem :)

příště si přečtěte datum :)


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 10 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: