Wysłany: 2015-02-06, 10:16
Avira15
Wiek: 33 Na forum: 4921 dni Posty: 34
Witam !
Posiadam taki forward:
Kod: forward wezglod();
public wezglod()
{
for(new i=0;i<MAX_PLAYERS;i++) {
if(!IsPlayerConnected(i)) continue;
new playerid;
Gracz[i][glod] = Gracz[i][glod] - 2;
Gracz[i][zmeczenie] = Gracz[i][zmeczenie] - 1;
new ss[10];
new s2[10];
format(ss, sizeof(ss), "%d", Gracz[i][glod]);
format(s2, sizeof(s2), "%d", Gracz[i][zmeczenie]);
TextDrawSetString(Glodz[i][0], ss);
TextDrawSetString(Glodz[i][1], s2);
if(Gracz[i][glod] <= 0)
{
SetPlayerHealth(i, 0);
}
if(Gracz[i][zmeczenie] <= 5)
{
SetPlayerDrunkLevel(i, 50000);
}
/*if(Gracz[i][zmeczenie] >= 6)
{
SetPlayerDrunkLevel(i, 0);
}*/
if(Gracz[i][zmeczenie] > 100)
{
Gracz[i][zmeczenie] = 99;
}
if(Gracz[i][glod] > 100)
{
Gracz[i][glod] = 100;
}
}
return 1;
}
Z takim timerem:
Kod: SetTimer("wezglod", 60000, true);
No i dziala, lecz jest problem poniewa? zawsze na start ustawia g?od na 0 i zmeczenie, poniewaz mam zapis dini na playerid, a wczytuje z [i]. Zapis:
Kod: dini_IntSet(string, "glod", Gracz[playerid][glod]);
dini_IntSet(string, "zmeczenie", Gracz[playerid][zmeczenie]);
Dlatego zamiast wczytywac z kont to na 0 ustawia, macie jakis pomysl jak to poprawic ? :C
Dla kazdego posta piwo ! Z gory dzieki !
Pozdrawiam !
Wysłany: 2015-02-06, 14:34
kazami
Pawner/PTG
Wiek: 27 Na forum: 4596 dni Posty: 405
Nick w MP: adi888
Piwa : 43
Jezu -_- to po co dajesz timer jak masz problem z wczytaniem
[ Dodano : 2015-02-06, 14:34 ]
Dawaj stocka z zapisem oraz wczytem
Wysłany: 2015-02-06, 15:03
Avira15
Wiek: 33 Na forum: 4921 dni Posty: 34
Prosze bardzo:
Kod: stock WczytajGracza(playerid)
{
new string[500];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/DT/Gracze/%s.ini",Gname);
//
SetPlayerMoney(playerid, dini_Int(string, "Kasa"));
Gracz[playerid][Plec] = dini_Int(string, "Plec");
Gracz[playerid][Skin] = dini_Int(string, "Skin");
Gracz[playerid][exp] = dini_Int(string, "exp");
Gracz[playerid][RangaAdmina] = dini_Int(string, "Admin");
Gracz[playerid][RangaVIP] = dini_Int(string, "VIP");
//mapojazd[playerid] = dini_Int(string, "mapojazd");
Gracz[playerid][Bank] = dini_Int(string, "Bank");
Gracz[playerid][wedkaz] = dini_Int(string, "wedkaz");
Gracz[playerid][glod] = dini_Int(string, "glod");
Gracz[playerid][raz] = dini_Int(string, "raz");
Gracz[playerid][zmeczenie] = dini_Int(string, "zmeczenie");
Gracz[playerid][gwiazdki] = dini_Int(string, "gwiazdki");
SetPlayerScore(playerid, dini_Int(string, "poziom"));
Gracz[playerid][Dostarczenia] = dini_Int(string, "Dostarczenia");
Gracz[playerid][maban] = dini_Int(string, "maban");
Gracz[playerid][warny] = dini_Int(string, "warny");
//
SetPlayerWantedLevel(playerid, Gracz[playerid][gwiazdki]);
return 1;
}
stock ZapiszGracza(playerid)
{
new string[500];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/DT/Gracze/%s.ini",Gname);
//
dini_IntSet(string, "Kasa", GetPlayerMoney(playerid));
dini_IntSet(string, "Plec", Gracz[playerid][Plec]);
dini_IntSet(string, "Skin", Gracz[playerid][Skin]);
dini_IntSet(string, "exp", Gracz[playerid][exp]);
dini_IntSet(string, "Admin", Gracz[playerid][RangaAdmina]);
dini_IntSet(string, "VIP", Gracz[playerid][RangaVIP]);
//dini_IntSet(string, "mapojazd", mapojazd[playerid]);
dini_IntSet(string, "Bank", Gracz[playerid][Bank]);
dini_IntSet(string, "wedkaz", Gracz[playerid][wedkaz]);
dini_IntSet(string, "glod", Gracz[playerid][glod]);
dini_IntSet(string, "raz", Gracz[playerid][raz]);
dini_IntSet(string, "zmeczenie", Gracz[playerid][zmeczenie]);
dini_IntSet(string, "gwiazdki", Gracz[playerid][gwiazdki]);
dini_IntSet(string, "poziom", GetPlayerScore(playerid));
dini_IntSet(string, "Dostarczenia", Gracz[playerid][Dostarczenia]);
dini_IntSet(string, "maban", Gracz[playerid][maban]);
dini_IntSet(string, "warny", Gracz[playerid][warny]);
//
return 1;
}
Dostajesz piwko
Wysłany: 2015-02-06, 15:42
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Droga na skr?ty; dodaj na ko?cu WczytajGracza "wezglod();".
Wysłany: 2015-02-06, 16:40
Avira15
Wiek: 33 Na forum: 4921 dni Posty: 34
Dziala to, lecz nie dziala cos innego. Oto kod:
Kod: stock Register(playerid,haslo[])
{
new string[500];
new Data[6];
getdate(Data[0], Data[1], Data[2]);
gettime(Data[3], Data[4], Data[5]);
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/DT/Gracze/%s.ini",Gname);
dini_Create(string);
//
dini_Set(string, "Haslo",haslo);
dini_IntSet(string, "Kasa",1000);
dini_IntSet(string, "Plec",0);
dini_IntSet(string, "Skin",44);
dini_IntSet(string, "Admin",0);
dini_IntSet(string, "VIP",0);
dini_IntSet(string, "Policja",0);
dini_IntSet(string, "Pogotowie",0);
dini_IntSet(string, "Straz",0);
dini_IntSet(string, "PomocDrogowa",0);
dini_IntSet(string, "Taxi",0);
dini_IntSet(string, "SanNews",0);
dini_IntSet(string, "DzienRejestracji",Data[2]);
dini_IntSet(string, "MiesiacRejestracji",Data[1]);
dini_IntSet(string, "RokRejestracji",Data[0]);
dini_IntSet(string, "GodninaRejestracji",Data[3]);
dini_IntSet(string, "MinutaRejestracji",Data[4]);
dini_IntSet(string, "zmeczenie", 100);
dini_IntSet(string, "glod", 100);
ZapiszGracza(playerid);
format(string, sizeof(string), "{5FFB17}Konto zostalo pomyslnie zalozone !\n\n{FFFFFF}Teraz czas na wybranie plci, jaka bedziesz gral.\nJestes {5FFB17}Mezczyzna{FFFFFF} czy {5FFB17}Kobieta{FFFFFF}?");
ShowPlayerDialog(playerid, GUI_PLEC, DIALOG_STYLE_MSGBOX, "{5FFB17}Rejestracja", string, "Mezczyzna", "Kobieta");
return 1;
}
stock WczytajGracza(playerid)
{
new string[500];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/DT/Gracze/%s.ini",Gname);
//
SetPlayerMoney(playerid, dini_Int(string, "Kasa"));
Gracz[playerid][Plec] = dini_Int(string, "Plec");
Gracz[playerid][Skin] = dini_Int(string, "Skin");
Gracz[playerid][exp] = dini_Int(string, "exp");
Gracz[playerid][RangaAdmina] = dini_Int(string, "Admin");
Gracz[playerid][RangaVIP] = dini_Int(string, "VIP");
//mapojazd[playerid] = dini_Int(string, "mapojazd");
Gracz[playerid][Bank] = dini_Int(string, "Bank");
Gracz[playerid][wedkaz] = dini_Int(string, "wedkaz");
Gracz[playerid][glod] = dini_Int(string, "glod");
Gracz[playerid][raz] = dini_Int(string, "raz");
Gracz[playerid][zmeczenie] = dini_Int(string, "zmeczenie");
Gracz[playerid][gwiazdki] = dini_Int(string, "gwiazdki");
SetPlayerScore(playerid, dini_Int(string, "poziom"));
Gracz[playerid][Dostarczenia] = dini_Int(string, "Dostarczenia");
Gracz[playerid][maban] = dini_Int(string, "maban");
Gracz[playerid][warny] = dini_Int(string, "warny");
//
SetPlayerWantedLevel(playerid, Gracz[playerid][gwiazdki]);
wezglod();
return 1;
}
stock ZapiszGracza(playerid)
{
new string[500];
new Gname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Gname, sizeof(Gname));
format(string, sizeof(string), "/DT/Gracze/%s.ini",Gname);
//
dini_IntSet(string, "Kasa", GetPlayerMoney(playerid));
dini_IntSet(string, "Plec", Gracz[playerid][Plec]);
dini_IntSet(string, "Skin", Gracz[playerid][Skin]);
dini_IntSet(string, "exp", Gracz[playerid][exp]);
dini_IntSet(string, "Admin", Gracz[playerid][RangaAdmina]);
dini_IntSet(string, "VIP", Gracz[playerid][RangaVIP]);
//dini_IntSet(string, "mapojazd", mapojazd[playerid]);
dini_IntSet(string, "Bank", Gracz[playerid][Bank]);
dini_IntSet(string, "wedkaz", Gracz[playerid][wedkaz]);
dini_IntSet(string, "glod", Gracz[playerid][glod]);
dini_IntSet(string, "raz", Gracz[playerid][raz]);
dini_IntSet(string, "zmeczenie", Gracz[playerid][zmeczenie]);
dini_IntSet(string, "gwiazdki", Gracz[playerid][gwiazdki]);
dini_IntSet(string, "poziom", GetPlayerScore(playerid));
dini_IntSet(string, "Dostarczenia", Gracz[playerid][Dostarczenia]);
dini_IntSet(string, "maban", Gracz[playerid][maban]);
dini_IntSet(string, "warny", Gracz[playerid][warny]);
//
return 1;
}
Podczas rejestracji nowy gracz otrzymuje wszystko od poprzedniego gracza na serwerze opr?cz Nicku.
Czym to mo?e by? spowodowane ?
Wysłany: 2015-02-06, 17:19
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Nie resetujesz zmiennych => "Gracz"
Wysłany: 2015-02-06, 17:21
Avira15
Wiek: 33 Na forum: 4921 dni Posty: 34
Moglbys to pokazac na moim przykladzie jak zresetowac taka zmienna ?
Dostajesz piwo
Wysłany: 2015-02-06, 17:25
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Wole respekt.
Kod: Gracz[playerid][Plec] = 0;
Gracz[playerid][Skin] = 1;
Gracz[playerid][exp] = 0;
Gracz[playerid][RangaAdmina] = 0;
Gracz[playerid][RangaVIP] = 0;
Gracz[playerid][Bank] = 0;
Gracz[playerid][wedkaz] = 0;
Gracz[playerid][glod] = 0;
Gracz[playerid][raz] = 0;
Gracz[playerid][zmeczenie] = 0;
Gracz[playerid][gwiazdki] = 0;
SetPlayerScore(playerid, 0);
Gracz[playerid][Dostarczenia] = 0;
Gracz[playerid][maban] = 0;
Gracz[playerid][warny] = 0;
Wysłany: 2015-02-06, 17:30
Avira15
Wiek: 33 Na forum: 4921 dni Posty: 34
Jak rozumiem mam to wstawic do register zamiast aktualnych wartosci ?
Niestety aby dac respekt musze miec 30 postow, bo juz probowalem Tb dac
Wysłany: 2015-02-06, 17:32
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
"Avira15" napisał/a :Jak rozumiem mam to wstawic do register zamiast aktualnych wartosci ?
Niestety aby dac respekt musze miec 30 postow, bo juz probowalem Tb dac
Najlepiej ?eby resetowanie zmiennych odbywa?o si? przy wej?ciu, b?d? wyj?ciu gracza z serwera - zale?y od typu zmiennych i ich zapotrzebowania w danej chwili.
Wysłany: 2015-02-06, 17:48
Avira15
Wiek: 33 Na forum: 4921 dni Posty: 34
Wszystko dziala, wielkie dzieki, mozna zamknac
Wysłany: 2015-02-06, 19:25
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Tagi: forward :: settimer
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: