Právě je stř 23. kvě 2012 11:16:32
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[INC]Turbo Enter-Exit System od SURANY_MORE
[INC]AddAmmo od Riso135_
[Stránka] Hostingu SA-MP od Ewwe
[HELP] Skrytie TextDrawu od Om3n
[HELP] realne zatykani od KillBill61

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ů: 27 ] 
Autor Zpráva
 Předmět příspěvku: [TuT] PVar [**]
PříspěvekNapsal: stř 24. srp 2011 10:46:33 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

Učíme sa pracovať a využívať PVary


Obtiažnosť: ObrázekObrázekObrázekObrázekObrázek

Obsah:
1) Predslov
1a) Čo sú to PVary ?
1b) Výhody PVarov
1c) Nevýhody PVarov
2) Funkcie
2a) Nastavovacie funkcie
2b) Zisťovacie funkcie
2c) Mazacie funkcie
3) Využitie
4) Typy a Triky




Čaute PVary boli pridané od sa-mp verzie 0.3a
Celá SAMP scéna prešla na PVary iba SK/CZ scéna nie :D (teda vačšina).

Predslov


Čo to PVary sú ?
Pvary sú tiež premeny ale iba pre hráča (global PVars existujú iba ako plugin...). Čiže žiadne new Admin[MAX_PLAYERS];

Výhody PVarov sú?
Hlavná výhoda je, že neexistujú "prázdne miesta" ktoré "žerú" RAM-ku.
Lebo ak dáte new a[MAX_PLAYERS] = {-1,...}; tak to vytvorí 500 premien s hodnotou -1. A keď máte na servery 5 ľudí, tak aj tak je na servery 500 premien... No pri PVaroch je iba 5. Pretože každému hráčovy vytvorí automaticky vlastnú, a pri odchode ju zmaže (Takže žiadne nulovanie premien v OnPlayerConnect (a DisConnect)).

Nevýhody PVarov sú?
Výrazne pomalšie ako obyčajné premeny hlavne pri cykloch (kde sa to opakuje). Ale zase šetríte RAM ku...
Funkcie

Nastavovacie funkcie (Set)

Snt(playerid, varname[], int_value)
playerid = id hráča, ktorému chceme uložiť hodntu
varname = string, toto je hlavná časť ! Podľa názvu sa ukladajú hodnoty čiže npr. "Admin"
int_value = hodnota npr. 5

SetPVarString(playerid, varname[], string_value[])
playerid = id hráča, ktorému chceme uložiť hodntu
varname = string, toto je hlavná časť ! Podľa názvu sa ukladajú hodnoty čiže npr. "Nick"
string_value = text, npr. "QWER"

SetPVarFloat(playerid, varname[], Float:float_value)
playerid = id hráča, ktorému chceme uložiť hodntu
varname = string, toto je hlavná časť ! Podľa názvu sa ukladajú hodnoty čiže npr. "Health"
float_value = float hodnota... (desatinné číslo) npr. GetPlayerHealthEx(playerid);

Zisťovacie funkcie (Get)

GetPVarInt(playerid, varname[])
playerid = id hráča, ktorému chceme zistiť návratovú hodnotu
varname = názov uloženej hodnoty ako sme použili "Admin"

GetPVarString(playerid, varname[], string_return[], len)
playerid = id hráča, ktorému chceme zistiť návratovú hodnotu
varname = názov uloženej hodnoty ako sme použili "Nick"
string_return = názov stringového pola (new string[100];)
len = max. počet znakov

GetPVarFloat(playerid, varname[])
playerid = id hráča, ktorému chceme zistiť návratovú hodnotu
varname = názov uloženej hodnoty ako sme použili "Health"

Mazacie funkcie (Del)

DeletePVar(playerid, varname[])
playerid = id hráča, ktorému chceme zistiť návratovú hodnotu
varname = názov uloženej hodnoty ako sme použili "Health"
Deletne premenu, takže nebude existovať (ani zaberať miesto v RAM-ke) BTW Pri odchode zo serveru (disconnect) sa automaticky zmažú, takže ich nemusíte mazať manuálne.

Využitie


Využitie je také obrovske, ako pri obyčajných premenách pre všetkých hráčov... npr. taký príkaz loc & toloc (často objavovaný v módoch (myslím súkromný teleport))
Cez obyčajné premeny
Kód:

Hore medzi new
new Float
:pos[4][MAX_PLAYERS];

public OnPlayerCommandText...

