Weird
#1

Hello, i've added a cmd (/offlinestats)

When i use this command, it doesn't work and it shows this in the logs

Код:
[05:35:11] [debug] Run time error 4: "Array index out of bounds"
[05:35:11] [debug]  Accessing element at index 420 past array upper bound 99
[05:35:11] [debug] AMX backtrace:
[05:35:11] [debug] #0 0011d230 in public LoadStats (0, 4770352) from UoS.amx
And it doesn't show anything at mysql logs

Here you are the loadstats and loadstats2 code

Load stats>>>>
Код:
function LoadStats(playerid, PlayersName[])
{
	if(!MySQL_rowCount())
	{
		format(str, sizeof(str), ""RED_E"[ERROR] "GREY_E"Account '%s' does not exist.", PlayersName);
		SendClientMessage(playerid, COLOR_GREY, str);
	}
	else
	{
		pAdmin[p3] = MySQL_getInt(0, 0);
		pTotalHours[p3] = MySQL_getInt(0, 1);
		pTotalMinutes[p3] = MySQL_getInt(0, 2);
		pTotalSeconds[p3] = MySQL_getInt(0, 3);
		pInfo[p3][pKills] = MySQL_getInt(0, 4);
		pInfo[p3][pDeaths] = MySQL_getInt(0, 5);
		pCash[p3] = MySQL_getInt(0, 6);
		pScore[p3] = MySQL_getInt(0, 7);
		pPremium[p3] = MySQL_getInt(0, 8);
		pInfo[p3][pSaveSkin] = MySQL_getInt(0, 9);
		pCookies[p3] = MySQL_getInt(0, 10);
		pInfo[p3][pEventsWon] = MySQL_getInt(0, 11);
		pInfo[p3][pRacesWon] = MySQL_getInt(0, 12);
		pInfo[p3][pMBFound] = MySQL_getInt(0, 13);
 		MySQL_getString(0, 14, pRegDate[p3]);
 		MySQL_getString(0, 15, pLastDate[p3]);
		BankMoney[p3] = MySQL_getInt(0, 16);
		reactionsWon[p3] = MySQL_getInt(0, 17);
		pArrests[p3] = MySQL_getInt(0, 18);
		TotalKillStreak[p3] = MySQL_getInt(0, 19);
		MySQL_getString(0, 20, pDescription[p3]);
		pDuelsWon[p3] = MySQL_getInt(0, 21);
		pFallouts[p3] = MySQL_getInt(0, 22);
		pClanID[p3] = MySQL_getInt(0, 23);
		pClanRank[p3] = MySQL_getInt(0, 24);
		pDerbys[p3] = MySQL_getInt(0, 25);
		pCookieJars[p3] = MySQL_getInt(0, 26);
		pSpawnPlace[p3] = MySQL_getInt(0, 27);
		mathsWon[p3] = MySQL_getInt(0, 28);
		pReportPoints[p3] = MySQL_getInt(0, 29);
		Helper[p3] = MySQL_getInt(0, 30);
		format(query, sizeof(query), "SELECT cName FROM clans WHERE cID=%d", pClanID[p3]);
		MySQL_query(query, true, "LoadStats2", "is", playerid, PlayersName);
	}
	return true;
}
And about loadstats2

