Jump to content
  • 0

pomoc Nefunguje cas


Mivčo

Dotaz

Caute :(

chcem si spravit cas na server že kolko minut som nahral a by to išlo ako na ten sprostej RZE iba mi Zapisuje že 0D 0H 0M a toto mam furt

Help me please :(

+ ked si pridam na servery peniaze co som nahral odhlasim sa yam ked pridem na server mam iba 500 prečo?

enum pInfo
{
pAdminLevel,
pCash,
pScore,
Skin,
Kills,
Deaths,
Days,
Minuts,
Hours,
}

new PlayerInfo[MAX_PLAYERS][pInfo];

forward Cas(playerid);
public Cas(playerid)
{
if(PlayerInfo[playerid][Minuts] > 59)
{
PlayerInfo[playerid][Minuts] = 0;
PlayerInfo[playerid][Hours] ++;
}
if(PlayerInfo[playerid][Hours] > 23)
{
PlayerInfo[playerid][Days]++;
PlayerInfo[playerid][Hours] = 0;
PlayerInfo[playerid][Minuts] = 0;
}
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 1)
{
new name[MAX_PLAYER_NAME], file[256], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), "%s.dof2.sav", name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Text", "bla bla ", "Register", "Exit");
dini_Create(file);
dini_IntSet(file, "Password", udb_hash(inputtext));
dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 500);
dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
dini_IntSet(file, "Skin",PlayerInfo[playerid][skin] = 0);
dini_IntSet(file, "Kills",PlayerInfo[playerid][Kills] = 0);
dini_IntSet(file, "Deaths",PlayerInfo[playerid][Deaths] = 0);
dini_IntSet(file, "Seconds",PlayerInfo[playerid][Days] = 0);
dini_IntSet(file, "Minutes",PlayerInfo[playerid][Minuts] = 0);
dini_IntSet(file, "Hours",PlayerInfo[playerid][Hours] = 0);
format(string, 128, "[sYSTEM]:Uspešne zaregistrovaný tvoje meno je %s a heslo je %s.", name, inputtext);
SendClientMessage(playerid, COLOR_YELLOW, string);
gPlayerLogged[playerid] = 1;
}
if (dialogid == 2)
{
new name[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, name, sizeof(name));
format(file, sizeof(file), "%s.dof2.sav", name);
if(!response) return Kick(playerid);
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Si zaregistrovaný", "Vyborne zaregistrovaný .. pametaj si heslo", "Login", "Leave");
new tmp;
tmp = dini_Int(file, "Password");
if(udb_hash(inputtext) != tmp) {
SendClientMessage(playerid, COLOR_RED, "Zlé heslo.");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Text", "abla bla", "Login", "Exit");
}
else
{
gPlayerLogged[playerid] = 1;
PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
PlayerInfo[playerid][pCash] = dini_Int(file, "Money");
PlayerInfo[playerid][pScore] = dini_Int(file, "Score");
PlayerInfo[playerid][skin] = dini_Int(file, "Skin");
PlayerInfo[playerid][Kills] = dini_Int(file, "Kills");
PlayerInfo[playerid][Deaths] = dini_Int(file, "Deaths");
PlayerInfo[playerid][Days] = dini_Int(file, "Days");
PlayerInfo[playerid][Minuts] = dini_Int(file, "Minuts");
PlayerInfo[playerid][Hours] = dini_Int(file, "Hours");
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
SendClientMessage(playerid,COLOR_RED, "[sYSTEM]:Login prijatý!");
new string[128];
format(string,sizeof(string),"Adminlevel: %d, Money: %d$, Skore: %d",PlayerInfo[playerid][pAdminLevel],GetPlayerMoney(playerid),PlayerInfo[playerid][pScore]);
SendClientMessage(playerid,COLOR_RED,string);
format(string,sizeof(string),"%dD %dH %dM",PlayerInfo[playerid][Days],PlayerInfo[playerid][Hours],PlayerInfo[playerid][Minuts]);
SendClientMessage(playerid,COLOR_RED,string);

}
}
return 1;
}

public OnGameModeInit(){
SetTimer("Cas",1000,true); } return 1; }

Link to comment
Share on other sites

Recommended Posts

  • 0