if(!
strcmp("/loc",cmdtext,true)){
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
GetPlayerAngle(playerid,pos[3]);
}
if(!
strcmp("/toloc",cmdtext,true)){
SetPlayerPos(playerid,pos[0],pos[1],pos[2]);
SetPlayerAngle(playerid,pos[3]);
}

by cez PVary vyzeral takto
Kód:
if(!strcmp("/loc",cmdtext,true)){
 new Float:x,Float:y,Float:z,Float:a;
    GetPlayerPos(playerid,x,y,z); 
    GetPlayerAngle
(playerid,a)
    SetPVarFloat(playerid,"PosX",x); 
    SetPVarFloat
(playerid,"PosY",y); 
    SetPVarFloat
(playerid,"PosZ",z);
    SetPVarFloat(playerid,"PosA",a);

}
if(!
strcmp("/toloc",cmdtext,true)){
SetPlayerPos(playerid,GetPVarFloat(playerid,"PosX"),GetPVarFloat(playerid,"PosY"),GetPVarFloat(playerid,"PosZ"));
SetPlayerAngle(playerid,GetPVarFloat(playerid,"PosA"));
}

Teraz si poviete, "Načo to je, aj tak vytvoril premeny x,y,z,a"
Áno, ale tie sú iba lokálne a existujú iba niekoľko milisekund (presnejšie 6 milisekund) no pri prvej možnosti existovaly celý chod servera (od zapnutia po vypnutie) a bolo ich 500 (4 bytových premien) a tu sme vytvorili 4 (4 bytové premena) na 6 milisekund.

Jednoduché nie ?

Pri stringu vám sem dám jeden stock, čo uľahčí prácu s GetPVarString...

Kód:

stock ReturnPVarString
(playerid, msg[]){
new ReturnMSG[256];
GetPVarString(playerid, msg, ReturnMSG,256);
return ReturnMSG;
}


Dajú sa ukladať stringy, takže nemusíte stále používať GetPlayerName alebo pawn ekvivalent PlayerName (== Jmeno)
a to týmto spôsobom
Kód:
public OnPlayerConnect...{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid,nick,MAX_PLAYER_NAME);
 SetPVarString(playerid,"Name",nick);
}

a potom už iba použiť
Kód:
if(strcmp(...)){
new s[100];
format(s,100,"%s sa smeje (/lol)",ReturnPVarString(playerid,"Nick"));
}

a pošle to "QWER sa smeje (/lol)"
Ale neskúšal som či je lepšie mať v premene nick, alebo používať PlayerName...

SetPVarInt je ako obyčajná premena... takže dúfam nemusím vysvetlovať.

Typy Triky


Typ č.1

Keď budete používať PVary pravdepodobne vás nasere (keď ich budete mať veľa). Že si budete musieť pametať názov... npr.

SetPVarInt(playerid, "AdminLevel", 5);


Ja používam define, ukážem vám
Kód:
#define AdminLevel "AdminLevel"


a už iba
Kód:
SetPVarInt(playerid, AdminLevel,5);

Typ č.2

Tento typ vás určite poteší
PVary SA Môžu PREPOJIŤ S FS ! Máte npr. v FS npr. "AdminLevel" a v GM ho môžete používať ! (a hodnotu si zachová !)


Ak chcete Testnúť či to nazoaj funguje, použite toto ako FS
Kód:

public OnPlayerCommandText
(playerid, cmdtext[])
{
    new cmd[256];
    new    tmp[256];
    new gMessage[256];
    new    idx;
    
    cmd 
= strtok(cmdtext, idx);

    if(strcmp("/set", cmd, true) == 0)
    {
        tmp = strtok(cmdtext,idx);
        new id = strval(tmp);
        gMessage = strrest(cmdtext,idx);
        
       SetPVarInt
(playerid, "AdminLevel", id);
   SetPVarString(playerid, "Text", gMessage);
        return 1;
    }

    return 0;
}


A GM
Kód:

public OnPlayerCommandText
(playerid, cmdtext[])
{
    new idx;
    new cmd[256];
    
    cmd 
= strtok(cmdtext, idx);

    if(strcmp(cmd, "/get", true) == 0) {
    
    new s
[100];
 format(s,100,"Číslo: %d Text: %s",GetPVarInt(playerid, "AdminLevel"),ReturnPVarString(playerid,"Text"));
 SendClientMessage(playerid,0xFFFF00,s);
        return 1;
    }

    return 0;
}
stock ReturnPVarString(playerid, msg[]){
new ReturnMSG[256];
GetPVarString(playerid, msg, ReturnMSG,256);
return ReturnMSG;
}


