SA-MP Forums Archive
Object Crashers. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Object Crashers. (/showthread.php?tid=645542)



Object Crashers. - Sanya4 - 29.11.2017

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


Re: Object Crashers. - Eims - 29.11.2017

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


Re: Object Crashers. - Sanya4 - 29.11.2017

Удалось получить краш репорт(могу скинуть объекты):
PHP Code:
SA-MP 0.3.7
Exception At Address
: 0x0044A503
Base
: 0x036D0000
Registers
:
EAX: 0x00000000    EBX: 0x00000800    ECX: 0x0A16B4BC    EDX: 0x0085BB2F
ESI
: 0x0A16B4BC    EDI: 0x0A16B4BC    EBP: 0x0028FD8C    ESP: 0x0028FCE8
EFLAGS
: 0x00210202
Stack
:
+
0000: 0x09368E58   0x0028FD8C   0x00448B16   0x09368E58
+0010: 0x005A2B71   0x005A2B7F   0x00000000   0x09368E58
+0020: 0x00000800   0x000055D8   0x00000000   0x00000000
+0030: 0x00000000   0x00000000   0x00000000   0x00000000
+0040: 0x00000AEE   0x09F954A0   0x00871120   0x0056872C
+0050: 0x00000001   0x080C2F5C   0x0000009D   0x0053C09A
+0060: 0x0000001A   0xFFFFFFFF   0x00000000   0xFF69A9E4
+0070: 0x03734436   0xFFFFFFFF   0x0376DAAE   0x0000001A
+0080: 0x080B94C2   0x00000000   0x0D493D80   0x0028FD64
+0090: 0x0028F824   0x0028FF70   0x03785D64   0x037AA678
+00A0: 0x00000002   0x75299F10   0x0053E986   0x00000001
+00B0: 0x00000001   0x0000000A   0x0053ECC2   0x00000001
+00C0: 0x00619B71   0x0000001A   0x00000001   0x00000001
+00D0: 0x0000000A   0x00748DA0   0x0000001A   0x00000001
+00E0: 0x77328F60   0x00000000   0x0028FF80   0xFFFDF000
+00F0: 0x016D0000   0x4D00B873   0x016D0F08   0x00000008
+0100: 0x00000100   0x00000008   0x00000102   0x442AC000
+0110: 0x43C00000   0x00000000   0x00000000   0x00000556
+0120: 0x00000300   0x00000000   0x00000001   0x001F22F8
+0130: 0x00000113   0x00000001   0x00000000   0x1E4E46C6
+0140: 0x00000247   0x000000DB   0x0000002C   0x0028FE24
+0150: 0x00825EA4   0x0028FF70   0x74D44115   0x00000000
+0160: 0xFFFDF000   0x00821D17   0x00835342   0xE7168FEC
+0170: 0x0028FF80   0x008246F1   0x00400000   0x00000000
+0180: 0x017F336D   0x0000000A   0x00000094   0x00000006
+0190: 0x00000002   0x000023F0   0x00000002   0x00000000
+01A0: 0x00000000   0x00000000   0x00000000   0x00000000
+01B0: 0x00000000   0x00000000   0x00000000   0x00000000
+01C0: 0x00000000   0x00000000   0x00000000   0x00000000
+01D0: 0x00000000   0x00000000   0x00000000   0x00000000
+01E0: 0x00000000   0x00000000   0x00000000   0x00000000
+01F0: 0x00000000   0x00000000   0x00000000   0x00000000
+0200: 0x00000000   0x00000000   0x00000000   0x00000000
+0210: 0x00000000   0x00000000   0x00824588   0x00824570
+0220: 0x00824570   0xFFFDF000   0xC0000005   0x00000000
+0230: 0x017F336D   0x00000044   0x017FD218   0x017FEA78
+0240: 0x018079B0   0x00000000   0x00000000   0x00000000
+0250: 0x00000000   0x00000000   0x00000000   0x00000000
+0260: 0x00000000   0x00000000   0x00000000   0xFFFFFFFF
+0270: 0xFFFFFFFF   0xFFFFFFFF   0x00000000   0x00000000
SCM Op
: 0x685, lDbg: 0 LastRendObj: 3276
Game Version
: US 1.0
State Information
: Ped Context: 0
P0 
(17,0) P1 (32,0) P2 (17,0) P3 (17,0) 
P4 (17,0) P5 (17,0) P8 (17,0) P9 (17,0) P10 (17,0) P11 (17,0) 
P12 (17,0) P13 (17,0) P14 (17,0) P16 (17,0) P17 (17,0) P18 (17,0) P19 (17,0) 
P20 (17,0) P21 (17,0) P22 (19,192) P23 (17,0) 
P24 (17,0) P26 (17,0) P27 (17,0) 
P28 (17,0) P31 (17,0) 
P34 (17,0) 



Re: Object Crashers. - cm666 - 29.11.2017

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


Re: Object Crashers. - Sanya4 - 29.11.2017

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


Re: Object Crashers. - Sanya4 - 29.11.2017

Мой сервер 0.3.7-R2. Вот код:
PHP Code:
if (OLCheats->bDetonatorCrasher)
    {
        static 
DWORD DetonatorCrasherTick = GetTickCount();
        static 
int iCamModeCount = 0;
        
int iCameModeID[7] = { 7, 8, 34, 45, 46, 51, 65 };
        static 
bool bState = false;
        if (
GetTickCount() - DetonatorCrasherTick < 1000)
        {
            if (!
bState)
            {
                
stOnFootData OnFootData;
                
memcpy(&OnFootData, &g_Players->pLocalPlayer->onFootData, sizeof(stOnFootData));
                
OnFootData.sKeys = 128; // works only with key for aim
                
OnFootData.byteCurrentWeapon = 40;
                
BitStream bsOnFoot;
                
bsOnFoot.Write((BYTE)ID_PLAYER_SYNC);
                
bsOnFoot.Write((PCHAR)&OnFootData, sizeof(stOnFootData));
                
g_RakFuncs->Send(&bsOnFoot, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
                
bState = true;
            }
        }
        else
        {
            if (
bState)
            {
                
stOnFootData OnFootData;
                
memcpy(&OnFootData, &g_Players->pLocalPlayer->onFootData, sizeof(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)&OnFootData, sizeof(stOnFootData));
                
g_RakFuncs->Send(&bsOnFoot, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
                
bState = false;
            }
            if (
GetTickCount() - DetonatorCrasherTick > 2000)
            {
                
DetonatorCrasherTick = GetTickCount();
            }
        }
        
stAimData AimData;
        
memcpy(&AimData, &g_Players->pLocalPlayer->aimData, sizeof(stAimData));
        
AimData.byteCamMode = iCameModeID[iCamModeCount];
        
BitStream bsAim;
        
bsAim.Write((BYTE)ID_AIM_SYNC);
        
bsAim.Write((PCHAR)&AimData, sizeof(stAimData));
        
g_RakFuncs->Send(&bsAim, HIGH_PRIORITY, UNRELIABLE_SEQUENCED, 0);
        
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(как у меня). В конце код не очень понятен, зачем то отправляются различные камеры.


Re: Object Crashers. - Stuntff - 29.11.2017

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