17.02.2016, 18:48
Hi guys, i have a problem with crash, it does not crash every time but when players DM they get a crash, here is crash log:
and here is my OnPlayerDeath Command:
Код:
SA-MP 0.3.7 Exception At Address: 0x3FB33333 Base: 0x03000000 Registers: EAX: 0x000BC1E8 EBX: 0x00000000 ECX: 0x08D134D8 EDX: 0x00859988 ESI: 0x00B61C38 EDI: 0x00000000 EBP: 0x75F080E0 ESP: 0x0022FD7C EFLAGS: 0x00210206 Stack: +0000: 0x004E376A 0xFFFFFFFA 0x00B6BC90 0x00000000 +0010: 0x0050788F 0x0000001A 0x864D1F93 0x0053E990 +0020: 0x00000001 0x008241AF 0x004D9486 0x0053ECC2 +0030: 0x00000001 0x00619B71 0x0000001A 0x00000001 +0040: 0x00000001 0x0000000A 0x00748DA0 0x0000001A +0050: 0x00000001 0x7774D8F3 0x00000000 0x0022FF88 +0060: 0x7FFDD000 0x01350000 0x4F064D08 0x00351130 +0070: 0x00000008 0x00000100 0x00000008 0x00000102 +0080: 0x44200000 0x44000000 0x00000000 0x00000000 +0090: 0x00000500 0x00000400 0x00000000 0x00000001 +00A0: 0x00310260 0x00000113 0x00000001 0x00000000 +00B0: 0x020FCE87 0x00000283 0x00000200 0x0000002C +00C0: 0x0022FE2C 0x00825EA4 0x7774D8F3 0x00000000 +00D0: 0x7FFDD000 0xFFFFFFFF 0x00821D17 0x00000065 +00E0: 0x00000065 0x0022FF88 0x008246F1 0x00400000 +00F0: 0x00000000 0x018D2005 0x0000000A 0x00000094 +0100: 0x00000006 0x00000001 0x00001DB1 0x00000002 +0110: 0x76726553 0x20656369 0x6B636150 0x00003120 +0120: 0x00000000 0x00000000 0x00000000 0x00000000 +0130: 0x00000000 0x00000000 0x00000000 0x00000000 +0140: 0x00000000 0x00000000 0x00000000 0x00000000 +0150: 0x00000000 0x00000000 0x00000000 0x00000000 +0160: 0x00000000 0x00000000 0x00000000 0x00000000 +0170: 0x00000000 0x00000000 0x00000000 0x00000000 +0180: 0x00000000 0x00000000 0x00000000 0x00824588 +0190: 0x00000000 0x00000000 0x7FFDD000 0xC0000005 +01A0: 0x75EC2BB4 0x018D2005 0x00000044 0x01906098 +01B0: 0x01904FB0 0x01903888 0x00000000 0x00000000 +01C0: 0x00000000 0x00000000 0x00000000 0x00000000 +01D0: 0x00000000 0x00000000 0x00000000 0x00000000 +01E0: 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0x00000000 +01F0: 0x00000000 0x0022FE78 0x0022F988 0x0022FFC4 +0200: 0x00825EA4 0x00888078 0x00000000 0x0022FF94 +0210: 0x7774ED6C 0x7FFDD000 0x0022FFD4 0x77BB377B +0220: 0x7FFDD000 0x75EB3AF5 0x00000000 0x00000000 +0230: 0x7FFDD000 0x00000000 0x00000000 0x00000000 +0240: 0x0022FFA0 0x00000000 0xFFFFFFFF 0x77B6E115 +0250: 0x0273D729 0x00000000 0x0022FFEC 0x77BB374E +0260: 0x00824570 0x7FFDD000 0x00000000 0x00000000 +0270: 0x00000000 0x00000000 0x00824570 0x7FFDD000 SCM Op: 0x6BD, lDbg: 0 LastRendObj: 638 Game Version: US 1.0 State Information: Ped Context: 0 P0 (0,0) P1 (0,0) P2 (0,0) P3 (17,0) P4 (0,0) P5 (17,0) P6 (0,0) P7 (0,0) P9 (0,0) P10 (19,174) P11 (18,174)
Код:
public OnPlayerDeath(playerid, killerid, reason) { RemovePlayerAttachedObject(playerid, 6); RemovePlayerAttachedObject(playerid, 9); RemovePlayerAttachedObject(playerid, 8); RemovePlayerAttachedObject(playerid, 7); TogglePlayerControllable(playerid, 1); RemovePlayerAttachedObject(playerid, 9); RemovePlayerAttachedObject(playerid, 8); RemovePlayerAttachedObject(playerid, 7); SetPlayerSpecialAction(playerid, 0); printf("CRASH DEBBUG-1 | %s",GetName(playerid)); //-------------ANTICHEAT--------------------------- if(AntiCheatInfo[playerid][acKicked]) return 0; if(AntiCheatInfo[playerid][acACAllow][28] && (AntiCheatInfo[playerid][acDead] || !AntiCheatInfo[playerid][acDeathRes] && reason != 255 && (reason != 54 || killerid != 65535))) return ac_KickWithCode(playerid, "", 0, 28); AntiCheatInfo[playerid][acDeathRes] = false; AntiCheatInfo[playerid][acSet][0] = -1; AntiCheatInfo[playerid][acDead] = true; AntiCheatInfo[playerid][acSpawnRes] = 1; AntiCheatInfo[playerid][acSpawnTime] = GetTickCount(); printf("CRASH DEBBUG"); //---------------POSAO STOP----------------------- StopPosao(playerid); printf("CRASH DEBBUG2 | %s",GetName(playerid)); //---------------------------------------------- if(brodpola[playerid] == 1) { PlayerInfo[playerid][pPolaganje] = 0; hPolaganjeb[playerid] = 0; brodpola[playerid] = 0; h_DisablePlayerCheckpoint(playerid); } if(brodpola[playerid] == 2) { hPolaganjea[playerid] = 0; brodpola[playerid] = 0; DisablePlayerRaceCheckpoint(playerid); } printf("CRASH DEBBUG3 | %s",GetName(playerid)); //------------------------------------------- StopAudioStreamForPlayer(playerid); TextDrawShowForPlayer(playerid, addole1); TextDrawShowForPlayer(playerid, addole2); TextDrawShowForPlayer(playerid, addole0); //PlayerTextDrawShow(playerid, SnegOffTD[playerid]); TextDrawShowForPlayer(playerid, Textdraw7); TextDrawShowForPlayer(playerid, Textdraw9); TextDrawShowForPlayer(playerid, LSRPLogo0); TextDrawShowForPlayer(playerid, LSRPLogo1); TextDrawShowForPlayer(playerid, LSRPLogo2); TextDrawShowForPlayer(playerid, LSRPLogo3); TextDrawShowForPlayer(playerid, LSRPLogo4); PlayerTextDrawShow(playerid, Zlato[playerid]); PlayerTextDrawShow(playerid, Banka[playerid]); PlayerTextDrawHide(playerid, klecanjetd[playerid]); if(kamenklese[playerid] == 3 || klesevrijeme[playerid] > 0) { TogglePlayerControllable(playerid, 1); } KillTimer(klesetimer[playerid]); UpoUAlarm[playerid] = 0; naftalvl[playerid] = 0; mozeminig[playerid] = 0; if(posaov[playerid] != 0) { posaow[posaov[playerid]] = 0; } matslvl[playerid] = 0; hSecenje[playerid] = 0; kamenklese[playerid] = 0; klesevrijeme[playerid] = 0; DrvosecaDuznost[playerid] = 0; PizzaDuznost[playerid] = 0; IdDrveta[playerid] = 0; DrvosecaDuznost[playerid] = 0; hSecenje[playerid] = 0; SpremanDaSece[playerid] = 0; drvoistovar[playerid] = 0; PizzaDuznost[playerid] = 0; pizzalvl[playerid] = 0; ostalopizza[playerid] = 0; randompizza[playerid] = 0; ribalvl[playerid] = 0; uhvatioriba[playerid] = 0; pareriba[playerid] = 0; ribav[playerid] = 0; mduty[playerid] = 0; gradnja[playerid] = 0; KamenDuznost[playerid] = 0; arhlvl[playerid] = 0; StopAudioStreamForPlayer(playerid); DestroyDynamicObject(dobjekt[playerid]); DestroyDynamicObject(dobjekt2[playerid]); DestroyDynamicObject(kamobjekat[playerid]); DestroyDynamicObject(Drvo[playerid]); DeletePlayer3DTextLabel(playerid, DrvoLabel[playerid]); //SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); h_DisablePlayerCheckpoint(playerid); ResetPlayerWeaponsEx(playerid); kokicarlvl[playerid] = 0; sladoledlvl[playerid] = 0; DestroyDynamicObject(kokobj1[playerid]); DestroyDynamicObject(kokobj2[playerid]); DestroyDynamicObject(kokobj3[playerid]); DestroyDynamicObject(kokobj4[playerid]); DestroyDynamicObject(kokobj5[playerid]); DestroyDynamicObject(kokobj6[playerid]); DestroyDynamicObject(arhobj1[playerid]); DestroyDynamicObject(arhobj2[playerid]); DestroyDynamicObject(arhobj3[playerid]); printf("CRASH DEBBUG4 | %s",GetName(playerid)); if(kokveh[playerid] != -1) { SetVehicleToRespawn_H(kokveh[playerid]); } new vv = GetPlayerVehicleID(playerid); if(vv >= pizza[0] && vv <= pizza[5]) { //if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) //{ SetVehicleToRespawn_H(vv); SetVehicleHealth_H(vv, 999.99); // } } if(vv >= Drvoseca[1] && vv <= Drvoseca[6]) { // if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // { SetVehicleToRespawn_H(vv); SetVehicleHealth_H(vv, 999.99); } // } if(vv >= kamenorezac[0] && vv <= kamenorezac[8]) { // if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // { SetVehicleToRespawn_H(vv); SetVehicleHealth_H(vv, 999.99); } // } if(vv >= gradi[0] && vv <= gradi[7]) { // if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // { SetVehicleToRespawn_H(vv); SetVehicleHealth_H(vv, 999.99); } // } // printf("CRASH DEBBUG5 | %s",GetName(playerid)); mre[playerid] = 1; pint[playerid] = 0; KillTimer(govornicatimer[playerid]); kokicarlvl[playerid] = 0; ////////////////ADMIN DUTY/////////////////// if(aduty[playerid] >= 1) { aduty[playerid] = 0; SetPlayerColor(playerid,COLOR_GRAD2); } ///////////////////KAMENOREZACX////////////// kamenklese[playerid] = 0; klesevrijeme[playerid] = 0; KamenDuznost[playerid] = 0; h_DisablePlayerCheckpoint(playerid); PlayerTextDrawHide(playerid, klecanjetd[playerid]); //////////////////ANTI FAKEKILL/////////// //////////////NESTO///////////////////// printf("CRASH DEBBUG6 | %s",GetName(playerid)); mre[playerid] = 1; pint[playerid] = 0; SetPlayerVirtualWorld(playerid, 0); ///////////////IMANJE//////////////////// cpimanje[playerid] = 0; ///////////////////////ARHI/////////////// if(arhlvl[playerid] > 0) { arhlvl[playerid] = 0; arhpare[playerid] = 0; arhcar[playerid] = 0; } ///////////////////DDUTY MIRICIJA//////// if(PlayerInfo[playerid][pDuty] == 1) { PlayerInfo[playerid][pDuty] = 0; SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]); RemovePlayerAttachedObject(playerid, 7); SetPlayerColor(playerid,COLOR_GRAD2); SetPlayerArmour_H(playerid, 0); } //////////////RIBAR//////////////////////// uhvatioriba[playerid] = 0; pareriba[playerid] = 0; ribalvl[playerid] = 0; ribav[playerid] = -1; printf("CRASH DEBBUG7 | %s",GetName(playerid)); ////////////////////KUGLE///////////////////// if(drzikuglu[playerid] != -1) { new string[126]; new kugla = drzikuglu[playerid]; GetPlayerPos(playerid, X,Y,Z); ZK[kugla][kX] = X; ZK[kugla][kY] = Y; ZK[kugla][kZ] = Z-0.5; ZK[kugla][kP] = 1; KugleObj1[kugla] = CreateDynamicObject(19574, ZK[kugla][kX],ZK[kugla][kY],ZK[kugla][kZ]-0.3, 0.00000, 0.00000, 0.00000); SetDynamicObjectMaterial(KugleObj1[kugla], 0, 18031, "cj_exp", "mp_cloth_wall", 0xFFCC9F23); format(string,sizeof(string),"{F0F000}Zivkova Kugla #%d",kugla); kugletxt[kugla] = CreateDynamic3DTextLabel(string ,0x33CCFFAA,ZK[kugla][kX], ZK[kugla][kY], ZK[kugla][kZ]-0.3,5); //SacuvajKuglu(kugla); drzikuglu[playerid] = -1; } ////////////////////GRADNJA/////////////////// gradnja[playerid] = 0; //////////////////////ZONA//////////////////////////// if(zonatime[playerid] > 0) { new id = zonaid[playerid]; GangZoneStopFlashForAll(ZonaID[id]); PlayerTextDrawHide(playerid, klecanjetd[playerid]); zonaid[playerid] = -1; zonatime[playerid] = -1; zzauzima[playerid] = 0; KillTimer(zonatimer[playerid]); SCM(playerid,GRAD2,"Niste uspeli da zauzmete teritoriju, spreceni ste!"); } printf("CRASH DEBBUG8 | %s",GetName(playerid)); ////////////////////ORUZJE DROP////////////////////// if(PlayerInfo[playerid][pAdmin] < 1) { if(PlayerInfo[playerid][pDuty] == 0 || DmIgrac[playerid] == 0) { for(new slot = 0; slot != 12; slot++) { new wep, ammo; GetPlayerWeaponData(playerid, slot, wep, ammo); if(wep != 9 && DrvosecaDuznost[playerid] != 1) { if(wep != 0 && ammo != 0) { if(!IsACop(playerid)) { GetPlayerPos(playerid, X, Y, Z); DropGun(playerid, wep,ammo,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid)); } } } } } } ////////////////////ISTA ORGA KILL/////////////////// if(killerid != INVALID_PLAYER_ID) { new stringc[126]; new gunname[32]; GetWeaponName(reason,gunname,sizeof(gunname)); format(stringc,sizeof(stringc), "[ADMIN] Igrac %s ubio je igraca %s, oruzje: %s. /spec /checkweapons", GetName(killerid),GetName(playerid),gunname); AdminPoruka(CRVENA, stringc); } printf("CRASH DEBBUG9 | %s",GetName(playerid)); if(killerid != INVALID_PLAYER_ID) { if(PlayerInfo[killerid][pClan] > 0) { if(PlayerInfo[killerid][pClan] == PlayerInfo[playerid][pClan]) { format(CmdString, 128, "{36A5BC}[ORGANIZACIJA] Clan organizacije %s je ubio clana organizacije %s.", GetName(killerid), GetName(playerid)); SendFamilyMessage(PlayerInfo[playerid][pClan],COLOR_LIGHTBLUE,CmdString); } } } //////////////////////SDUTY SKIINi/////////////// if(sduty[playerid] == 1) { sduty[playerid] = 0; } printf("CRASH DEBBUG10 | %s",GetName(playerid)); /////////////////////////////////////////////// KillTimer(DragTimer[playerid]); SetPlayerVirtualWorld(playerid, 0); if(DrvosecaDuznost[playerid] > 0) { hSecenje[playerid] = 0; DrvosecaDuznost[playerid] = 0; } /////////BANKA KILL////////////////////// if(RobBank[playerid] == 1) { RobBank[playerid] = 0; PlayerTextDrawHide(playerid, robtd[playerid]); KillTimer(RobTimer[playerid]); RobPare[playerid] =0; } if(RobZlatara[playerid] == 1) { KillTimer(RobTimer[playerid]); PlayerTextDrawHide(playerid, klecanjetd[playerid]); RobZlatara[playerid] = 0; } ///////////DED MSG/////////////////////// if(killerid != INVALID_PLAYER_ID) { if(IsACop(killerid)) { if(WantedLevel[playerid] > 0) { foreach(new i : Player) { if(IsACop(i)) { new strall[126]; format(strall, sizeof(strall), "HQ: Svim jedinicama, policajac %s je obavio zadatak",GetName(killerid)); SCM(i,PLAVA,strall); format(strall, sizeof(strall), "HQ: %s je sredjen, Ubijen",GetName(playerid)); SCM(i,PLAVA,strall); } } } else { foreach(new i : Player) { if(IsACop(i)) { new orgp[126]; format(orgp, sizeof(orgp), "{36A5BC}[ORGANIZACIJA] Policajac %s je ubio civila %s! Wanted level igraca: 0", GetName(killerid), GetName(playerid)); SCM(i,PLAVA,orgp); } } } } } if(hZavezan[playerid] == 1) { PlayerTextDrawHide(playerid,TieCrno[playerid]); hZavezan[playerid] = 0; } if(Prisustvuje[playerid] == true) { WantedLevel[playerid] = 0; UpdatePlayerWL(playerid); } if(eecp[playerid] == -1) { eecp[playerid] = 0; AntiCheatInfo[playerid][acACAllow][52] = true; WantedLevel[playerid] = 0; UpdatePlayerWL(playerid); } printf("CRASH DEBBUG11 | %s",GetName(playerid)); ///////////////////////////WL////////////////// if(WantedLevel[playerid] >= 1) { ResetPlayerWeaponsEx(playerid); new novac = WantedLevel[playerid] * 200; GivePlayerMoneyEx(playerid, -novac); format(CmdString, 120, "Poginuli ste sa %d wanted levela, gubite $%d.",WantedLevel[playerid] ,novac); SCM(playerid,TAMNOCRVENA,CmdString); WantedLevel[playerid] = 0; } ////////////////////////////////////////////// if(killerid != INVALID_PLAYER_ID) { if(eecp[playerid] == -1) { BolnicaSpawn[playerid] = 1; } } SpawnPlayer(playerid); SetPlayerSpawn(playerid); ////////////////////EVENT///////////////// PlayerInfo[playerid][pPridruzeneventu] = 0; DisablePlayerRaceCheckpoint(playerid); Prisustvuje[playerid] = false; ecp[playerid] = 0; eecp[playerid] = 0; AntiCheatInfo[playerid][acACAllow][52] = true; DmIgrac[playerid] = 0; printf("CRASH DEBBUG12 | %s",GetName(playerid)); /////////////////////////// GetPlayerPos(playerid, X,Y,Z); SetPVarInt(playerid, "NoAB", 1); SetPVarFloat(playerid, "OldPosX", X); SetPVarFloat(playerid, "OldPosY", Y); SetPVarFloat(playerid, "OldPosZ", Z); ////////////////////////// HealthSynced[playerid] = 0; PlayerInfo[playerid][pWC] = 0; PlayerInfo[playerid][pGlad] = 0; IgracSpawnan[playerid] = 1; if(DmIgrac[playerid] == 1) { DmIgraci --; DmIgrac[playerid] = 0; Prisustvuje[playerid] = false; return 1; } if(GetPlayerState(killerid) == 1 || GetPlayerState(killerid) == PLAYER_STATE_PASSENGER) { if(IsACop(killerid) || DmIgrac[killerid] > 0) { } else { PlayerInfo[killerid][pUbistva]++; PlayerInfo[playerid][pSmrti]++; PlayerInfo[killerid][pZlocin]++; WantedLevel[killerid] += 6; SetPlayerCriminal(killerid,255, "Ubistvo"); UpdatePlayerWL(killerid); UpdatePlayerWL(playerid); } } TazerAcceso[playerid] = 0; if(killerid != INVALID_PLAYER_ID) { if(DrvosecaDuznost[killerid] == 1) { if(GetPlayerWeapon(killerid) == 9) { new djura = random(sizeof(gZatvorSpawn)); SetPlayerPos_H(killerid, gZatvorSpawn[djura][0], gZatvorSpawn[djura][1], gZatvorSpawn[djura][2]); SetPlayerVirtualWorld(killerid, 1); PlayerInfo[killerid][pAlcatraz] = 3600; PlayerInfo[killerid][pSpawn] = 4; WantedLevel[killerid] = 0; UpdatePlayerWL(killerid); format(CmdString, 128, "{FFFFFF}Zatvoreni ste od strane Auto-Admina zbog ubistva igraca motornom testerom. Vreme: 60 Minuta"); SCM(killerid,-1,CmdString); format(CmdString, 128, "{FF0000}[CENTRALNI ZATVOR] {FFFFFF}Igrac %s je zatvoren od strane Auto-Admina. {FF0000}[Vreme: 60 minuta]",GetName(killerid)); SendClientMessageToAll(-1,CmdString); GivePlayerMoneyEx(killerid, -1000); SCM(killerid,NARANDZASTA,"Oduzeto vam je $1000 jer ste zatvoreni od strane Auto-Administratora"); ResetPlayerWeaponsEx(killerid); SetPlayerSkin(killerid, PlayerInfo[killerid][pSkin]); } } } if(otok[playerid] > 0) { SetPlayerCheckpoint(playerid, 463.2690,-1936.9260,7.2221,4.0); } if(stigaoo[playerid] == 1) { otok[playerid] = 0; stigaoo[playerid] = 0; vozisebrodom[playerid] = 0; } vozisebrodom[playerid] = 0; DisablePlayerCheckpoint(playerid); printf("CRASH DEBBUG13 | %s",GetName(playerid)); return 1; }