Jump to content
  • 0

pomoc Ukladani domu


Guest Winaso

Dotaz

Ahoj omlouvám se jestly uz to tu nekde je ale já bych potreboval pomoct s tím že když si koupim DUM a odhlásím se a prihlasim se tak dum uz nemám díky za odpovědi :)) :v:

Link to comment
Share on other sites

8 odpovědí na tuto otázku

Recommended Posts

  • 0

Jéžiš ty si ... kvůli jednej blbosti sis založil novej účet "lol" ok zkusím ti to poradit.

Podle mě je nejlepší to ukládat do uživatelova profilu. že uložíš jen HouseID

Link to comment
Share on other sites

  • 0

:) no toto by sa zišlo aj mne :oops:

Jéžiš ty si ... kvůli jednej blbosti sis založil novej účet "lol" ok zkusím ti to poradit.

Podle mě je nejlepší to ukládat do uživatelova profilu. že uložíš jen HouseID

ale ja by som rad vedel že jak to spraviť :eh: "scratch" :klidek:
Link to comment
Share on other sites

  • 0

OK nejsem robot kterej tu bude tupě cvakat kód do vašich prázdných hlaviček. Zkusím vám to vysvětlit teoreticky.

 

Hráč se připojí na server, nemá dům koupený takže v jeho uživatelské složce budou jenom základní info.

potom hráč vejde do pickupu a koupí dům, odečte mu to peníze a nastaví mu to dumID[playerid] = 5; // dům na pláži

potom hraje spokojeně dál dokud ho nějaká bu*na nenasere a on se neodpojí ze serveru. V tu chvíli je tu opět náš public OnPlayerDisconnect.

V něm budeme mít kód, který uloží hráčovi informace do jeho Uživatelského souboru, mezi tyto informace bude patřit i dumID, který se do souboru zapíše jako dum = 5.

dUserSetINT(promennajmena(playerid)).("dum",dumID[playerid]);

Tak máme zapsáno, po tom co se hráč uklidní, vrátí se na server. V tu chvíli přichází naš public OnPlayerConnect ve kterém se načítají informace z uživateova souboru, mezi nimi je i dumID[playerid] = dUserINT(promennajmena(playerid)).("dum");

No a hráč má dům :-)

Link to comment
Share on other sites

  • 0

kdyz uz mam tak prazdnou hlavu tak ok skus se podivat na ten tut jak na dum nato skurveny MDUM1a a jak by si to udelal stim co? naco tam pak teda mas vlastnika mdum1a kdyz musis delat novy DUMid musi to jit nejak ze zakladniho kodu to by tam pak nemuselo ani byt...jinak diky za pomoc asi jiny zpusob nezbyde

Link to comment
Share on other sites

  • 0

V opačném případě si Vytvoříš složku ve scriptfiles např "Houses" a v ní soubor "houses.hs". No protože se mi nechce dělat podmínky if exist a takový kraviny dám sem rovnou funkci pro práci

stock FGet(filename[],key[]) {
new tmpres[MAX_STRING];

new key_length = strlen(key);
if (key_length==0 || key_length+2>MAX_STRING) return tmpres;

new File:fohnd;
fohnd=fopen(filename,io_read);
if (!fohnd) return tmpres;

while (fread(fohnd,tmpres)) {
	if (
		tmpres[key_length]=='='
		&& !strcmp(tmpres, key, true, key_length)
	) {
		StripNewLine(tmpres);
		strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), MAX_STRING);
		fclose(fohnd);
		return tmpres;
	}
}
fclose(fohnd);
return tmpres;
}
stock StripNewLine(string[]) {
new len = strlen(string);
if (string[0]==0) return ;
if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
	string[len - 1] = 0;
	if (string[0]==0) return ;
	if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
}
}

ok funkce a potom zapisuješ informace o domu pomocí fwrite do toho souboru "Houses.hs"

no a potom to načteš třeba

stock load(playerid, name_load[], name_line[]){
   new prm[255];
   format(prm, sizeof(prm), "Houses/Houses.hs");
   format(name_load[playerid],255,"%s", FGet(prm,name_line));
}

Já tohle používám, nechce se mi srát s kódem to už si snad zváldneš dodělat

Link to comment
Share on other sites

  • 0
V opačném případě si Vytvoříš složku ve scriptfiles např "Houses" a v ní soubor "houses.hs". No protože se mi nechce dělat podmínky if exist a takový kraviny dám sem rovnou funkci pro práci

