GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: vargakrisztianozd - 2013. augusztus 17. - 13:17:28

Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 17. - 13:17:28
Sziasztok azt szeretném megkérdezni hogy lehet /stats parancsot készíteni. Vagyis hogy valaki beírja hogy /stats és oda kiírja az adatait.
Elõre is köszi!
Cím: stats paracs
Írta: Zalakaka45 - 2013. augusztus 17. - 17:59:07
Helló! Ha beirod a /stats parancsot akkor ezek játszódnak le:
PL: Név lekérése
készitesssz egy: new neve[MAX_PLAYER_NAME];
készitess egy kijelzést is: new kijelzes[256];
utána létrehozod hogy lekérje a nevét: GetPlayerName(playerid, neve, sizeof(neve));
ez határozza meg a nevét: format(kijelzes, sizeof(kijelzes), \"Neved: %s\", neve);
és végül az ami elküldi a gyereknek: SendClientMessage(playerid, szin, format);
és lezárjuk: return 1;
és végül igy néz ki:
 

if (strcmp(\"/stats\", cmdtext, true, 10) == 0)
{
new neve[MAX_PLAYER_NAME];
new kijelzes[256];
GetPlayerName(playerid, neve, sizeof(neve));
format(kijelzes, sizeof(kijelzes), \"Neved: %s\", neve);
SendClientMessage(playerid, szin, format);
return 1;
}

 
Ha mindent jól csináltam akkor mûködik! A többivel is ugyan igy kell, persze van amelyknél nehezebb! Ha nem mûküdik akkor szolj! Üdv: Zalakaka45

Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 17. - 18:00:43 )

Idézetet írta: Havier date=1376750390\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_Topic
Szerintem nem is annyira nehéz :)
Csak annyi hogy készítesz/letöltesz egy stats parancsot, aztán azt megcsinálod úgy hogy elmentse dinibe.
 
??? Hogy a parancsot elmentse dinibe? A gyerek azt kérte hogyha egy gyerek beirja /stats akkor kiirja az adatait... Figyelj máskor oda...
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 17. - 18:54:23
Kössz mndenkinek  kipróbálom.

Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 17. - 19:01:53 )

Akkor ezt most Gamemode-ba kell vagy nyissak egy új Filterscriptet?
Cím: stats paracs
Írta: Zalakaka45 - 2013. augusztus 17. - 19:05:29
Idézetet írta: vargakrisztianozd date=1376758463\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_Topic
Kössz mndenkinek  kipróbálom.

Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 17. - 19:01:53 )

Akkor ezt most Gamemode-ba kell vagy nyissak egy új Filterscriptet?
 
Ezt a GameMode ba illeszt be, keress rá hogy: OnPlayerCommandText
Utána ott van a többi parancs is, és pl vna hogy OnPlayerCOmmandText... { és akk ennek a jel után berakhatod, de vigyázz hogy a következõ parancsal ne keveredjen!

Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 17. - 19:09:26 )

Szolj ha megvan, és mûködik.

Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 17. - 19:14:53 )

Nah?
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 17. - 19:33:12
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(83) : error 076: syntax error in the expression, or invalid function call
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
SendClientMessage(playerid, zold, format);      Ez a 83-as sor.
Cím: stats paracs
Írta: Zalakaka45 - 2013. augusztus 17. - 20:20:11
Idézetet írta: vargakrisztianozd date=1376760792\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_Topic
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(83) : error 076: syntax error in the expression, or invalid function call
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Error.
SendClientMessage(playerid, zold, format);      Ez a 83-as sor.
 
Azt a SendClientMessage-t cseréld ki erre:
 
SendClientMessage(playerid, zold, kijelzes);
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 18. - 09:52:46
Kössz a Segítésget sikerült. Még annyit kérdeznékhogy lehet az idõt beállítani mert nekem csak annyit ír ki hogy \"Szerveren eltöltött idõ 1\" Ez miért lehet?
Cím: stats paracs
Írta: Zalakaka45 - 2013. augusztus 18. - 12:01:40
Idézetet írta: vargakrisztianozd date=1376812366\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_Topic
Kössz a Segítésget sikerült. Még annyit kérdeznékhogy lehet az idõt beállítani mert nekem csak annyit ír ki hogy \"Szerveren eltöltött idõ 1\" Ez miért lehet?
 
Hú, ez nekem kicsit magas, viszont úgy gondolom meglehetne csinálni hogy dinivel létrehozol egy valamit hogy pl a neve legyen Ido: és akkor oda folyamatosan mentené az összes percet amit játszott és utána lekéreted vele hogy mennyit játszott. De ezt szerintem nyisd külön témába. Nem akarok kéregetni de az elõzõ segitségemér kaphatok 1 +? Van ott hogy felfele meg lefele mutat az ujjával, és nyom meg a felfele.
Cím: stats paracs
Írta: Fl0rian - 2013. augusztus 18. - 12:13:59
Játszott idõ mérése:
1. :
Connectnél indíts egy egy másodperces timert, a játszott másodperceihez mindig adj hozzá egyet.
Ha eléri a játszott MP a 60-at akkor nullázod, és hozzáadsz egyet a játszott percekhez.
Ha a játszott perc 60, akkor lenullázod és az óra + 1.
Ezt mentheted akár óraugrásnál, akor disconnectnél, aminél akarod.
2. :
Connectnél leméred mikor csatlakozott, disconnectnél pedig az akkori idõbõl kivonod a connect idõt.
Megkapod hogy mennyit játszott.
/stats-nál meg egyszerûen kiiratod. (%02d:%02d:%02d - Óra, Perc, M.Perc)
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 18. - 13:27:25
Fl0rian
Ezt kifejtenéd bõvebben? Addig megvan hogy csináltam 1 Timert és mindig hozzáad 1-et de utána megakadtam.
Cím: stats paracs
Írta: BoOy - 2013. augusztus 18. - 15:34:44
Tessék:
d[playerid][0] = másodperc
d[playerid][1] = perc
d[playerid][2] = óra
 
