Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-08-14, 07:37


macias133







Wiek: 37
Na forum: 6149 dni
Posty: 13

Piwa: 146

Respekt: 50

Cze??, mam pewien problem z wczytywaniem zmiennych.

1. HP zamiast zapisywa? si? 100.0, wpisuje si? 1.000000, dodatkowo ci?gle mnie zabija.
2. Nie wczytuj? mi score oraz kasy przez co zapis niepoprawnie dzia?a.

Tutaj kilka skrawek kodu:

Kod z dialogu rejestracji.
Kod:


new hashpass[129];

WP_Hash(hashpass,sizeof(hashpass),inputtext);

new INI:file = INI_Open(Path(playerid));

INI_SetTag(file,"informacje'o graczu");

INI_WriteString(file,"haslo",hashpass);

INI_WriteInt(file,"admin",0);
INI_WriteInt(file,"virtualworld",0);
INI_WriteInt(file,"licencjaB",0);
INI_WriteInt(file,"licencjaC",0);
INI_WriteInt(file,"licencjaD",0);
INI_WriteInt(file,"licencjaCE",0);
INI_WriteInt(file,"interior",0);
INI_WriteInt(file,"bank",0);
INI_WriteInt(file,"kasa",500);
INI_WriteInt(file,"vip",0);
INI_WriteInt(file,"gamepoints",10);
INI_WriteInt(file,"obecnytowar",0);

INI_WriteFloat(file, "zycie", 100.0);

INI_Close(file);


Przydzielnia zmiennych do gracza:

Kod:


stock setPlayerVariables(playerid)
{
if(E_DATA[playerid][E_USER_LOGGED] == true)
{
GivePlayerMoney(playerid, E_DATA[playerid][E_USER_MONEY]),
SetPlayerScore(playerid, E_DATA[playerid][E_USER_GAME_POINTS]),
SetPlayerInterior(playerid, E_DATA[playerid][E_USER_INTERIOR]),
SetPlayerVirtualWorld(playerid, E_DATA[playerid][E_USER_VIRTUALWORLD]);
if(E_DATA[playerid][E_USER_POS][0] != 0.0 || E_DATA[playerid][E_USER_POS][1] != 0.0 || E_DATA[playerid][E_USER_POS][2] != 0.0)
return SetPlayerPos(playerid, E_DATA[playerid][E_USER_POS][0], E_DATA[playerid][E_USER_POS][1], E_DATA[playerid][E_USER_POS][2]);

SetPlayerHealth(playerid, E_DATA[playerid][E_USER_HEALTH]);
}
return 1;
}


Wczytywanie zmiennych:
Kod:


forward loadaccount_user(playerid, name[], value[]);
public loadaccount_user(playerid, name[], value[])
{
INI_String("haslo", E_DATA[playerid][E_USER_PASS],129);
INI_String("pochodzenie",E_DATA[playerid][E_USER_ORIGIN],64);

INI_Int("kasa",E_DATA[playerid][E_USER_MONEY]);
INI_Int("bank",E_DATA[playerid][E_USER_BANK]);
INI_Int("gamepoints",E_DATA[playerid][E_USER_GAME_POINTS]);
INI_Int("vip",E_DATA[playerid][E_USER_VIP]);
INI_Int("admin",E_DATA[playerid][E_USER_ADMIN]);
INI_Int("interior",E_DATA[playerid][E_USER_INTERIOR]);
INI_Int("virtualworld",E_DATA[playerid][E_USER_VIRTUALWORLD]);
INI_Int("obecnytowar",E_DATA[playerid][E_USER_ARTICLE]);
INI_Int("licencjaB",E_DATA[playerid][E_USER_LICENSE][0]);
INI_Int("licencjaC",E_DATA[playerid][E_USER_LICENSE][1]);
INI_Int("licencjaD",E_DATA[playerid][E_USER_LICENSE][2]);
INI_Int("licencjaCE",E_DATA[playerid][E_USER_LICENSE][3]);


INI_Float("x",E_DATA[playerid][E_USER_POS][0]);
INI_Float("y",E_DATA[playerid][E_USER_POS][1]);
INI_Float("z",E_DATA[playerid][E_USER_POS][2]);
INI_Float("zycie", E_DATA[playerid][E_USER_HEALTH]);

return 1;
}


