SA-MP Forums Archive
Inventory System Problem. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Inventory System Problem. (/showthread.php?tid=510326)



Inventory System Problem. - jueix - 30.04.2014

Having a problem with inventory system can anyone help? This script was working when I only had 5 item name's saving and / loading in the string.

Код:

C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(509) : error 075: input line too long (after substitutions)
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : error 032: array index out of bounds (variable "InventoryInfo")
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : warning 215: expression has no effect
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : error 001: expected token: ";", but found ")"
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : error 029: invalid expression, assumed zero
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


5 Errors.
Code
pawn Код:
//enum

enum iInfo
{
    pSlotUsed[15],
    pItems[15],
    pItemsAmmo[15],
    pItem1Name[128],
    pItem2Name[128],
    pItem3Name[128],
    pItem4Name[128],
    pItem5Name[128],
    pItem6Name[128],
    pItem7Name[128],
    pItem8Name[128],
    pItem9Name[128],
    pItem10Name[128],
    pItem11Name[128],
    pItem12Name[128],
    pItem13Name[128],
    pItem14Name[128],
    pItem15Name[128]
};
new InventoryInfo[MAX_PLAYERS][iInfo];

//the string
new string[256];
            format(string, sizeof(string), "1:%s\n2:%s\n3:%s\n4:%s\n5:%s\n6:%s\n7:%s\n8:%s\n9:%s\n10:%s\n11:%s\n12:%s\n13:%s\n14:%s\n15:%s", InventoryInfo[playerid][pItem1Name],InventoryInfo[playerid][pItem2Name],InventoryInfo[playerid][pItem3Name],InventoryInfo[playerid][pItem4Name],InventoryInfo[playerid][pItem5Name],InventoryInfo[playerid][pItem6Name],InventoryInfo[playerid][pItem7Name],InventoryInfo[playerid][pItem8Name],InventoryInfo[playerid][pItem9Name],InventoryInfo[playerid][pItem10Name],InventoryInfo[playerid][pItem11Name],InventoryInfo[playerid][pItem12Name],InventoryInfo[playerid][pItem13Name],InventoryInfo[playerid][pItem14Name],InventoryInfo[playerid][pItem15Name]);



Re: Inventory System Problem. - juandiegox - 30.04.2014

Quote:
Originally Posted by jueix
Посмотреть сообщение
Having a problem with inventory system can anyone help? This script was working when I only had 5 item name's saving and / loading in the string.

Код:

C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(509) : error 075: input line too long (after substitutions)
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : error 032: array index out of bounds (variable "InventoryInfo")
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : warning 215: expression has no effect
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : error 001: expected token: ";", but found ")"
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : error 029: invalid expression, assumed zero
C:\Users\nathan\Desktop\Jueix's Roleplay\gamemodes\J-RP.pwn(750) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


5 Errors.
Code
pawn Код:
//enum

enum iInfo
{
    pSlotUsed[15],
    pItems[15],
    pItemsAmmo[15],
    pItem1Name[128],
    pItem2Name[128],
    pItem3Name[128],
    pItem4Name[128],
    pItem5Name[128],
    pItem6Name[128],
    pItem7Name[128],
    pItem8Name[128],
    pItem9Name[128],
    pItem10Name[128],
    pItem11Name[128],
    pItem12Name[128],
    pItem13Name[128],
    pItem14Name[128],
    pItem15Name[128]
};
new InventoryInfo[MAX_PLAYERS][iInfo];

//the string
new string[256];
            format(string, sizeof(string), "1:%s\n2:%s\n3:%s\n4:%s\n5:%s\n6:%s\n7:%s\n8:%s\n9:%s\n10:%s\n11:%s\n12:%s\n13:%s\n14:%s\n15:%s", InventoryInfo[playerid][pItem1Name],InventoryInfo[playerid][pItem2Name],InventoryInfo[playerid][pItem3Name],InventoryInfo[playerid][pItem4Name],InventoryInfo[playerid][pItem5Name],InventoryInfo[playerid][pItem6Name],InventoryInfo[playerid][pItem7Name],InventoryInfo[playerid][pItem8Name],InventoryInfo[playerid][pItem9Name],InventoryInfo[playerid][pItem10Name],InventoryInfo[playerid][pItem11Name],InventoryInfo[playerid][pItem12Name],InventoryInfo[playerid][pItem13Name],InventoryInfo[playerid][pItem14Name],InventoryInfo[playerid][pItem15Name]);
do not use the code as long, that is why it does not work and gives errors
Use this..
pawn Код:
new string[256] ,str[256];

