Jump to content
  • 0

pomoc Crash hry


ForestCZE

Dotaz

Zdravím, tak jsem tu zase a dost zoufalý. Když zapnu server a poprvé přijdu na server, tak po spawnutí crashne hra. Jakmile přijdu znovu  a server zůstane zapnutý, po spawnutí normálně hraju a žádný crash. Absolutně to nechápu. Kdyby to crashovalo pořád, tak je asi chyba v módu, ale takhle?

 

Crash message:

 

SA-MP 0.3.7-R2
Exception At Address: 0x005E5815
Base: 0x06A70000

Registers:
EAX: 0x00000000	EBX: 0x47C34F00	ECX: 0x00000000	EDX: 0x00003F80
ESI: 0x10BC6B60	EDI: 0x06100000	EBP: 0x00000100	ESP: 0x0177FC40
EFLAGS: 0x00210246

Stack:
+0000: 0x14EF8F70   0x06100000   0x10BC6B60   0x47C34F00
+0010: 0x00000000   0x00000000   0x00000000   0x00000001
+0020: 0x00000000   0x00000000   0x6DB3C00B   0x307C13D6
+0030: 0x3037C782   0x3FEFFADB   0x10BC6B60   0x00829B97
+0040: 0xE0000000   0x3FEFFB19   0xE0000000   0x3FF0CCCC
+0050: 0x00000100   0x0177FD7C   0x0083D978   0xFFFFFFFF
+0060: 0x005E92CD   0x00001091   0x10BC6B60   0x0177FD8C
+0070: 0x00000000   0x06101000   0x06B0ACB3   0x0177FCC0
+0080: 0xBF3C08A9   0x0060EB2B   0x0060EB72   0x10B9A460
+0090: 0x10BC6B60   0x0177FD8C   0x00000000   0x0177FD28
+00A0: 0x00000000   0x00000000   0x3F800000   0x10BC6B60
+00B0: 0x44FD6258   0xC4B1AC30   0x418A2D5D   0x10BC6B60
+00C0: 0x071E3DA0   0x0177FD7C   0x06B3E8EB   0xFFFFFFFF
+00D0: 0x06B0E0B0   0x10B9A460   0x10BC6B60   0x0177FD8C
+00E0: 0x0177FD34   0x00000800   0x082000A1   0x10BC6B60
+00F0: 0x0086D168   0x00568642   0x00000001   0xAE030D00
+0100: 0x00000099   0x0053C09A   0x0000001A   0xFFFFFFFF
+0110: 0x00000000   0x27FC62DE   0x06AD4506   0xFFFFFFFF
+0120: 0x06B0DBDE   0x0000001A   0xAE028AD0   0x00000000
+0130: 0x16494B80   0x0177FD64   0x0177F604   0x0177FF70
+0140: 0x06B25F34   0x06B4A688   0x00000002   0x7541DEE0
+0150: 0x0053E986   0x00000001   0x00000000   0x00000001
+0160: 0x0053ECC2   0x00000001   0x00619B71   0x0000001A
+0170: 0x00000001   0x00000001   0x0000000A   0x00748DA0
+0180: 0x0000001A   0x00000001   0x74AF4FB0   0x00000000
+0190: 0x0177FF80   0x002EC000   0x01828CBE   0x4F2E0277
+01A0: 0x073F0330   0x00000008   0x00000100   0x00000008
+01B0: 0x00000102   0x43C80000   0x43960000   0x00000000
+01C0: 0x00000000   0x00000320   0x00000258   0x00000000
+01D0: 0x00000001   0x0010017C   0x00000200   0x00000000
+01E0: 0x012C0190   0x000B6183   0x00000190   0x0000012C
+01F0: 0x0000002C   0x7451A8BF   0x00825EA4   0x0177FF70
+0200: 0x00825EA4   0x00000000   0x002EC000   0x00821D17
+0210: 0x00821D27   0xE195367C   0x0177FF80   0x008246F1
+0220: 0x00400000   0x00000000   0x03C76DEB   0x0000000A
+0230: 0x00000094   0x00000004   0x0000000A   0x040A08AE
+0240: 0x00000001   0x00000000   0x00000000   0x00000000
+0250: 0x00000000   0x00000000   0x00000000   0x00000000
+0260: 0x00000000   0x00000000   0x00000000   0x00000000
+0270: 0x00000000   0x00000000   0x00000000   0x00000000

SCM Op: 0x77E, lDbg: 0 LastRendObj: 1226

Game Version: US 1.0

State Information: Ped Context: 0

Zachrání mě někdo prosím? Díky

 