Funguje to ! (Dá sa to zneužiť, aj využiť Pozor na to !)
Preto pre prípad odsudzenia (síce to napadne málo koho) Tak pomocou Triku č1 by ste mohli dať "krkolomné" názvy (hlavne na niake dôležité veci npr. anti money cheat, admin level, vip... npr

#define VIP "PlayerVIP"

Trik č.3

Toto je trik, a je podľa mňa dobrý, Nemusíte stále používať SetPVarInt... môžete si urobiť definíciu ktorá vám to uľahčí ukažem príklad
Kód:
#define AdminLevel(%0,%1) SetPVarInt(%0,"PlayerAdminLevel",%1);

a potom napríklad používate iba

Kód:
QCMD:somqwerne(playerid,params[]){
AdminLevel(playerid,5);
return true;
}


môžete si tak nastaviť na všetko... je to lepšie (podľa mňa) ako obyčajne SetPVarInt...

Typ č.4

A teraz ešte jeden stock... GivePVars(Int)


Kód:
stock GivePVarsInt(playerid,name[],nume){
SetPVarInt(playerid,name,GetPVarInt(playerid, name)+nume);
}
#define GivePVars GivePVarsInt


a potom iba
Kód:
#define Skill "PlayerSkillLevel"
if(killerid != playerid){
GivePVarsInt(killerid,Skill,2);
GivePVars(playerid,Skill,-1);
}


To je dúfam všetko a verím, že som vám aspoň z časti pomohol objasniť 'záhady' PVarov

S pozdravom
QWER

_________________
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] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:11:07 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Jakou hodnotu vrací GetPVarInt, když PVar není vytvořen?

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:23:36 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

0

_________________
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] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:25:56 
Barry Thorne "Big Bear"
Barry Thorne "Big Bear"
Uživatelský avatar
Registrován: sob 05. úno 2011 13:58:05
Příspěvky: 320

Nikdy mi nešlo dát do PVaru ++ jako u proměnné, jak to udělat ?

[hr][/hr]

Něco mě napadlo ale nevim jestli to bude fungovat...

Kód:

stock GivePVarIntPlus
(playeridname[])
{
    
SetPVarInt(playeridnameGetPVarInt(playeridname)++);
}
 


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:28:31 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

neskúšal som

_________________
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] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:30:49 
Barry Thorne "Big Bear"
Barry Thorne "Big Bear"
Uživatelský avatar
Registrován: sob 05. úno 2011 13:58:05
Příspěvky: 320

QWER píše:
neskúšal som


nejde....

Kód:
F:\pawn\pawno\include\PVars.inc(10) : error 022must be lvalue (non-constant


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:31:33 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 648
Bydliště: Nitra, Slovensko

Pretože musí dať +1

_________________
Obrázek

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:39:51 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

Ty si nepochopil, on chcel skúsiť pridať "+1" ako pri obyčajnej premene kde to je
"premena++;"

_________________
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] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:44:24 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: sob 16. říj 2010 16:16:27
Příspěvky: 648
Bydliště: Nitra, Slovensko

Áno veď toto chcel spraviť no hodilo to error tak by to malo byť takto nie ?

_________________
Obrázek

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:47:26 
Barry Thorne "Big Bear"
Barry Thorne "Big Bear"
Uživatelský avatar
Registrován: sob 05. úno 2011 13:58:05
Příspěvky: 320

Jou oukej jede to...


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:54:25 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

hezký, pvary jsem znal už dřív ale nevěděl jsem jak je správně využít ..

btw mohl bys ještě napsat jak ukládat pvary pomocí qini/dini?

_________________
Používejte mozek! Snadněji tak vyřešíte záhadu Schrödingerovy kočky.


Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 11:56:04 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Mort píše:
hezký, pvary jsem znal už dřív ale nevěděl jsem jak je správně využít ..

btw mohl bys ještě napsat jak ukládat pvary pomocí qini/dini?


Použiješ GetPVar... ten ti vrátí hodnotu a tu normálně uložíš.

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 12:02:03 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

PeTr_AP] píše:
Mort píše:
hezký, pvary jsem znal už dřív ale nevěděl jsem jak je správně využít ..

btw mohl bys ještě napsat jak ukládat pvary pomocí qini/dini?


Použiješ GetPVar... ten ti vrátí hodnotu a tu normálně uložíš.


myslíš ..

Kód:
dini_IntSet(cesta,"Petr_AP]",GetPVarInt(playerid,"petrik"));

Kód:
SetPVarInt(playerid,"petrik",dini_Int(cesta,"Petr_AP]"));