stock FGet(filename[],key[]) {
new tmpres[MAX_STRING];

new key_length = strlen(key);
if (key_length==0 || key_length+2>MAX_STRING) return tmpres;

new File:fohnd;
fohnd=fopen(filename,io_read);
if (!fohnd) return tmpres;

while (fread(fohnd,tmpres)) {
	if (
		tmpres[key_length]=='='
		&& !strcmp(tmpres, key, true, key_length)
	) {
		StripNewLine(tmpres);
		strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), MAX_STRING);
		fclose(fohnd);
		return tmpres;
	}
}
fclose(fohnd);
return tmpres;
}
stock StripNewLine(string[]) {
new len = strlen(string);
if (string[0]==0) return ;
if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
	string[len - 1] = 0;
	if (string[0]==0) return ;
	if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
}
}

ok funkce a potom zapisuješ informace o domu pomocí fwrite do toho souboru "Houses.hs"

no a potom to načteš třeba

stock load(playerid, name_load[], name_line[]){
   new prm[255];
   format(prm, sizeof(prm), "Houses/Houses.hs");
   format(name_load[playerid],255,"%s", FGet(prm,name_line));
}

Já tohle používám, nechce se mi srát s kódem to už si snad zváldneš dodělat

 

Díky za pomoc... :):v:

Link to comment
Share on other sites

  • 0

V opačném případě si Vytvoříš složku ve scriptfiles např "Houses" a v ní soubor "houses.hs". No protože se mi nechce dělat podmínky if exist a takový kraviny dám sem rovnou funkci pro práci

stock FGet(filename[],key[]) {
new tmpres[MAX_STRING];

new key_length = strlen(key);
if (key_length==0 || key_length+2>MAX_STRING) return tmpres;

new File:fohnd;
fohnd=fopen(filename,io_read);
if (!fohnd) return tmpres;

while (fread(fohnd,tmpres)) {
	if (
		tmpres[key_length]=='='
		&& !strcmp(tmpres, key, true, key_length)
	) {
		StripNewLine(tmpres);
		strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), MAX_STRING);
		fclose(fohnd);
		return tmpres;
	}
}
fclose(fohnd);
return tmpres;
}
stock StripNewLine(string[]) {
new len = strlen(string);
if (string[0]==0) return ;
if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
	string[len - 1] = 0;
	if (string[0]==0) return ;
	if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
}
}

ok funkce a potom zapisuješ informace o domu pomocí fwrite do toho souboru "Houses.hs"

no a potom to načteš třeba

stock load(playerid, name_load[], name_line[]){
   new prm[255];
   format(prm, sizeof(prm), "Houses/Houses.hs");
   format(name_load[playerid],255,"%s", FGet(prm,name_line));
}

Já tohle používám, nechce se mi srát s kódem to už si snad zváldneš dodělat

Nekecej že tohle si tet psal ty ? :d

Link to comment
Share on other sites

  • 0

V opačném případě si Vytvoříš složku ve scriptfiles např "Houses" a v ní soubor "houses.hs". No protože se mi nechce dělat podmínky if exist a takový kraviny dám sem rovnou funkci pro práci

stock FGet(filename[],key[]) {
new tmpres[MAX_STRING];

new key_length = strlen(key);
if (key_length==0 || key_length+2>MAX_STRING) return tmpres;

new File:fohnd;
fohnd=fopen(filename,io_read);
if (!fohnd) return tmpres;

while (fread(fohnd,tmpres)) {
	if (
		tmpres[key_length]=='='
		&& !strcmp(tmpres, key, true, key_length)
	) {
		StripNewLine(tmpres);
		strmid(tmpres, tmpres, key_length + 1, strlen(tmpres), MAX_STRING);
		fclose(fohnd);
		return tmpres;
	}
}
fclose(fohnd);
return tmpres;
}
stock StripNewLine(string[]) {
new len = strlen(string);
if (string[0]==0) return ;
if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
	string[len - 1] = 0;
	if (string[0]==0) return ;
	if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
}
}

ok funkce a potom zapisuješ informace o domu pomocí fwrite do toho souboru "Houses.hs"

no a potom to načteš třeba

stock load(playerid, name_load[], name_line[]){
   new prm[255];
   format(prm, sizeof(prm), "Houses/Houses.hs");
   format(name_load[playerid],255,"%s", FGet(prm,name_line));
}

Já tohle používám, nechce se mi srát s kódem to už si snad zváldneš dodělat

Nekecej že tohle si tet psal ty ? :d

Ten FGet je předělanej z dutils nebo tak.... Ale je to použitelný normálně jsem to používat takže funguje ;)

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...