new d[MAX_PLAYERS][3];
public OnPlayerConnect(playerid)
{
EltoltottIdo[playerid] = SetTimerEx(\"Szamlalo\",1000,1,\"i\",playerid);
SetTimerEx(\"Kiiras\",randomEx(350000,600000),1,\"i\",playerid);
}
public Szamlalo(playerid)
{
d[playerid][0]++;
if(d[playerid][0] == 60)
{
    d[playerid][0] = 0;
    d[playerid][1]++;
}
if(d[playerid][1] == 60)
{
d[playerid][0] = 0;
    d[playerid][1] = 0;
    d[playerid][2]++;
}
return 1;
}
public Kiiras(playerid)
{
new string[256];
format(string,sizeof(string),\"A Szerveren eltöltött idõd: %02i óra,%02i perc,%02i másodperc\",d[playerid][2],d[playerid][1],d[playerid][0]);
SendClientMessage(playerid,-1,string);
return 1;
}
stock randomEx(min, max)
{
    //Credits to y_less
    new rand = random(max-min)+min;
    return rand;
}
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 18. - 16:27:10
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(58) : error 017: undefined symbol \"EltoltottIdo\"
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(58) : warning 215: expression has no effect
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(58) : error 001: expected token: \";\", but found \"]\"
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(58) : error 029: invalid expression, assumed zero
D:\\gta san andreas\\myszerver\\gamemodes\\gyakorlás.pwn(58) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
4 Errors.
Ezt írja ki.
Cím: stats paracs
Írta: akosd127 - 2013. augusztus 18. - 16:51:42
new EltoltottIdo[MAX_PLAYERS];
Cím: stats paracs
Írta: BoOy - 2013. augusztus 18. - 17:11:44
Hopp a kill timeres részt is kihagytam  :whistle:
Na fullosan így néz ki:
 
new d[MAX_PLAYERS][3];
new EltoltottIdo[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
        EltoltottIdo[playerid] = SetTimerEx(\"Szamlalo\",1000,1,\"i\",playerid);
        SetTimerEx(\"Kiiras\",randomEx(350000,600000),1,\"i\",playerid);
}
public OnPlayerDisconnect(playerid)
{
KillTimer(EltoltottIdo[playerid]);
}
public Szamlalo(playerid)
{
        d[playerid][0]++;
        if(d[playerid][0] == 60)
        {
            d[playerid][0] = 0;
            d[playerid][1]++;
        }
        if(d[playerid][1] == 60)
        {
                d[playerid][0] = 0;
            d[playerid][1] = 0;
            d[playerid][2]++;
        }
        return 1;
}
public Kiiras(playerid)
{
        new string[256];
        format(string,sizeof(string),\"A Szerveren eltöltött idõd: %02i óra,%02i perc,%02i másodperc\",d[playerid][2],d[playerid][1],d[playerid][0]);
        SendClientMessage(playerid,-1,string);
        return 1;
}
stock randomEx(min, max)
{
    //Credits to y_less
    new rand = random(max-min)+min;
    return rand;
}
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 18. - 18:20:40
C:\\Program Files\\Rockstar Games\\gamemodes\\saját.pwn(63) : warning 235: public function lacks forward declaration (symbol \"Szamlalo\")
C:\\Program Files\\Rockstar Games\\gamemodes\\saját.pwn(80) : warning 235: public function lacks forward declaration (symbol \"Kiiras\")
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
2 Warnings.
Most Ezt írja.
Cím: stats paracs
Írta: BoOy - 2013. augusztus 18. - 18:35:20
..... meleg van bocsi.
 
new d[MAX_PLAYERS][3];
new EltoltottIdo[MAX_PLAYERS];
forward Szamlalo(playerid);
forward Kiiras(playerid);
public OnPlayerConnect(playerid)
{
        EltoltottIdo[playerid] = SetTimerEx(\"Szamlalo\",1000,1,\"i\",playerid);
        SetTimerEx(\"Kiiras\",randomEx(350000,600000),1,\"i\",playerid);
}
public OnPlayerDisconnect(playerid)
{
        KillTimer(EltoltottIdo[playerid]);
}
public Szamlalo(playerid)
{
        d[playerid][0]++;
        if(d[playerid][0] == 60)
        {
            d[playerid][0] = 0;
            d[playerid][1]++;
        }
        if(d[playerid][1] == 60)
        {
                d[playerid][0] = 0;
            d[playerid][1] = 0;
            d[playerid][2]++;
        }
        return 1;
}
public Kiiras(playerid)
{
        new string[256];
        format(string,sizeof(string),\"A Szerveren eltöltött idõd: %02i óra,%02i perc,%02i másodperc\",d[playerid][2],d[playerid][1],d[playerid][0]);
        SendClientMessage(playerid,-1,string);
        return 1;
}
stock randomEx(min, max)
{
    //Credits to y_less
    new rand = random(max-min)+min;
    return rand;
}
Cím: stats paracs
Írta: vargakrisztianozd - 2013. augusztus 19. - 19:03:36
Kössz a segítséget sikerült megy a + ;)
[mod]Megkérnék minden kedves témanyitót, ha kérdésére/kérésére választ kapott, akkor legyen szíves használni, a \"Téma megoldva\" funkciót![/mod]