Jump to content
  • 0

pomoc Učty na IP


Pavel Tuček

Dotaz

13 odpovědí na tuto otázku

Recommended Posts

  • 0

pri prihlásení hráča zistíš jeho IP. Potom vytvoríš alebo načítaš súbor a pomenuješ ho hráčovou IP. ďalej skontroluješ v súbore či už tam je jeho meno ak nieje tak ho tam dopíšeš. no a potom v príkaze už len otvoríš súbor s IP a zobrazíš tam mená hráčov.

Link to comment
Share on other sites

  • 0

stock Name(playerid)

{

new n[MAX_PLAYER_NAME];

GetPlayerName(playerid, n, MAX_PLAYER_NAME);

return n;

}

 

new bool:IsThere = false;

while(fread(file, string))

{

 if(!strcmp(Name(playerid),string)) {IsThere = true; break;}

}

if(IsThere) // kod sa vykoná ak meno už v subore existuje

Link to comment
Share on other sites

  • 0

Když už..

new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME];

while(fread(file, string))
{
    if(!strcmp(name,string))
    {
        //...
        break;
    }
}

Jinak bych si asi udělal databázi hráčů, kam bych zapisoval jména a IP a pak bych jednoduše vytáhl všechny řádky podle zadané IP..

Link to comment
Share on other sites

  • 0

Když už..

new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME];

while(fread(file, string))
{
    if(!strcmp(name,string))
    {
        //...
        break;
    }
}

Jinak bych si asi udělal databázi hráčů, kam bych zapisoval jména a IP a pak bych jednoduše vytáhl všechny řádky podle zadané IP..

Síce máš pravdu ale uvažoval som kúsok dopredu - pravdepodobne keď tam jeho meno nebude, bude ho chcieť dopísať, nemyslíš?

Link to comment
Share on other sites

  • 0

tak to pak jo, ale nedomyslel si ten stock Name ^^

 prečo? :d ako, je na každého vlastnom rozhodnutí čo bude používať ;) ja som si zvolil používať 1 riadok miesto 2-3 :p

Link to comment
Share on other sites

  • 0

Ehm

stock Name(playerid)
{
    new n[MAX_PLAYER_NAME];
    GetPlayerName(playerid, n, MAX_PLAYER_NAME);
    return n;
}

To je 6 řádků. Moje je na 2.

 

Teď ale k rozdílu. U mého řešení volám funkci GetPlayerName pouze jednou. U tvého řešení to provádím n-krát, kde n se rovná počtu záznamů. Takže čí řešení je lepší? ;)

Edited by Lukasz
Link to comment
Share on other sites

  • 0

Ehm

stock Name(playerid)
{
    new n[MAX_PLAYER_NAME];
    GetPlayerName(playerid, n, MAX_PLAYER_NAME);
    return n;
}

To je 6 řádků. Moje je na 2.

 

Teď ale k rozdílu. U mého řešení volám funkci GetPlayerName pouze jednou. U tvého řešení to provádím n-krát, kde n se rovná počtu záznamů. Takže čí řešení je lepší? ;)

Ak to používaš v móde ... viackrát tak sa ti platí to 6 riadkové ;)

Link to comment
Share on other sites

  • 0

Ne. Zalezi na pouziti. Pokud potrebuji vickrat stejne jmeno, pouziji to moje (tento pripad). Pokud to potrebuji jen jednorazove (napriklad vypsat do chatu jmeno, vypsat do dialogu, cesta souboru atd), tak pak je pohodlnejsi pouzit stock, i tehdy to bude pomalejsi..

Link to comment
Share on other sites

  • 0

Ak to používaš v móde ... viackrát tak sa ti platí to 6 riadkové ;)

~> Pro lenost ano. Ale při každém použití té nové funkce neustále zakládáš novou proměnnou a vracíš jí. Mezitím jakmile jí založíš globálně, tak už jí máš založenou dávno a jen jí přepisuješ podle potřeb.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...