format(string, sizeof(string), "1:%s\n2:%s\n3:%s\n4:%s\n5:%s\n6:%s\n7:%s\n8:%s\n9:%s\n10:%s",InventoryInfo[playerid][pItem1Name],InventoryInfo[playerid][pItem2Name],InventoryInfo[playerid][pItem3Name],InventoryInfo[playerid][pItem4Name],InventoryInfo[playerid][pItem5Name],InventoryInfo[playerid][pItem6Name],InventoryInfo[playerid][pItem7Name],InventoryInfo[playerid][pItem8Name],InventoryInfo[playerid][pItem9Name],InventoryInfo[playerid][pItem10Name]);
format(str, sizeof(str), "\n11:%s\n12:%s\n13:%s\n14:%s\n15:%s", InventoryInfo[playerid][pItem11Name],InventoryInfo[playerid][pItem12Name],InventoryInfo[playerid][pItem13Name],InventoryInfo[playerid][pItem14Name],InventoryInfo[playerid][pItem15Name]);



Re: Inventory System Problem. - vassilis - 30.04.2014

Quote:
Originally Posted by juandiegox
Посмотреть сообщение
do not use the code as long, that is why it does not work and gives errors
Use this..
pawn Код:
new string[256] ,str[256];

format(string, sizeof(string), "1:%s\n2:%s\n3:%s\n4:%s\n5:%s\n6:%s\n7:%s\n8:%s\n9:%s\n10:%s",InventoryInfo[playerid][pItem1Name],InventoryInfo[playerid][pItem2Name],InventoryInfo[playerid][pItem3Name],InventoryInfo[playerid][pItem4Name],InventoryInfo[playerid][pItem5Name],InventoryInfo[playerid][pItem6Name],InventoryInfo[playerid][pItem7Name],InventoryInfo[playerid][pItem8Name],InventoryInfo[playerid][pItem9Name],InventoryInfo[playerid][pItem10Name]);
format(str, sizeof(str), "\n11:%s\n12:%s\n13:%s\n14:%s\n15:%s", InventoryInfo[playerid][pItem11Name],InventoryInfo[playerid][pItem12Name],InventoryInfo[playerid][pItem13Name],InventoryInfo[playerid][pItem14Name],InventoryInfo[playerid][pItem15Name]);
or simply use strcat function...


Re: Inventory System Problem. - jueix - 30.04.2014

Quote:
Originally Posted by juandiegox
Посмотреть сообщение
do not use the code as long, that is why it does not work and gives errors
Use this..
pawn Код:
new string[256] ,str[256];

format(string, sizeof(string), "1:%s\n2:%s\n3:%s\n4:%s\n5:%s\n6:%s\n7:%s\n8:%s\n9:%s\n10:%s",InventoryInfo[playerid][pItem1Name],InventoryInfo[playerid][pItem2Name],InventoryInfo[playerid][pItem3Name],InventoryInfo[playerid][pItem4Name],InventoryInfo[playerid][pItem5Name],InventoryInfo[playerid][pItem6Name],InventoryInfo[playerid][pItem7Name],InventoryInfo[playerid][pItem8Name],InventoryInfo[playerid][pItem9Name],InventoryInfo[playerid][pItem10Name]);
format(str, sizeof(str), "\n11:%s\n12:%s\n13:%s\n14:%s\n15:%s", InventoryInfo[playerid][pItem11Name],InventoryInfo[playerid][pItem12Name],InventoryInfo[playerid][pItem13Name],InventoryInfo[playerid][pItem14Name],InventoryInfo[playerid][pItem15Name]);
How will I put that into a dialog like both the strings?


Re: Inventory System Problem. - juandiegox - 30.04.2014

Quote:
Originally Posted by jueix
Посмотреть сообщение
How will I put that into a dialog like both the strings?
pawn Код:
ShowPlayerDialog(playerid, YOU DIALOG, DIALOG STYLE YOU LIKE, "Tittle", string, "ok", "");



Re: Inventory System Problem. - iZN - 30.04.2014

Quote:
Originally Posted by juandiegox
Посмотреть сообщение
pawn Код:
ShowPlayerDialog(playerid, YOU DIALOG, DIALOG STYLE YOU LIKE, "Tittle", string, "ok", "");
You have to use strcat. That won't even work.


Re: Inventory System Problem. - juandiegox - 30.04.2014

Quote:
Originally Posted by iZN
Посмотреть сообщение
You have to use strcat. That won't even work.
if the function only uses that will bring problems and errors, better let me use the format, and if it does not you will notice that you do not need what you say.


Re: Inventory System Problem. - jueix - 30.04.2014

I found a way, Thanks for the help guys.


Re: Inventory System Problem. - milanosie - 01.05.2014

Quote:
pawn Код:
pItemsAmmo[15],
    pItem1Name[128],
    pItem2Name[128],
    pItem3Name[128],
    pItem4Name[128],
    pItem5Name[128],
    pItem6Name[128],
    pItem7Name[128],
    pItem8Name[128],
    pItem9Name[128],
    pItem10Name[128],
    pItem11Name[128],
    pItem12Name[128],
    pItem13Name[128],
    pItem14Name[128],
    pItem15Name[128]
This code is terrible and ugly, you should use a single variable for the name with a size/amount, easier to loop through.