EDIT: Zakomentoval jsem vše v OnPlayerSpawn a hra necrashuje. Takže beru zpět a přece jen je asi chyba v módu...

EDIT2: Tak jo, už vím, jak to je. Při přihlášení si načítám skin z proměnné a v OnPlayerSpawn mám:

SetPlayerSkin(playerid, skin[playerid]);

Takže na začátku si vyberu třeba CJe ID 0 a po spawnu se mi načte například holka ID 193. Problém je v tom, že po smrti se mi načte zpět skin, který jsem si vybral na začátku, tedy CJ ID 0. Zajímavost na tom je ta, že když mi to vrátí toho CJe a nechám si vypsat aktuální skin, tak mám 193. Z toho plyne, že je to jako kdyby nějaký bug ve vykreslení nebo co. No a tak jsem na prasáka do OnPlayerSpawn dal:

SetPlayerSkin(plaayerid, GetPlayerSkin(playerid));

Abych si jakože jenom zaktualizoval postavu. A to mi crashuje hru... Netuším, jak z toho ven...

Edited by ForestCZE
Crash odhalen
Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0
před 10 minutami, RmT_Kjuba said:

Tak aspoň sis to sám vyřešil :d to se stává často že nato člověk přijde až když s tím chce pomoct :d Jeden den do toho koukáš a pak nato druhý den koukneš a hned vidíš chybu :d aspoň že sem ti dal vodítko kde je chyba :)

Jo, díky :-)

 

Podělím se teda ještě o řešení, snad dává smysl :)

public OnPlayerSpawn(playerid)
{
    ...

	if(spawned[playerid] == false)
	{
		...
		spawned[playerid] = true;
	}

	if(isskinset[playerid] == false)
	{
		skin[playerid] = GetPlayerSkin(playerid);
		isskinset[playerid] = true;
	}
	else
	{
		SetPlayerSkin(playerid, skin[playerid]);
	}
	return 1;
}

 

Link to comment
Share on other sites

  • 0
před 9 hodinami, RmT_Kjuba said:

Ukaž ukládání proměnné skin[playerid] a public OnPlayerSpawn

Už to funguje, jsem vůl. Až jak jsi napsal, ať pošlu OnPlayerSpawn, tak jsem se na něj ještě jednou podíval. Ale když už jsem tu začal, tak vysvětlím, o co šlo.

 

Registrace:

DOF2_SetBool(file, "isskinset", false);
DOF2_SetInt(file, "skin", 0);

Ukládání:

DOF2_SetBool(file, "isskinset", isskinset[playerid]);
DOF2_SetInt(file, "skin", GetPlayerSkin(playerid));

Načítání:

isskinset[playerid] = DOF2_GetBool(file, "isskinset");
skin[playerid] = DOF2_GetInt(file, "skin");

OnPlayerSpawn:

public OnPlayerSpawn(playerid)
{
	//různy fce
    
    if(spawned[playerid] == false)
    {
    	//Vše, co hci, aby se stalo jen po prvním spawnu
        spawned[playerid] = true;
        
        //A pak jsem tady měl další podmínku
        if(isskinset[playerid] == false) //aby to poprvé nenačetlo skin, když je tam 0 po registraci
        {
        	isskinset[playerid] = true;
        }
        else
        {
        	SetPlayerSkin(playerid, skin[playerid]);
        }
    }
    return 1;
}

No jenže pak mi došlo, že je to celé vložené v té podmínce if(spawned..., takže se to splní jen poprvé, respektive nikdy...

Link to comment
Share on other sites

  • 0

Tak aspoň sis to sám vyřešil :d to se stává často že nato člověk přijde až když s tím chce pomoct :d Jeden den do toho koukáš a pak nato druhý den koukneš a hned vidíš chybu :d aspoň že sem ti dal vodítko kde je chyba :)

Edited by RmT_Kjuba
Link to comment
Share on other sites

  • 0

Nastaveni chybneho skinu muze zpusobit crash hry. Skontroluj si ze v promene, pomoci ktere nastavujes skin je cislo od 0 do 299 (Nebo je ted 312 max ? uz nwm :D)

Edited by ATomas
Link to comment
Share on other sites

  • 0
před 4 hodinami, ATomas said:

Nastaveni chybneho skinu muze zpusobit crash hry. Skontroluj si ze v promene, pomoci ktere nastavujes skin je cislo od 0 do 299 (Nebo je ted 312 max ? uz nwm :D)

0-311 (no stále se najdou tací kteří používají starší verze SA-MP :-D)

Edited by rEf
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...