_________________
Používejte mozek! Snadněji tak vyřešíte záhadu Schrödingerovy kočky.


Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 13:09:16 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Mort píše:
PeTr_AP] píše:
Mort píše:
hezký, pvary jsem znal už dřív ale nevěděl jsem jak je správně využít ..

btw mohl bys ještě napsat jak ukládat pvary pomocí qini/dini?


Použiješ GetPVar... ten ti vrátí hodnotu a tu normálně uložíš.


myslíš ..

Kód:
dini_IntSet(cesta,"Petr_AP]",GetPVarInt(playerid,"petrik"));

Kód:
SetPVarInt(playerid,"petrik",dini_Int(cesta,"Petr_AP]"));

Jo přesně tak :D

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: stř 24. srp 2011 14:33:09 
Nováček
Nováček
Registrován: pon 02. srp 2010 17:40:36
Příspěvky: 36

Pěkný, ale podle mě je to celkem zbytečný, 90% serverů má ramku přes 2GB, takže nějaké KB tam nejsou rozhodující faktor.


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: čtv 08. zář 2011 16:25:31 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: stř 30. pro 2009 1:00:22
Příspěvky: 99
Bydliště: Slovensko

tak ak je globálna, tak môžem použiť

miesto new DerbyLieder; čo može byť len jeden
a v scripte dať Snt(playerid, "DerbyLieder", 1); čiže to bude mať len jeden hráč ne ?


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: čtv 08. zář 2011 16:42:54 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

j miesto new premena[MAX_PLAYERS]
lenže nevytvoríš 500 ale iba tomu kto tú premenu potrebuje :) npr. pri afk...

_________________
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] Učíme sa pracovať s PVars
PříspěvekNapsal: čtv 08. zář 2011 16:47:22 
Jeffery Wilson "OG LOC"
Jeffery Wilson "OG LOC"
Registrován: pon 10. srp 2009 20:53:11
Příspěvky: 1149

Ty PVary jsou hodně zajímavý, hrozně rád jsem je používal a ne jenom z optimalizačních důvodů.. Mohli by udělat něco podobnýho do IV:MP :problem: Sice to je ve squirrelu úplně o něčem jinym (Nekonečné arraye) ale PVary mi chybí :|


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: čtv 08. zář 2011 17:44:21 
Frank Tempenny
Frank Tempenny
Registrován: sob 10. led 2009 22:02:03
Příspěvky: 1614

Roox píše:
Ty PVary jsou hodně zajímavý, hrozně rád jsem je používal a ne jenom z optimalizačních důvodů.. Mohli by udělat něco podobnýho do IV:MP :problem: Sice to je ve squirrelu úplně o něčem jinym (Nekonečné arraye) ale PVary mi chybí :|

no z optimalizacnich duvodu nic moc sice setri ram ale jsou dvakrat tak pomaly nez obycejna promena... a CPU je precijenom drazsi nez RAM

-- čtv 08. zář 2011 16:54:12 --

Warning píše:
tak ak je globálna, tak môžem použiť

miesto new DerbyLieder; čo može byť len jeden
a v scripte dať Snt(playerid, "DerbyLieder", 1); čiže to bude mať len jeden hráč ne ?

akora ze u
new DerbyLieder;
mas jen jednu promenou PVary se vazi na hrace takze jak si psal toto
Snt(playerid, "DerbyLieder", 1);
(coz by mnelo byt SetPVarInt co ja vim)
tak to nastavis tomu playerid tu hodnotu
a az ji budes potrebovat jak budes vedet kdo ji ma ? A az se odpoji stratis ji.
Je to vlastne nahrada za promene s [MAX_PLAYERS].

_________________
Poděkujte :
Daffymu za ukradení a zveřejnění rze6, rze7, rze7.3, rze7.4
Luk_assovi za cracknuti rze7.3 rze7.4 rze8
Crispemu za to že to luk_assovi zaplatil. A zveřejnil cracklou rze8
cz_dominik007 za to že zveřejnil craknutou rze7.3 rze7.4
Získání rze8 zatím neni úplně jasné bylo to z přestupu z cpor.eu na (stary) xel.cz

play.superparba.eu:7777
http://www.superparba.eu


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] Učíme sa pracovať s PVars
PříspěvekNapsal: čtv 08. zář 2011 20:25:47 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: stř 30. pro 2009 1:00:22
Příspěvky: 99
Bydliště: Slovensko

hm takže mne to tak vadiť nebude ak si spravím vlastný cyklus napr. MAX_SLOT 100, čiže to už bude jedno


Offline
 Profil  
 Předmět příspěvku: Re: [TUT] PVar [**]
PříspěvekNapsal: čtv 03. lis 2011 21:46:06 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