Код:
function LoadStats2(playerid, PlayersName[])
{
		// Main Statistics
		if(MySQL_rowCount())
		{
			cache_get_row(0, 0, pClanName[p3]);
		}
		new line4[700];
		new line3[2000];
		new str3[80], str4[80], str7[80], str11[140];
		switch(pAdmin[p3])
		{
	 		case 0:
	   		{
				if(pPremium[p3] > 0)
				{
	   				if(pPremium[p3] == 3)
					{
						if(premiumExpired[p3] != 0) str3 = ""LB2_E"> Status: "LB_E"VIP Player (Temporary)";
						else str3 = ""LB2_E"> Status: "LB_E"VIP Player";
					}
					else
					{
						if(premiumExpired[p3] != 0) format(str3, sizeof(str3), ""LB2_E"> Status: "WHITE_E"Premium Member (Level: %d) (Temp)", pPremium[p3]);
						else format(str3, sizeof(str3), ""LB2_E"> Status: "WHITE_E"Premium Member (Level: %d)", pPremium[p3]);
					}
				}
				else str3 = ""LB2_E"> Status: "WHITE_E"Regular Player";
				if(Helper[p3] != 0) str3 = ""LB2_E"> Status: "GREEN_E"Helper";
			}
			case 1: str3 = ""LB2_E"> Status: "GREEN_E"Trial Administrator";
			case 2: str3 = ""LB2_E"> Status: "LB_E"Administrator";
			case 3: str3 = ""LB2_E"> Status: "YELLOW_E"Super Administrator";
			case 4: str3 = ""LB2_E"> Status: "ORANGE_E"Advanced Administrator";
			case 5: str3 = ""LB2_E"> Status: "DARK_E"Experienced Administrator";
			case 6: str3 = ""LB2_E"> Status: "GREEN_E"Senior Administrator";
			case 7: str3 = ""LB2_E"> Status: "LB_E"Superme Administrator";
			case 8: str3 = ""LB2_E"> Status: "YELLOW_E"Elite Administrator";
			case 9: str3 = ""LB2_E"> Status: "ORANGE_E"Professional Administrator";
			case 10: str3 = ""LB2_E"> Status: "DARK_E"Master Administrator";
			case 11: str3 = ""LB2_E"> Status: "GREEN_E"Lead Administrator";
			case 12: str3 = ""LB2_E"> Status: "LB_E"Head Administrator";
			case 13: str3 = ""LB2_E"> Status: "YELLOW_E"Server Manager";
			case 14: str3 = ""LB2_E"> Status: "ORANGE_E"Head Manager";
			case 15: str3 = ""LB2_E"> Status: "DARK_E"Server Owner";
		}
		if(pHidden[p3] != 0) str3 = ""LB2_E"> Status: "WHITE_E"Regular Player";
		//new pCity[28];
		if(pClanID[p3] != -1)
		{
			format(str11, sizeof(str11), ""LB2_E"> Clan: "WHITE_E"%s "RED_E"|| "LB2_E"Rank: "WHITE_E"%s", pClanName[p3], GangPositions[pClanRank[p3]][E_gang_pos_name]);
		}
		else format(str11, sizeof(str11), ""LB2_E"> Clan: "WHITE_E"None "RED_E"|| "LB2_E"Rank: "WHITE_E"None");
	 	/*GetPlayerCity(p3, pCity, sizeof(pCity));
		format(str9, sizeof(str9), ""LB2_E"> Country: "WHITE_E"%s "RED_E"|| "LB2_E"City: "WHITE_E"%s "RED_E"|| "LB2_E"GMT: "WHITE_E"%d", pCountry[p3], pCity, GetPlayerGMT(p3));*/
		//format(str9, sizeof(str9), ""LB2_E"> Country: "WHITE_E"- "RED_E"|| "LB2_E"City: "WHITE_E"- "RED_E"|| "LB2_E"GMT: "WHITE_E"-");
		format(line4, sizeof(line4), ""WHITEP_E"%s's stats:\n\n{FF4545}Main Statistics:\n%s\n\
		"LB2_E"> Score: "WHITE_E"%d\n"LB2_E"> Cookies: "WHITE_E"%d\n"LB2_E"> Money: "LG_E"$"WHITE_E"%s\n"LB2_E"> Bank Money: "LG_E"$"WHITE_E"%s\n%s\n\n", PlayersName, str3, pScore[p3], pCookies[p3], ToCurrency(pCash[p3]), ToCurrency(BankMoney[p3]), str11);
		strcat(line3, line4);

		/// General Statistics

		if(pTotalHours[p3] == 0)
		{
			if(pTotalMinutes[p3] == 0)
			{
	  			format(str4, sizeof(str4), ""LB2_E"> Total Online Time: "WHITE_E"%d seconds", pTotalSeconds[p3]);
			}
			else format(str4, sizeof(str4), ""LB2_E"> Total Online Time: "WHITE_E"%d minutes and %d seconds", pTotalMinutes[p3], pTotalSeconds[p3]);
		}
		else format(str4, sizeof(str4), ""LB2_E"> Total Online Time: "WHITE_E"%d hours, %d minutes and %d seconds", pTotalHours[p3], pTotalMinutes[p3], pTotalSeconds[p3]);

		format(line4, sizeof(line4), "{FF4545}General Statistics:\n"LB2_E"> Member Since: "WHITE_E"%s\n"LB2_E"> Last Online: "WHITE_E"%s\n%s\n", pRegDate[p3], pLastDate[p3], str4);
		strcat(line3, line4);

		format(line4, sizeof(line4), ""LB2_E"> Kills: "WHITE_E"%d / "LB2_E"Deaths: "WHITE_E"%d "RED_E"|| "LB2_E"KDR: "WHITE_E"%0.2f\n"LB2_E"> Highest Killstreak: "WHITE_E"%d\n\
		\n", pInfo[p3][pKills], pInfo[p3][pDeaths], Float:pInfo[p3][pKills]/Float:pInfo[p3][pDeaths], TotalKillStreak[p3]);
		strcat(line3, line4);

		// Other Statistics
	   	switch(pSpawnPlace[p3])
		{
			case -1: str7 = ""LB2_E"> Spawn Place: "WHITE_E"Random.";
			case 0: str7 = ""LB2_E"> Spawn Place: "WHITE_E"San Fierro";
	 		case 1: str7 = ""LB2_E"> Spawn Place: "WHITE_E"Bayside";
	  		case 2: str7 = ""LB2_E"> Spawn Place: "WHITE_E"Abandoned Airport";
	   		case 3: str7 = ""LB2_E"> Spawn Place: "WHITE_E"Las Venturas Airport";
	    	case 4: str7 = ""LB2_E"> Spawn Place: "WHITE_E"HalfPipe";
	    	case 5: str7 = ""LB2_E"> Spawn Place: "WHITE_E"San Fierro Airport";
	   		case 6: str7 = ""LB2_E"> Spawn Place: "WHITE_E"Own House.";
		}
		format(line4, sizeof(line4), "{FF4545}Other Statistics:\n%s\n"LB2_E"> Skin ID: "WHITE_E"%d\n"LB2_E"> Duels Won: "WHITE_E"%d\n"LB2_E"> Events Won: "WHITE_E"%d\n"LB2_E"> Arrests: "WHITE_E"%d\n\
		"LB2_E"> Races Won: "WHITE_E"%d\n"LB2_E"> Moneybags Found: "WHITE_E"%d\n"LB2_E"> Cookie Jars Found: "WHITE_E"%d\n", str7, GetPlayerSkin(p3), pDuelsWon[p3], pInfo[p3][pEventsWon], pArrests[p3], pInfo[p3][pRacesWon], pInfo[p3][pMBFound], pCookieJars[p3]);
		strcat(line3, line4);

		format(line4, sizeof(line4), ""LB2_E"> Reactions Won: "WHITE_E"%d\n"LB2_E"> Math Quiz's Won: "WHITE_E"%d\n"LB2_E"> Fallouts Won: "WHITE_E"%d\n"LB2_E"> Derbys Won: "WHITE_E"%d\n"LB2_E"> Report Points: "WHITE_E"%d\
		\n\n"LB2_E"> Description:\n   "WHITEP_E"%s\n", reactionsWon[p3], mathsWon[p3], pFallouts[p3], pDerbys[p3], pReportPoints[p3], pDescription[p3]);
		strcat(line3, line4);

		ShowPlayerDialog(playerid, NO_DIALOG, DIALOG_STYLE_MSGBOX, ""ORANGE_E"UoS: "WHITE_E"Offline Statistics", line3, "Close", "");
}
here is the main CMD

