INI_WriteInt(Account, "Money", GetPlayerMoney(playerid));
INI_WriteInt(Account, "FightStyle", GetPlayerFightingStyle(playerid));
foreach2(w, MAX_WEAPON_SLOTS)
{
GetPlayerWeaponData(playerid, w, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
INI_WriteInt(Account, "Weapon", PlayerInfo[playerid][Weapons][w]);
INI_WriteInt(Account, "Ammo", PlayerInfo[playerid][Ammo][w]);
}
INI_Close(Account);
pawn Code:
|
foreach2(w, MAX_WEAPON_SLOTS)
{
GetPlayerWeaponData(playerid, w, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
new Str[2][10];
format( Str[0], sizeof (Str[0]), "Weapon_%d", PlayerInfo[playerid][Weapons][w] );
format( Str[1], sizeof (Str[1]), "Ammo_%d", PlayerInfo[playerid][Ammo][w] );
INI_WriteInt(Account, Str[0], PlayerInfo[playerid][Weapons][w]);
INI_WriteInt(Account, Str[1], PlayerInfo[playerid][Ammo][w]);
}
new wString[10], aString[10];
Weapon_1 = 1 Ammo_1 = 1 Weapon_0 = 0 Ammo_0 = 0 Weapon_22 = 22 Ammo_34 = 34 Weapon_29 = 29 Ammo_120 = 120
Works correctly but i was need to change variabli str to:
pawn Code:
Code:
Weapon_1 = 1 Ammo_1 = 1 Weapon_0 = 0 Ammo_0 = 0 Weapon_22 = 22 Ammo_34 = 34 Weapon_29 = 29 Ammo_120 = 120 |
foreach2(w, MAX_WEAPON_SLOTS)
{
GetPlayerWeaponData(playerid, w, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
new Str1[10], Str2[10]
format( Str1, sizeof (Str1), "Weapon_%d", w );
format( Str2, sizeof (Str2), "Ammo_%d", w );
INI_WriteInt(Account, Str, PlayerInfo[playerid][Weapons][w]);
INI_WriteInt(Account, Str2, PlayerInfo[playerid][Ammo][w]);
}
Weapon_0 = 1
Ammo_0 = 1
Weapon_1 = 0
Ammo_1 = 0
Weapon_2 = 22
Ammo_2 = 34
Weapon_3 = 29
Ammo_3 = 120
Weapon_0 = 1 Ammo_0 = 1 Weapon_1 = 0 Ammo_1 = 0 Weapon_2 = 22 Ammo_2 = 34 Weapon_3 = 0 Ammo_3 = 0 Weapon_4 = 0 Ammo_4 = 0 Weapon_5 = 31 Ammo_5 = 120 Weapon_6 = 0 Ammo_6 = 0 Weapon_7 = 0 Ammo_7 = 0 Weapon_8 = 0 Ammo_8 = 0 Weapon_9 = 0 Ammo_9 = 0 Weapon_10 = 0 Ammo_10 = 0 Weapon_11 = 0 Ammo_11 = 0 Weapon_12 = 0 Ammo_12 = 0
Code:
Weapon_0 = 1 Ammo_0 = 1 Weapon_1 = 0 Ammo_1 = 0 Weapon_2 = 22 Ammo_2 = 34 Weapon_3 = 0 Ammo_3 = 0 Weapon_4 = 0 Ammo_4 = 0 Weapon_5 = 31 Ammo_5 = 120 Weapon_6 = 0 Ammo_6 = 0 Weapon_7 = 0 Ammo_7 = 0 Weapon_8 = 0 Ammo_8 = 0 Weapon_9 = 0 Ammo_9 = 0 Weapon_10 = 0 Ammo_10 = 0 Weapon_11 = 0 Ammo_11 = 0 Weapon_12 = 0 Ammo_12 = 0 |
I'll let ****** now to help you, I have to go to sleep for now, can't write the code to you, however, i know the right code!
|
foreach2(w, MAX_WEAPON_SLOTS)
{
new wString[32], aString[32];
format(wString, sizeof(wString), "Weapon_%d", w);
format(aString, sizeof(aString), "Ammo_%d", w);
GivePlayerWeaponEx(playerid, strval(wString), strval(aString));
}
foreach2(w, MAX_WEAPON_SLOTS)
{
new wString[32], aString[32];
format(wString, sizeof(wString), "Weapon_%d", w);
format(aString, sizeof(aString), "Ammo_%d", w);
GivePlayerWeaponEx(playerid, strval(wString), strval(aString));
}
new str[32];
foreach2(w, MAX_WEAPON_SLOTS)
{
GetPlayerWeaponData(playerid, w, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
format(str, sizeof (str), "Weapon_%d", w);
INI_WriteInt(Account, str, PlayerInfo[playerid][Weapons][w]);
format(str, sizeof (str), "Ammo_%d", w);
INI_WriteInt(Account, str, PlayerInfo[playerid][Ammo][w]);
}
// put this inside the loading callback
new str[32];
foreach2(w, MAX_WEAPON_SLOTS)
{
format(str, sizeof (str), "Weapon_%d", w);
INI_Int(str, PlayerInfo[playerid][Weapons][w]);
format(str, sizeof (str), "Ammo_%d", w);
INI_Int(str, PlayerInfo[playerid][Ammo][w]);
GivePlayerWeapon(playerid, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
}
function LoadPlayerStats(playerid, name[], value[])
{
if(!strcmp(name, "Money")) GivePlayerMoneyEx(playerid, strval(value));
if(!strcmp(name, "FightStyle")) SetPlayerFightingStyle(playerid, strval(value));
if(!strcmp(name, "Armour")) SetPlayerArmour(playerid, floatstr(value));
foreach2(w, MAX_WEAPON_SLOTS)
{
new string[32];
format(string, sizeof (string), "Weapon_%d", w);
INI_Int(string, PlayerInfo[playerid][Weapons][w]);
format(string, sizeof (string), "Ammo_%d", w);
INI_Int(string, PlayerInfo[playerid][Ammo][w]);
GivePlayerWeaponEx(playerid, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
}
return true;
}
GivePlayerWeaponEx(playerid, strval(PlayerInfo[playerid][Weapons][w]), strval(PlayerInfo[playerid][Ammo][w]));
You mean this?
pawn Code:
|
INI_Int( string, strval( PlayerInfo[ playerid ][ Weapons ][ w ] ) );
C:\Documents and Settings\Kakarotto\Pulpit\Sa-Mp Serwer 0.3c\gamemodes\pes.pwn(2159) : error 022: must be lvalue (non-constant) C:\Documents and Settings\Kakarotto\Pulpit\Sa-Mp Serwer 0.3c\gamemodes\pes.pwn(2162) : error 022: must be lvalue (non-constant) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors.
foreach2(w, MAX_WEAPON_SLOTS)
{
new string[32];
format(string, sizeof(string), "Weapon_%d", w);
INI_Int(string, strval(PlayerInfo[playerid][Weapons][w]));
format(string, sizeof(string), "Ammo_%d", w);
INI_Int(string, strval(PlayerInfo[playerid][Ammo][w]));
GivePlayerWeaponEx(playerid, PlayerInfo[playerid][Weapons][w], PlayerInfo[playerid][Ammo][w]);
}
Code:
C:\Documents and Settings\Kakarotto\Pulpit\Sa-Mp Serwer 0.3c\gamemodes\pes.pwn(2159) : error 022: must be lvalue (non-constant) C:\Documents and Settings\Kakarotto\Pulpit\Sa-Mp Serwer 0.3c\gamemodes\pes.pwn(2162) : error 022: must be lvalue (non-constant) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors. pawn Code:
|
format(string, sizeof(string), "Weapon_%d", w);
if(!strcmp(string, name, true)) PlayerInfo[playerid][Weapons][w] = strval(value);
Sorry, I forgot how INI_Int worked, do like ****** said and use strval instead.
pawn Code:
I'm not sure if you can give weapons before player is spawned anyway. |