(177) : error 009: invalid array size (negative, zero or out of bounds) (179) : error 009: invalid array size (negative, zero or out of bounds)
new MoneyPickup[]; // Line 177
new MoneyPickupID;
new PickupAmount[]; // Line 179
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i = 0; i < 500; i++)
{
if(MoneyPickupID == MoneyPickup[i])
{
new string[256];
GivePlayerMoney(playerid, PickupAmount[i]);
format(string, sizeof(string), "System: You picked up the money bag and received $%d", PickupAmount[i]);
SCM(playerid, green, string);
DestroyPickup(MoneyPickup[i]);
}
}
return 1;
}
CMD:dropmoney(playerid, params[])
{
new string[256], money, Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(sscanf(params, "i", money)) return SCM(playerid, yellow, "Syntax: /dropmoney [amount]");
MoneyPickup[MoneyPickupID] = CreatePickup(1550, 19, X+2, Y, Z, 0);
PickupAmount[MoneyPickupID] = money;
MoneyPickupID++;
format(string, sizeof(string), "System: You have dropped $%d", money);
SCM(playerid, success, string);
return 1;
}
new MoneyPickup[500]; // Line 177
new MoneyPickupID;
new PickupAmount[500]; // Line 179
You have to set an array size.
PHP код:
|
new MoneyPickup[500] = {-1, ...};
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i; i < sizeof(MoneyPickup); i++)
{
if(pickupid == MoneyPickup[i])
{
new string[256];
GivePlayerMoney(playerid, PickupAmount[i]);
format(string, sizeof(string), "System: You picked up the money bag and received $%d", PickupAmount[i]);
SCM(playerid, green, string);
DestroyPickup(MoneyPickup[i]);
MoneyPickup[i] = -1;
break;
}
}
return 1;
}
CMD:dropmoney(playerid, params[])
{
new string[256], money, Float:X, Float:Y, Float:Z,Float:A;
GetPlayerPos(playerid, X, Y, Z), GetPlayerFacingAngle(playerid, A);
if(sscanf(params, "i", money)) return SCM(playerid, yellow, "Syntax: /dropmoney [amount]");
if(money <= 0) return SCM(playerid, yellow, "Please use only positive Money!");
X += 2.0 * floatsin(-A, degrees);
Y += 2.0 * floatcos(-A, degrees);
MoneyPickup[MoneyPickupID] = CreatePickup(1550, 19, X, Y, Z, GetPlayerVirtualWorld(playerid));
PickupAmount[MoneyPickupID] = money;
MoneyPickupID++;
format(string, sizeof(string), "System: You have dropped $%d", money);
SCM(playerid, success, string);
return 1;
}
Write it like this:
PHP код:
![]() //Edited: Thanks Calisthenics |
CMD:dropmoney(playerid, params[])
{
new string[256], money, Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z), GetPlayerFacingAngle(playerid, A);
if(sscanf(params, "i", money)) return SCM(playerid, yellow, "|- Syntax: /dropmoney [amount] -|");
if(!IsPlayerSpawned(playerid)) return SCM(playerid, red, "|- System: You must be spawned in to use this command -|");
if(GetPlayerMoney(playerid) < 1000) return SCM(playerid, red, "|- System: You do not have enough money to drop -|");
if(money <= 0) return SCM(playerid, gray, "|- System: You can only enter in a positive number -|");
if(money < 1000 || money > 1000000) return SCM(playerid, gray, "|- System: You can only drop between $1000 and $1,000,000 -|");
X += 2.0 * floatsin(-A, degrees);
Y += 2.0 * floatcos(-A, degrees);
MoneyPickup[MoneyPickupID] = CreatePickup(1550, 19, X+2, Y, Z, GetPlayerVirtualWorld(playerid));
PickupAmount[MoneyPickupID] = money;
MoneyPickupID++;
GivePlayerMoney(playerid, -money);
format(string, sizeof(string), "|- System: You have dropped $%d -|", money);
SCM(playerid, success, string);
return 1;
}