Plik gracza.
Kod:


[informacje'o graczu]
haslo = 93AECA60C622B16C615B570986A7605B7BC08BE618BF00260D4F5E5B4DD3A4AB381C85CC6FF8D9897F74D062A43CC130990CBECC837BD725998B50922590AD5A
admin = 0
virtualworld = 0
licencjaB = 0
licencjaC = 0
licencjaD = 0
licencjaCE = 0
interior = 0
bank = 0
kasa = 0
vip = 0
gamepoints = 0
obecnytowar = 0
zycie = 1.000000
pochodzenie = Los Angeles
x = 1759.018920
y = -1898.125976
z = 14.059319


Zapis konta.
Kod:


stock saveaccount_user(playerid)
{
if(E_DATA[playerid][E_USER_LOGGED] == true)
{
new INI:file = INI_Open(Path(playerid));

INI_SetTag(file,"informacje'o graczu");

INI_WriteInt(file, "kasa",GetPlayerMoney(playerid));
INI_WriteInt(file, "gamepoints", GetPlayerScore(playerid));
INI_WriteInt(file, "bank",E_DATA[playerid][E_USER_BANK]);
INI_WriteInt(file, "vip",E_DATA[playerid][E_USER_VIP]);
INI_WriteInt(file, "admin",E_DATA[playerid][E_USER_ADMIN]);
INI_WriteInt(file, "interior",GetPlayerInterior(playerid));
INI_WriteInt(file, "virtualworld",GetPlayerVirtualWorld(playerid));
INI_WriteInt(file, "obecnytowar",E_DATA[playerid][E_USER_ARTICLE]);
INI_WriteInt(file, "licencjaB",E_DATA[playerid][E_USER_LICENSE][0]);
INI_WriteInt(file, "licencjaC",E_DATA[playerid][E_USER_LICENSE][1]);
INI_WriteInt(file, "licencjaD",E_DATA[playerid][E_USER_LICENSE][2]);
INI_WriteInt(file, "licencjaCE",E_DATA[playerid][E_USER_LICENSE][3]);

new Float:health;
GetPlayerPos(playerid,E_DATA[playerid][E_USER_POS][0], E_DATA[playerid][E_USER_POS][1], E_DATA[playerid][E_USER_POS][2]),
GetPlayerHealth(playerid, health);
INI_WriteFloat(file, "x",E_DATA[playerid][E_USER_POS][0]);
INI_WriteFloat(file, "y",E_DATA[playerid][E_USER_POS][1]);
INI_WriteFloat(file, "z",E_DATA[playerid][E_USER_POS][2]);
INI_WriteFloat(file, "zycie", health);

INI_Close(file);

E_DATA[playerid][E_USER_LOGGED] = false;
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-14, 10:52


optimus

PawnoMen






Wiek: 27
Na forum: 5613 dni
Posty: 453
Nick w MP: [PMS]ReveresPL

Piwa: 159

Respekt: 59

Ostrzeżeń: 80%
Ja ci radze zmien na dini lun DOF2 i takim systemem sie trzymaj

Podpis
Prpgramujesz w Unity i potrzebujesz pomocy?
|?Zapraszamy na forum Unity?|
http://www.unity3d.ugu.pl
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-14, 11:12


macias133







Wiek: 37
Na forum: 6149 dni
Posty: 13

Piwa: 146

Respekt: 50

Ju? naprawione, wystarczy?o po ko?cu rejestracji wy?wietli? ponownie gui zalogowania i dzia?a.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-08-14, 12:42


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"optimus" napisał/a:

Ja ci radze zmien na dini lun DOF2 i takim systemem sie trzymaj


^ 4 razy wolniej dzia?aj?, nawet nie pozdrawiam.

A przepraszam, ?eby poda? prawdziwe informacje postanowi?em si? upewni?.

yini: 1564
dini: 63810
emu : 27297
SII: 52807

Co w przeliczeniu daje 40.79923273657289 dzia?anie y_ini, kt?rego u?ywa za?o?yciel tematu, od Twojego dini. Co? jeszcze? <3

Postaw piwo autorowi tego posta
 

 
Tagi: wczytywanie :: [y_ini]
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku