View Single Post
Old 11/06/2019, 01:53 PM   #1
Blake95
Little Clucker
 
Join Date: Nov 2016
Posts: 27
Reputation: 2
Default Price or item does not update

This is a item purchase script I'm going to do, when I click on item and it will be added into your cart. ItemCache has ten slots which is max_cart_item but when I click on them, it does not add to your list.


Code:
if(GetPVarInt(playerid, "UI_Purchase"))
	{
	    new index_id = PlayerCache_GetFree(playerid);
	    for(new x = 0; x < 10; x ++)
	    {
	        if(clickedid == Store_UI[x])
	        {
	            if(PlayerCache_GetFree(playerid))
	            {
	            	PlayerInfo[playerid][ItemCache][index_id] = x;
	            	SetPVarInt(playerid, "PriceCount", GetPVarInt(playerid, "PriceCount") + ReturnItemPrice(x));
					if(PlayerInfo[playerid][ItemCache][x])
					{
					    if(GetPVarInt(playerid, "PriceCount") - ReturnItemPrice(PlayerInfo[playerid][ItemCache][index_id]) > 0)
					    {
					    	SetPVarInt(playerid, "PriceCount", GetPVarInt(playerid, "PriceCount") - ReturnItemPrice(PlayerInfo[playerid][ItemCache][index_id]));
						}
						else
						{
						    SetPVarInt(playerid, "PriceCount", 0);
						}
						PlayerInfo[playerid][ItemCache][index_id] = -1;
					}
				}
				new price[24];
				format(price, 24, "~g~$%s", MoneyFormat(GetPVarInt(playerid, "PriceCount")));
				PlayerTextDrawSetString(playerid, Store_Cart[playerid], price);
	        }
	    }

Code:
stock PlayerCache_GetFree(playerid)
{
	for(new i = 0; i < 10; i ++)
	{
		if(!PlayerInfo[playerid][ItemCache][i])
			return i+1;
	}
	return -1;
}

Code:
[debug] Run time error 4: "Array index out of bounds"
[debug]  Attempted to read/write array element at negative index -1
[debug] AMX backtrace:
[debug] #0 000bbbc4 in public OnPlayerClickTextDraw (0, 17) in csrp.amx
HELP ME! Thank you!
Blake95 is offline   Reply With Quote