Tut presunutý

_________________
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] PVar [**]
PříspěvekNapsal: úte 03. dub 2012 18:11:27 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

Citace:
Hlavná výhoda je, že neexistujú "prázdne miesta" ktoré "žerú" RAM-ku.
Lebo ak dáte new a[MAX_PLAYERS] = {-1,...}; tak to vytvorí 500 premien s hodnotou -1. A keď máte na servery 5 ľudí, tak aj tak je na servery 500 premien... No pri PVaroch je iba 5. Pretože každému hráčovy vytvorí automaticky vlastnú, a pri odchode ju zmaže (Takže žiadne nulovanie premien v OnPlayerConnect (a DisConnect)).


Rád bych dodal že to co jsme si vždycky mysleli o PVarech zase vyvrátil náš milovaný Y_Less. On totiž zjistil že zabírají 10x více místa než obyčejné proměnné.
Tudíž po tomto odhalení používejte raději obyčejné proměnné, jsou totiž podle mých testů celkem o dost rychlejší.

_________________
Používejte mozek! Snadněji tak vyřešíte záhadu Schrödingerovy kočky.


Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] PVar [**]
PříspěvekNapsal: úte 03. dub 2012 18:45:58 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: úte 02. lis 2010 22:16:14
Příspěvky: 1473
Bydliště: Program Files(x64);

Mort píše:
Citace:
Hlavná výhoda je, že neexistujú "prázdne miesta" ktoré "žerú" RAM-ku.
Lebo ak dáte new a[MAX_PLAYERS] = {-1,...}; tak to vytvorí 500 premien s hodnotou -1. A keď máte na servery 5 ľudí, tak aj tak je na servery 500 premien... No pri PVaroch je iba 5. Pretože každému hráčovy vytvorí automaticky vlastnú, a pri odchode ju zmaže (Takže žiadne nulovanie premien v OnPlayerConnect (a DisConnect)).


Rád bych dodal že to co jsme si vždycky mysleli o PVarech zase vyvrátil náš milovaný Y_Less. On totiž zjistil že zabírají 10x více místa než obyčejné proměnné.
Tudíž po tomto odhalení používejte raději obyčejné proměnné, jsou totiž podle mých testů celkem o dost rychlejší.

Ano to potvrzuju vyvrátil to ale i tak ja s jejich používáním nepřestanu už jsem si zvykl že nemusím newovat jak hnup zbytecne zabirajici radky newama...

_________________
ObrázekObrázekObrázekObrázekObrázek


ObrázekObrázekObrázek

Obrázek

K temné straně Dooku přidal se. Lži, zrada a nedůvěra jsou teď nástroje jeho.


Online
 Profil  
 Předmět příspěvku: Re: [TuT] PVar [**]
PříspěvekNapsal: úte 03. dub 2012 19:19:37 
T - Bone Mendez
T - Bone Mendez
Registrován: pon 10. kvě 2010 16:17:46
Příspěvky: 71

chcem sa spýtať, keď newy zbytočne zaberajú RAM a PVary ktoré majú zaberať menej zaberajú 10-krát toľko, čo sa oplatí používať? Vstavaný SQLite? globálne premenné, alebo predsa len PVary?

_________________
Využívam najpríjemnejšie užívateľské prostredie pre pawn.
Spoiler:
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] PVar [**]
PříspěvekNapsal: úte 03. dub 2012 19:25:48 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

na normálne veci používam obyčajné premeny a pri niečom kde nepotrebujem aby ta premena bola vytvorená stále použijem PVar ;) npr. zistenie vyselektovaného listitemu pre ďalšie práce (npr. Ďalší dialóg a tam nastaviť niečo a podľa hodnoty PVaru zistiť, čo si vybral)

_________________
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] PVar [**]
PříspěvekNapsal: úte 03. dub 2012 19:29:38 
T - Bone Mendez
T - Bone Mendez
Registrován: pon 10. kvě 2010 16:17:46
Příspěvky: 71

no, myslel som si :mrgreen:
a pri systémoch ktoré nesúvisia s hráčmi (domy, vozidlá) a používajú veľké množstvo dát, je lepšie použiť premenné alebo SQLite? (niekde niekto spomínal, že SQLite pri väčšom počte hráčov zblbne)

_________________
Využívam najpríjemnejšie užívateľské prostredie pre pawn.
Spoiler:
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] PVar [**]
PříspěvekNapsal: úte 03. dub 2012 20:18:49 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

áno HP to vravel že to pri 30+ hráčoch pekne laguje (SQLite)

_________________
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  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 27 ] 

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: