stats paracs

Indította vargakrisztianozd, 2013. augusztus 17. - 13:17:28

Előző téma - Következő téma

vargakrisztianozd

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!

Zalakaka45

#1
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_TopicSzerintem 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...

vargakrisztianozd

#2
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?

Zalakaka45

#3
Idézetet írta: vargakrisztianozd date=1376758463\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_TopicKö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?

vargakrisztianozd

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.

Zalakaka45

Idézetet írta: vargakrisztianozd date=1376760792\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_TopicD:\\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);

vargakrisztianozd

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?

Zalakaka45

Idézetet írta: vargakrisztianozd date=1376812366\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41461\" data-ipsquote-contentclass=\"forums_TopicKö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.

Fl0rian

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)

vargakrisztianozd

Fl0rian
Ezt kifejtenéd bõvebben? Addig megvan hogy csináltam 1 Timert és mindig hozzáad 1-et de utána megakadtam.

BoOy

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;
}

vargakrisztianozd

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.

akosd127

new EltoltottIdo[MAX_PLAYERS];

BoOy

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;
}

vargakrisztianozd

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.