Weapons.
#1

So currently I have the following code:


pawn Код:
new weapons[13][2];
for (new i = 0; i < 13; i++)
{
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
}
How could I get that line there, to update the following:

pawn Код:
Player[playerid][Weapon1] =
Player[playerid][Weapon2] =
Player[playerid][Weapon3] =
Player[playerid][Weapon4] =
Player[playerid][Weapon5] =
Player[playerid][Weapon6] =
Player[playerid][Weapon7] =
Player[playerid][Weapon8] =
Player[playerid][Weapon9] =
Player[playerid][Weapon10] =
Player[playerid][Weapon11] =
Player[playerid][Weapon12] =
Player[playerid][Weapon1Ammo] =
Player[playerid][Weapon2Ammo] =
Player[playerid][Weapon3Ammo] =
Player[playerid][Weapon4Ammo] =
Player[playerid][Weapon5Ammo] =
Player[playerid][Weapon6Ammo] =
Player[playerid][Weapon7Ammo] =
Player[playerid][Weapon8Ammo] =
Player[playerid][Weapon9Ammo] =
Player[playerid][Weapon10Ammo] =
Player[playerid][Weapon11Ammo] =
Player[playerid][Weapon12Ammo] =
This is what's confusing me.

Thanks.
Reply
#2

Why don't you try a timer which gets repeated always?
Reply
#3

Instead of using weap1, weap2, weap3 etc as a naming convention for your weapons, use an array and a loop
pawn Код:
new g_playerWeapons[MAX_PLAYERS][13][2];
for (new i = 0; i < 13; i++)
{
    GetPlayerWeaponData(playerid, i, g_playerWeapons[i][0], g_playerWeapons[i][1]);
}
EDIT: enumerators don't support 2D+ arrays.
Reply
#4

Because I don't understand how to get them to store the results in the enumerated variables.

If you could show me that, then I'd understand; because I've been trying to solve this for some time now and it just doesn't like me.

Thanks.

Edit:

Quote:
Originally Posted by VincentDunn
Посмотреть сообщение
Instead of using weap1, weap2, weap3 etc as a naming convention for your weapons, use an array and a loop
pawn Код:
g_playerWeapons[MAX_PLAYERS][13][2]
for (new i = 0; i < 13; i++)
{
    GetPlayerWeaponData(playerid, i, g_playerWeapons[i][0], g_playerWeapons[i][1]);
}
How would I get that to save to the SQL database from what I already have? D:
Reply
#5

pawn Код:
for(new weaponIndex; weaponIndex < 13; weaponIndex++)
{
    GetPlayerWeaponData(playerid, weaponIndex, Player[playerid][Weapon][weaponIndex], Player[playerid][WeaponAmmo][weaponIndex]);
}
Define the variables like this:

pawn Код:
enum e_Player
{
    Weapon[13],
    WeaponAmmo[13],
}

new Player[MAX_PLAYERS][e_Player];
Reply
#6

Quote:
Originally Posted by SuperViper
Посмотреть сообщение
pawn Код:
for(new weaponIndex; weaponIndex < 13; weaponIndex++)
{
    GetPlayerWeaponData(playerid, weaponIndex, Player[playerid][Weapon][weaponIndex], Player[playerid][WeaponAmmo][weaponIndex]);
}
Define the variables like this:

pawn Код:
enum e_Player
{
    Weapon[13],
    WeaponAmmo[13],
}

new Player[MAX_PLAYERS][e_Player];
Then to save them, use Player[playerid][Weapon[1]] and so on and so forth?
Reply
#7

Quote:
Originally Posted by iGetty
Посмотреть сообщение
Then to save them, use Player[playerid][Weapon[1]] and so on and so forth?
Player[playerid][Weapon][1]
Reply
#8

Thank you all.

Edit:

For ammo it would be:

Player[playerid][WeaponAmmo][1]?
Reply
#9

Yup. Also, it starts at 0.
Reply
#10

I have it all saving correctly; but on loading it does this:

Код:
[09:03 - 33] 1: 7 1A: 1 | 2: 0 2A: 0 | 3: 0 3A: 0 | 4: 31 4A: 3100 | 5: 0 5A: 0 | 6: 0 6A: 0 | 7: 0 7A: 0 | 8: 0 8A: 0 | 9: 0 9A: 0 | 10: 0 10A: 0 | 11: 0 11A: 0 | 12:  12A:
This is the script:

pawn Код:
stock GiveOwnedWeapons(playerid)
{
    new string[256];
    format(string, sizeof(string), "1: %d 1A: %d | 2: %d 2A: %d | 3: %d 3A: %d | 4: %d 4A: %d | 5: %d 5A: %d | 6: %d 6A: %d | 7: %d 7A: %d | 8: %d 8A: %d | 9: %d 9A: %d | 10: %d 10A: %d | 11: %d 11A: %d | 12: %d 12A: %d ",
    Player[playerid][Weapon][1], Player[playerid][WeaponAmmo][1], Player[playerid][Weapon][2], Player[playerid][WeaponAmmo][2], Player[playerid][Weapon][3], Player[playerid][WeaponAmmo][4], Player[playerid][Weapon][5], Player[playerid][WeaponAmmo][5],
    Player[playerid][Weapon][6], Player[playerid][WeaponAmmo][6], Player[playerid][Weapon][7], Player[playerid][WeaponAmmo][7], Player[playerid][Weapon][8], Player[playerid][WeaponAmmo][8], Player[playerid][Weapon][9], Player[playerid][WeaponAmmo][9],
    Player[playerid][Weapon][10], Player[playerid][WeaponAmmo][10], Player[playerid][Weapon][11], Player[playerid][WeaponAmmo][11], Player[playerid][Weapon][12], Player[playerid][WeaponAmmo][12]);
    print(string);

    if(Player[playerid][Weapon][1] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][1], Player[playerid][WeaponAmmo][1]);
    }
    if(Player[playerid][Weapon][2] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][2], Player[playerid][WeaponAmmo][2]);
    }
    if(Player[playerid][Weapon][3] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][3], Player[playerid][WeaponAmmo][3]);
    }
    if(Player[playerid][Weapon][4] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][4], Player[playerid][WeaponAmmo][4]);
    }
    if(Player[playerid][Weapon][5] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][5], Player[playerid][WeaponAmmo][5]);
    }
    if(Player[playerid][Weapon][6] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][6], Player[playerid][WeaponAmmo][6]);
    }
    if(Player[playerid][Weapon][7] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][7], Player[playerid][WeaponAmmo][7]);
    }
    if(Player[playerid][Weapon][8] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][8], Player[playerid][WeaponAmmo][8]);
    }
    if(Player[playerid][Weapon][9] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][9], Player[playerid][WeaponAmmo][9]);
    }
    if(Player[playerid][Weapon][10] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][10], Player[playerid][WeaponAmmo][10]);
    }
    if(Player[playerid][Weapon][11] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][11], Player[playerid][WeaponAmmo][11]);
    }
    if(Player[playerid][Weapon][12] != 0)
    {
        GivePlayerWeapon(playerid, Player[playerid][Weapon][12], Player[playerid][WeaponAmmo][12]);
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)