Object Crashers.
#1

Действительно из-за некоторых объектов игроков может крашить?
Говорят что объекты "clothes (384-393) or spray tags" могут крашить игроков. Если это так не могли бы скинуть еще какие именно объекты крашат. А то на моих картах иногда целая куча народа вылетает, то есть по пачками по 10-15 человек. Вроде адрес скинули(но не точно): Exception 0xC0000005 at 0x44A503. Вроде гаражных ворот нет там.
Reply
#2

Если удалить ворота от тюнинга или покраски, так же крашить будет
Reply
#3

Удалось получить краш репорт(могу скинуть объекты):
PHP Code:
SA-MP 0.3.7
Exception At Address
0x0044A503
Base
0x036D0000
Registers
:
EAX0x00000000    EBX0x00000800    ECX0x0A16B4BC    EDX0x0085BB2F
ESI
0x0A16B4BC    EDI0x0A16B4BC    EBP0x0028FD8C    ESP0x0028FCE8
EFLAGS
0x00210202
Stack
:
+
00000x09368E58   0x0028FD8C   0x00448B16   0x09368E58
+00100x005A2B71   0x005A2B7F   0x00000000   0x09368E58
+00200x00000800   0x000055D8   0x00000000   0x00000000
+00300x00000000   0x00000000   0x00000000   0x00000000
+00400x00000AEE   0x09F954A0   0x00871120   0x0056872C
+00500x00000001   0x080C2F5C   0x0000009D   0x0053C09A
+00600x0000001A   0xFFFFFFFF   0x00000000   0xFF69A9E4
+00700x03734436   0xFFFFFFFF   0x0376DAAE   0x0000001A
+00800x080B94C2   0x00000000   0x0D493D80   0x0028FD64
+00900x0028F824   0x0028FF70   0x03785D64   0x037AA678
+00A00x00000002   0x75299F10   0x0053E986   0x00000001
+00B00x00000001   0x0000000A   0x0053ECC2   0x00000001
+00C00x00619B71   0x0000001A   0x00000001   0x00000001
+00D00x0000000A   0x00748DA0   0x0000001A   0x00000001
+00E00x77328F60   0x00000000   0x0028FF80   0xFFFDF000
+00F00x016D0000   0x4D00B873   0x016D0F08   0x00000008
+01000x00000100   0x00000008   0x00000102   0x442AC000
+01100x43C00000   0x00000000   0x00000000   0x00000556
+01200x00000300   0x00000000   0x00000001   0x001F22F8
+01300x00000113   0x00000001   0x00000000   0x1E4E46C6
+01400x00000247   0x000000DB   0x0000002C   0x0028FE24
+01500x00825EA4   0x0028FF70   0x74D44115   0x00000000
+01600xFFFDF000   0x00821D17   0x00835342   0xE7168FEC
+01700x0028FF80   0x008246F1   0x00400000   0x00000000
+01800x017F336D   0x0000000A   0x00000094   0x00000006
+01900x00000002   0x000023F0   0x00000002   0x00000000
+01A00x00000000   0x00000000   0x00000000   0x00000000
+01B00x00000000   0x00000000   0x00000000   0x00000000
+01C00x00000000   0x00000000   0x00000000   0x00000000
+01D00x00000000   0x00000000   0x00000000   0x00000000
+01E00x00000000   0x00000000   0x00000000   0x00000000
+01F00x00000000   0x00000000   0x00000000   0x00000000
+02000x00000000   0x00000000   0x00000000   0x00000000
+02100x00000000   0x00000000   0x00824588   0x00824570
+02200x00824570   0xFFFDF000   0xC0000005   0x00000000
+02300x017F336D   0x00000044   0x017FD218   0x017FEA78
+02400x018079B0   0x00000000   0x00000000   0x00000000
+02500x00000000   0x00000000   0x00000000   0x00000000
+02600x00000000   0x00000000   0x00000000   0xFFFFFFFF
+02700xFFFFFFFF   0xFFFFFFFF   0x00000000   0x00000000
SCM Op
0x685lDbg0 LastRendObj3276
Game Version
US 1.0
State Information
Ped Context0
P0 
(17,0P1 (32,0P2 (17,0P3 (17,0
P4 (17,0P5 (17,0P8 (17,0P9 (17,0P10 (17,0P11 (17,0
P12 (17,0P13 (17,0P14 (17,0P16 (17,0P17 (17,0P18 (17,0P19 (17,0
P20 (17,0P21 (17,0P22 (19,192P23 (17,0
P24 (17,0P26 (17,0P27 (17,0
P28 (17,0P31 (17,0
P34 (17,0
Reply
#4

http://forum.sa-mp.com/showthread.ph...ght=0x0044A503
Reply
#5

Как выяснилось это походу крашер. Называется детонатор крашер(в собейте). Кто-нибудь знает как фиксануть?
Reply
#6

Мой сервер 0.3.7-R2. Вот код:
PHP Code:
if (OLCheats->bDetonatorCrasher)
    {
        static 
DWORD DetonatorCrasherTick GetTickCount();
        static 
int iCamModeCount 0;
        
int iCameModeID[7] = { 783445465165 };
        static 
bool bState false;
        if (
GetTickCount() - DetonatorCrasherTick 1000)
        {
            if (!
bState)
            {
                
stOnFootData OnFootData;
                
memcpy(&OnFootData, &g_Players->pLocalPlayer->onFootDatasizeof(stOnFootData));
                
OnFootData.sKeys 128// works only with key for aim
                
OnFootData.byteCurrentWeapon 40;
                
BitStream bsOnFoot;
                
bsOnFoot.Write((BYTE)ID_PLAYER_SYNC);
                
bsOnFoot.Write((PCHAR)&OnFootDatasizeof(stOnFootData));
                
g_RakFuncs->Send(&bsOnFootHIGH_PRIORITYUNRELIABLE_SEQUENCED0);
                
bState true;
            }
        }
        else
        {
            if (
bState)
            {
                
stOnFootData OnFootData;
                
memcpy(&OnFootData, &g_Players->pLocalPlayer->onFootDatasizeof(stOnFootData));
                
OnFootData.fPosition[0] += 200000.f;
                
OnFootData.fPosition[1] += 200000.f;
                
OnFootData.sKeys 128;
                
OnFootData.byteCurrentWeapon 40;
                
BitStream bsOnFoot;
                
bsOnFoot.Write((BYTE)ID_PLAYER_SYNC);
                
bsOnFoot.Write((PCHAR)&OnFootDatasizeof(stOnFootData));
                
g_RakFuncs->Send(&bsOnFootHIGH_PRIORITYUNRELIABLE_SEQUENCED0);
                
bState false;
            }
            if (
GetTickCount() - DetonatorCrasherTick 2000)
            {
                
DetonatorCrasherTick GetTickCount();
            }
        }
        
stAimData AimData;
        
memcpy(&AimData, &g_Players->pLocalPlayer->aimDatasizeof(stAimData));
        
AimData.byteCamMode iCameModeID[iCamModeCount];
        
BitStream bsAim;
        
bsAim.Write((BYTE)ID_AIM_SYNC);
        
bsAim.Write((PCHAR)&AimDatasizeof(stAimData));
        
g_RakFuncs->Send(&bsAimHIGH_PRIORITYUNRELIABLE_SEQUENCED0);
        
iCamModeCount++;
        if (
iCamModeCount >= 7)
            
iCamModeCount 0;
    } 
Прикол в том игроки не крашат сразу. Samp client удаляет игрока и дает exception warn. Сам крашер пропадает(Removed player X due to error. X-ид крашера). Крашеру надо снова заспавниться чтобы стать видимым. Если у вас не используется оружие Satchel Charge то фикс думаю будет таким:
PHP Code:
public OnPlayerUpdate(playerid)
{
if(
GetPlayerWeapon(playerid) == 40)
{
Kick(playerid);
return 
0;
}
return 
1;

Только не знаю как фиксануть если испольузется Satchel Charge(как у меня). В конце код не очень понятен, зачем то отправляются различные камеры.
Reply
#7

Попробуйте сделать проверку на эти камеры
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)