random debug
#1

in log of the server this debug appears to me how do I solve it?

[18:29:14] [debug] Run time error 4: "Array index out of bounds"
[18:29:14] [debug] Accessing element at index 29 past array upper bound 12
[18:29:14] [debug] AMX backtrace:
[18:29:14] [debug] #0 00374a50 in public Iter_OnPlayerDisconnect (29, 1) from TEST.amx
[18:29:14] [debug] #1 native CallLocalFunction () from sampsvr-port_2185
[18:29:14] [debug] #2 00009f98 in public SSCANF_OnPlayerDisconnect (29, 1) from TEST.amx
[18:29:14] [debug] #3 00000ac0 in public OnPlayerDisconnect (29, 1) from TEST.amx
Код:
public OnPlayerDisconnect(playerid,reason) {
    for(new slot1 = 0; slot1 < 13; slot1++) {
	  pWeaps[playerid][slot1][0] = 0;
	  pWeaps[playerid][slot1][1] = 0;
	}
    banned[playerid] = 0;
    PlayerInfo[playerid][Cash] = 0;
    PlayerInfo[playerid][vehicleo1] = 0;
    PlayerInfo[playerid][vehicle1] = 0;
    PlayerInfo[playerid][vehicleo2] = 0;
    PlayerInfo[playerid][vehicle2] = 0;
    PlayerInfo[playerid][vehicleo3] = 0;
    PlayerInfo[playerid][vehicle3] = 0;
    PlayerInfo[playerid][vehicleo4] = 0;
    PlayerInfo[playerid][vehicle4] = 0;
    PlayerInfo[playerid][vehicleo5] = 0;
    PlayerInfo[playerid][vehicle5] = 0;
    PlayerInfo[playerid][vehicleo6] = 0;
    PlayerInfo[playerid][vehicle6] = 0;
    PlayerInfo[playerid][vehicleo7] = 0;
    PlayerInfo[playerid][vehicle7] = 0;
    PlayerInfo[playerid][vehicleo8] = 0;
    PlayerInfo[playerid][vehicle8] = 0;
    PlayerInfo[playerid][noCash] = 0;
    PlayerInfo[playerid][sboost] = 0;
    PlayerInfo[playerid][God] = 0; //set god mode to 0 or the disconnecting player
    SetPlayerHealth(playerid, 100.0);
    EstaEnFly[playerid] = 0;
    isAFK[playerid] = 0;
	PlayerInfo[playerid][Hide] = 0;
    InAndrom[playerid] = 0;
    noheal[playerid] = 0;
    PlayerInfo[playerid][blip] = 0;
    PlayerInfo[playerid][Registered] = 0;
    securtyeattemp[playerid] = 0;
    PlayerInfo[playerid][LoggedIn] = 0;
    PlayerInfo[playerid][Level] = 0;
    PlayerInfo[playerid][Password] = 0;
    PlayerInfo[playerid][condoms] = 0;
    PlayerInfo[playerid][Score] = 0;
    PlayerInfo[playerid][Money] = 0;
    PlayerInfo[playerid][hID] = 0;
    PlayerInfo[playerid][hOwned] = 0;
    PlayerInfo[playerid][Caps] = 0;
    PlayerInfo[playerid][Muted] = 0;
    PlayerInfo[playerid][OnDuty] = 0;
    PlayerInfo[playerid][Frozen] = 0;
    PlayerInfo[playerid][Jailed] = 0;
    PlayerInfo[playerid][Kills] = 0;
    PlayerInfo[playerid][Deaths] = 0;
    EscapedConvict[playerid] = 0;
    PlayerInfo[playerid][DoorsLocked] = 0;
    PlayerInfo[playerid][bOwned] = 0;
    HasLawEnforcementRadio[playerid] = 0;
    PlayerInfo[playerid][Time] = 0;
    PlayerInfo[playerid][TimesSpawned] = 0;
    SetPVarInt(playerid,"KilledFlood",0);
	PlayerInfo[playerid][SpamCount] = 0;
    PlayerInfo[playerid][PMBlock] = 0;
    PlayerInfo[playerid][VIP] = 0;
    PlayerInfo[playerid][MR] = 0;
    PlayerInfo[playerid][SAM] = 0;
    PlayerInfo[playerid][GTA] = 0;
    PlayerInfo[playerid][PP] = 0;
    PlayerInfo[playerid][NFS] = 0;
    PlayerInfo[playerid][PL] = 0;
    PlayerInfo[playerid][FEX] = 0;
	WrongpPass[playerid] = 0;
    HasWeedBag[playerid] = 0;
    wantsweed[playerid] = 0;
    JailTimeServed[playerid] = 0;
    wantscure[playerid] = 0;
    copshavevc[playerid] = 0;
    playeronweed[playerid] = 0;
	playertookweed[playerid] = 0;
    PlayerInfo[playerid][bID] = 0;
    VisitReqExpires[playerid] = 0;
    wantsheal[playerid] = 0;
    ReqBkRecent[playerid] = 0;
	InDM[playerid] = 0;
    ReqBk[playerid] = 0;
    banrows[playerid] = 0;
    Tazed[playerid] = 0;
    PlayerInfo[playerid][Bank] = 0;
    PlayerInfo[playerid][Warnings] = 0;
    PlayerInfo[playerid][SpamTime] = 0;
    PlayerInfo[playerid][pSkinID] = 0;
    PlayerInfo[playerid][Skin] = 0;
    RobbedPlyRecent[playerid] = 0;
    HasWallet[playerid] = 0;
    fixedcarrecent[playerid] =0;
    commitedcrimerecently[playerid] = 0;
    InfectedPlyRecent[playerid] = 0;
    VisitReq[playerid] = 0;
    ReportedRecent[playerid] = 0;
    triedtoescaperecent[playerid] = 0;
    cannotescapejail[playerid] = 0;
    noheal[playerid] = 0;
    beenrobbedrecently[playerid] = 0;
    PlayerInfo[playerid][PingTime] = 0;
    OldCash[playerid] = 0;
    cuffed[playerid] = 0;
    CuffedTime[playerid] = 0;
    GotoDisabled[playerid] = 0;
    PlayerInfo[playerid][ConnectTime] = gettime();
    WrongPassword[playerid] = 0;
    PlayerInfo[playerid][PingCount] = 0;
    PlayerInfo[playerid][AX] = 0;
	PlayerInfo[playerid][AY] = 0;
	PlayerInfo[playerid][AZ] = 0;
	PlayerInfo[playerid][AInterior]  = 0;
	PlayerInfo[playerid][AWorld] = 0;
	posx[playerid] = 0;
	posy[playerid] = 0;
	posz[playerid] = 0;
	pinterior[playerid] = 0;
	for(new i; i<PING_MAX_EXCEEDS; i++) PlayerInfo[playerid][pPing][i] = 0;
    if(!gPlayerAnimLibsPreloaded[playerid])
	{
	    PreloadAnimLib(playerid,"AIRPORT");
		PreloadAnimLib(playerid,"Attractors");
		PreloadAnimLib(playerid,"BAR");
		PreloadAnimLib(playerid,"BASEBALL");
		PreloadAnimLib(playerid,"BD_FIRE");
		PreloadAnimLib(playerid,"benchpress");
        PreloadAnimLib(playerid,"BF_injection");
        PreloadAnimLib(playerid,"BIKED");
        PreloadAnimLib(playerid,"BIKEH");
        PreloadAnimLib(playerid,"BIKELEAP");
        PreloadAnimLib(playerid,"BIKES");
        PreloadAnimLib(playerid,"BIKEV");
        PreloadAnimLib(playerid,"BIKE_DBZ");
        PreloadAnimLib(playerid,"BMX");
        PreloadAnimLib(playerid,"BOX");
        PreloadAnimLib(playerid,"BSKTBALL");
        PreloadAnimLib(playerid,"BUDDY");
        PreloadAnimLib(playerid,"BUS");
        PreloadAnimLib(playerid,"CAMERA");
        PreloadAnimLib(playerid,"CAR");
        PreloadAnimLib(playerid,"CAR_CHAT");
        PreloadAnimLib(playerid,"CASINO");
        PreloadAnimLib(playerid,"CHAINSAW");
        PreloadAnimLib(playerid,"CHOPPA");
        PreloadAnimLib(playerid,"CLOTHES");
        PreloadAnimLib(playerid,"COACH");
        PreloadAnimLib(playerid,"COLT45");
        PreloadAnimLib(playerid,"COP_DVBYZ");
        PreloadAnimLib(playerid,"CRIB");
        PreloadAnimLib(playerid,"DAM_JUMP");
        PreloadAnimLib(playerid,"DANCING");
        PreloadAnimLib(playerid,"DILDO");
        PreloadAnimLib(playerid,"DODGE");
        PreloadAnimLib(playerid,"DOZER");
        PreloadAnimLib(playerid,"DRIVEBYS");
        PreloadAnimLib(playerid,"FAT");
        PreloadAnimLib(playerid,"FIGHT_B");
        PreloadAnimLib(playerid,"FIGHT_C");
        PreloadAnimLib(playerid,"FIGHT_D");
        PreloadAnimLib(playerid,"FIGHT_E");
        PreloadAnimLib(playerid,"FINALE");
        PreloadAnimLib(playerid,"FINALE2");
        PreloadAnimLib(playerid,"Flowers");
        PreloadAnimLib(playerid,"FOOD");
        PreloadAnimLib(playerid,"Freeweights");
        PreloadAnimLib(playerid,"GANGS");
        PreloadAnimLib(playerid,"GHANDS");
        PreloadAnimLib(playerid,"GHETTO_DB");
        PreloadAnimLib(playerid,"goggles");
        PreloadAnimLib(playerid,"GRAFFITI");
        PreloadAnimLib(playerid,"GRAVEYARD");
        PreloadAnimLib(playerid,"GRENADE");
        PreloadAnimLib(playerid,"GYMNASIUM");
        PreloadAnimLib(playerid,"HAIRCUTS");
        PreloadAnimLib(playerid,"HEIST9");
        PreloadAnimLib(playerid,"INT_HOUSE");
        PreloadAnimLib(playerid,"INT_OFFICE");
        PreloadAnimLib(playerid,"INT_SHOP");
        PreloadAnimLib(playerid,"JST_BUISNESS");
        PreloadAnimLib(playerid,"KART");
        PreloadAnimLib(playerid,"KISSING");
        PreloadAnimLib(playerid,"KNIFE");
        PreloadAnimLib(playerid,"LAPDAN1");
        PreloadAnimLib(playerid,"LAPDAN2");
        PreloadAnimLib(playerid,"LAPDAN3");
        PreloadAnimLib(playerid,"LOWRIDER");
        PreloadAnimLib(playerid,"MD_CHASE");
        PreloadAnimLib(playerid,"MEDIC");
        PreloadAnimLib(playerid,"MD_END");
        PreloadAnimLib(playerid,"MISC");
        PreloadAnimLib(playerid,"MTB");
        PreloadAnimLib(playerid,"MUSCULAR");
        PreloadAnimLib(playerid,"NEVADA");
        PreloadAnimLib(playerid,"ON_LOOKERS");
        PreloadAnimLib(playerid,"OTB");
        PreloadAnimLib(playerid,"PARACHUTE");
        PreloadAnimLib(playerid,"PARK");
        PreloadAnimLib(playerid,"PAULNMAC");
        PreloadAnimLib(playerid,"PED");
        PreloadAnimLib(playerid,"PLAYER_DVBYS");
        PreloadAnimLib(playerid,"PLAYIDLES");
        PreloadAnimLib(playerid,"POLICE");
        PreloadAnimLib(playerid,"POOL");
        PreloadAnimLib(playerid,"POOR");
        PreloadAnimLib(playerid,"PYTHON");
        PreloadAnimLib(playerid,"QUAD");
        PreloadAnimLib(playerid,"QUAD_DBZ");
        PreloadAnimLib(playerid,"RIFLE");
        PreloadAnimLib(playerid,"RIOT");
        PreloadAnimLib(playerid,"ROB_BANK");
        PreloadAnimLib(playerid,"ROCKET");
        PreloadAnimLib(playerid,"RUSTLER");
        PreloadAnimLib(playerid,"RYDER");
        PreloadAnimLib(playerid,"SCRATCHING");
        PreloadAnimLib(playerid,"SHAMAL");
        PreloadAnimLib(playerid,"SHOTGUN");
        PreloadAnimLib(playerid,"SILENCED");
        PreloadAnimLib(playerid,"SKATE");
        PreloadAnimLib(playerid,"SPRAYCAN");
        PreloadAnimLib(playerid,"STRIP");
        PreloadAnimLib(playerid,"SUNBATHE");
        PreloadAnimLib(playerid,"SWAT");
        PreloadAnimLib(playerid,"SWEET");
        PreloadAnimLib(playerid,"SWIM");
        PreloadAnimLib(playerid,"SWORD");
        PreloadAnimLib(playerid,"TANK");
        PreloadAnimLib(playerid,"TATTOOS");
        PreloadAnimLib(playerid,"TEC");
        PreloadAnimLib(playerid,"TRAIN");
        PreloadAnimLib(playerid,"TRUCK");
        PreloadAnimLib(playerid,"UZI");
        PreloadAnimLib(playerid,"VAN");
        PreloadAnimLib(playerid,"VENDING");
        PreloadAnimLib(playerid,"VORTEX");
        PreloadAnimLib(playerid,"WAYFARER");
        PreloadAnimLib(playerid,"WEAPONS");
        PreloadAnimLib(playerid,"WUZI");
        PreloadAnimLib(playerid,"SNM");
        PreloadAnimLib(playerid,"BLOWJOBZ");
        PreloadAnimLib(playerid,"SEX");
   		PreloadAnimLib(playerid,"BOMBER");
   		PreloadAnimLib(playerid,"RAPPING");
    	PreloadAnimLib(playerid,"SHOP");
   		PreloadAnimLib(playerid,"BEACH");
   		PreloadAnimLib(playerid,"SMOKING");
    	PreloadAnimLib(playerid,"FOOD");
    	PreloadAnimLib(playerid,"ON_LOOKERS");
    	PreloadAnimLib(playerid,"DEALER");
		PreloadAnimLib(playerid,"CRACK");
		PreloadAnimLib(playerid,"CARRY");
		PreloadAnimLib(playerid,"COP_AMBIENT");
		PreloadAnimLib(playerid,"PARK");
		PreloadAnimLib(playerid,"INT_HOUSE");
		PreloadAnimLib(playerid,"FOOD");
		gPlayerAnimLibsPreloaded[playerid] = 1;
	}
    Delete3DTextLabel(label[playerid]);
    RemovePlayerAttachedObject(playerid, 3);
	if(Reconnecting[playerid] == true) {
	  new string[128];
	  format(string, sizeof(string), "unbanip %s", ReconnectIP[playerid]);
	  SendRconCommand(string);
	  Reconnecting[playerid] = false;
	}
	PlayerInfo[playerid][GoMoney] = 0;
	PlayerInfo[playerid][GoWeapon] = 0;
	TextDrawDestroy(housetext[playerid]);
	TextDrawDestroy(biztext[playerid]);
	TextDrawDestroy(cartext[playerid]);
	KZI_OnPlayerDisconnect(playerid,reason);
	KillTimer(kicktime[playerid]);
	if(PlayerInfo[playerid][Jailed] == 1) KillTimer( JailTimer[playerid] );
	if(PlayerInfo[playerid][Frozen] == 1) KillTimer( FreezeTimer[playerid] );
	if(ServerInfo[Locked] == 1)	KillTimer( LockKickTimer[playerid] );
	new str[128];
	if(PlayerInfo[playerid][blip] == 1) {
	  KillTimer(BlipTimer[playerid]);
	  PlayerInfo[playerid][blip] = 0;
	}
	if(ServerInfo[ConnectMessages] == 1)
	{
		switch (reason) {
			case 0:	format(str, sizeof(str), "*** %s (%d) has left the server (Timeout)", pName(playerid), playerid);
			case 1:	format(str, sizeof(str), "*** %s (%d) has left the server (Leaving)", pName(playerid), playerid);
			case 2:	format(str, sizeof(str), "*** %s (%d) has left the server (Kicked/Banned)", pName(playerid), playerid);
		}
		if(ServerInfo[ConnectMessages] == 1) SendClientMessageToAll(COLOR_Silver, str);
	}
	if(playerInMiniMission[playerid]>0)
	{
		terminarMission(playerid);
	}
	OnBusAsPassenger[playerid]=-1;
	OnTaxiAsPassenger[playerid]=-1;
	#if defined ENABLE_SPEC
    foreach (new x : Player)
	    if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && PlayerInfo[x][SpecID] == playerid)
   		   	AdvanceSpectate(x);
	#endif
	if(RaceParticipant[playerid]>=1)
	{
		if(Participants==1) //Last participant leaving, ending race.
		{
			endrace();
		}
		if(RaceParticipant[playerid] < 3 && RaceStart == 0 && !(RaceParticipant[playerid]==3 && RaceStart == 1))
		{ //Doing readycheck since someone left, but not if they disconnected during countdown.
			ReadyRefresh(playerid);
		}
		Participants--;
		RaceParticipant[playerid]=0;
		DisablePlayerRaceCheckpoint(playerid);
	}
	if(RaceBuilders[playerid] != 0)
	{
   		DisablePlayerRaceCheckpoint(playerid);
		for(new i;i<BCurrentCheckpoints[b(playerid)];i++)
		{
			BRaceCheckpoints[b(playerid)][i][0]=0.0;
   			BRaceCheckpoints[b(playerid)][i][1]=0.0;
			BRaceCheckpoints[b(playerid)][i][2]=0.0;
		}
		BuilderSlots[b(playerid)] = GetMaxPlayers()+1;
		RaceBuilders[playerid] = 0;
	}
	TextDrawHideForPlayer(playerid,vehiclehpbar[playerid]);
	InAndrom[playerid] = 0;
	if(PlayerInfo[playerid][LoggedIn] == 1) {
	  new Query[250];
      format(Query, sizeof(Query),"UPDATE `accounts` SET `Score` = %d,`Money` = %d WHERE `Name` = '%s'",GetPlayerScore(playerid),GetPlayerMoney(playerid),pName(playerid));
      mysql_tquery(mysql, Query, "", "");
      SaveWeapon(playerid);
	}
	return 1;
}
Reply
#2

There is a way to get the line, using: https://github.com/Zeex/samp-plugin-...ith-debug-info

29 is the playerid and was used in array with size of 13. Weapon slots are 13 so have you declare it as the one below?
pawn Код:
new pWeaps[13][MAX_PLAYERS][2];
If this is the case, then it should have been:
pawn Код:
pWeaps[slot1][playerid][0] = 0;
pWeaps[slot1][playerid][1] = 0;
If not, get the line and post the new results.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)