Nech to skúsi a ptm jak to nepôjde dávam ti voľný priestor :)

Niesom si teraz istý, ale samizdá je v pravidlách že sa nesmie pomáhať ak si niesi istý... (Tým myslím že si to máš prečítať a potom sa vyjadrovať k téme)

 

Ak si prečítaš staršie príspevky nájdeš tam stock GPM ktorý premmennej PlayerInfo[playerid][pCash] nastavuje určitú hodnotu

A ten tvoj disconnect je nanič už len v tom že hráč si môže nacheatovať peniaze...

Dúfam že si to konečne pochopil a prečítaš si to skôr než napíšeš ďalšiu blbosť...

Link to comment
Share on other sites

  • 0

Nejdem sa tu s tebou hádať "určite" máš pravdu :d

Ja ťa nechápem, chceš si nahrabať príspevky alebo čo ? (myslím že ich máš dosť)

Radím mu tu od začiatku a potom sem nabehneš ty, hodíš nezmyselný skript ktorý ho zbytočne pomýli a ešte ideš presviedčať o tom že máš pravdu....

A naviac sa tu hádame kvôli blbosti pretože problém s peniazmi bol vyriešený už dávno (nejaký 15-20 príspevok) a teraz sa tu rieši ukladanie času...

 

Bol by som rád keby sa autor vyjadril či mu funguje ukladanie času, resp. čo to robí.

 

 

 

Ak si sa už stratil v tom čo máš spraviť tu to je :

public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME], file[256];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), "%s.dof2.sav", pname);
if(gPlayerLogged[playerid] == 1)
{
dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
dini_IntSet(file, "Skin",PlayerInfo[playerid][skin]);
dini_IntSet(file, "Kills",PlayerInfo[playerid][Kills]);
dini_IntSet(file, "Days",PlayerInfo[playerid][Days]);
dini_IntSet(file, "Hours",PlayerInfo[playerid][Hours]);
dini_IntSet(file, "Minuts",PlayerInfo[playerid][Minuts]);
}
gPlayerLogged[playerid] = 0;

 

Link to comment
Share on other sites

  • 0

Co takhle to předělat, a ukládat jen sekundy? Myslím, že by to bylo nejen lehčí na konstrukci, ale také lehčí pro server :)

To som mu radil už v inom helpe ale neposlúchol takže to nieje môj problém...

Link to comment
Share on other sites

  • 0

To som mu radil už v inom helpe ale neposlúchol takže to nieje môj problém...

Jelikož by nebyl schopný si to předělat...má jen problémy si vůbec zkopírovat tutorial...

Link to comment
Share on other sites

  • 0

Toto tam máš ?

stock GPM(id,m) // GivePlayerMoney
{
PlayerInfo[id][pCash]+=m; // Ak vyhodí error/warn zmeň na =+ lebo už vážne neviem v akom poradí 
ResetPlayerMoney(id); // Nastavíme zobrazované peniaze na 0 (hore pri HP)
GivePlayerMoney(id,PlayerInfo[id][pCash]); // Nastavíme zobrazované peniaze na aktuálnu hotovosť hráča
return PlayerInfo[id][pCash]; // Vrátime hodnotu peňazí
}

stock GetPM(id,m) // GetPlayerMoney
{
ResetPlayerMoney(id); // Toto tu je už len pre prípad nejakej chyby
GivePlayerMoney(id,PlayerInfo[id][pCash]); // -||-
return PlayerInfo[id][pCash]; // Vrátime hodnotu peňazí
}

 

Daj sem public kde pridávaš čas + všetko čo sa toho týka nebudem od teba zas pýtať 10 vecí...

Link to comment
Share on other sites

  • 0

takto by sme tu boli do večera... nahraj si mód (tým myslím pwn!) na uložto a daj ho na heslo... do SZ mi pošli link, snáď to dokážem opraviť

Že se mu s tím chceš dělat...

  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Že se mu s tím chceš dělat...

 

:d neboj, keď som kukol na ten kód chcel som sa nato vys*ať, ale dajako som to snáď spravil...

Takže zajtra tu bude ďalší help s tým že nechápe čo som mu tam spravil (nevie to použiť :d)

  • Líbí se mi to! (+1) 1
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...