Код:
CMD:offlinestats(playerid, params[]) return cmd_ostats(playerid, params);
CMD:ostats(playerid, params[])
{
	if(pLogged[playerid] == false)
	{
	    Error(playerid, "You must be logged in to check statistics!");
	    return true;
	}

	if(sscanf(params, "s[24]", tmp))
	{
	    Usage(playerid, "/ostats <player name>");
 		return true;
 	}

 	foreach(Player, ii)
	{
		GetPlayerName(ii, PlayerName, MAX_PLAYER_NAME);

		if(!strcmp(PlayerName, tmp, true))
		{
			Error(playerid, "Player is online, you can use /stats on them.");
	  		return true;
	  	}
	}

	// Load User Data
    new cVar[500];
    new cQuery[600];

	strcat(cVar, "adminlevel,hours,minutes,seconds,kills,deaths,money,score,premium,saveskin,cookies,events_won,races_won,MB_found,reg_time,last_time,");
	strcat(cVar, "bmoney,rtests,arrests,killstreak,description,duels_won,fallouts,clan_id,clan_rank,derby_wins,cookiejars,spawnplace,maths,report_points,helper");

	new escaped_name[24];
	mysql_real_escape_string(tmp, escaped_name);
	format(cQuery, sizeof(cQuery), "SELECT %s FROM players WHERE name='%s' LIMIT 1", cVar, escaped_name);
	MySQL_query(cQuery, true, "LoadStats", "is", playerid, escaped_name);

	return true;
}
Reply


Messages In This Thread
Weird - by ctopha - 31.07.2016, 22:15
Re: Weird - by Konstantinos - 31.07.2016, 22:20
Re: Weird - by ctopha - 31.07.2016, 23:00
Re: Weird - by Konstantinos - 01.08.2016, 09:10
Re: Weird - by ctopha - 01.08.2016, 13:24
Re: Weird - by Konstantinos - 01.08.2016, 13:28
Re: Weird - by ctopha - 01.08.2016, 15:00

Forum Jump:


Users browsing this thread: 1 Guest(s)