Weapon Giving problem. -
iGetty - 16.11.2012
The following code doesn't actually give the player the weapon.
pawn Код:
stock GiveOwnedWeapons(playerid)
{
GivePlayerWeapon(playerid, Player[playerid][Weapon][0], Player[playerid][WeaponAmmo][0]);
printf("0: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][0], Player[playerid][WeaponAmmo][0]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][1], Player[playerid][WeaponAmmo][1]);
printf("1: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][1], Player[playerid][WeaponAmmo][1]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][2], Player[playerid][WeaponAmmo][2]);
printf("2: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][2], Player[playerid][WeaponAmmo][2]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][3], Player[playerid][WeaponAmmo][3]);
printf("3: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][3], Player[playerid][WeaponAmmo][3]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][4], Player[playerid][WeaponAmmo][4]);
printf("4: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][4], Player[playerid][WeaponAmmo][4]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][5], Player[playerid][WeaponAmmo][5]);
printf("5: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][5], Player[playerid][WeaponAmmo][5]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][6], Player[playerid][WeaponAmmo][6]);
printf("6: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][6], Player[playerid][WeaponAmmo][6]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][7], Player[playerid][WeaponAmmo][7]);
printf("7: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][7], Player[playerid][WeaponAmmo][7]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][8], Player[playerid][WeaponAmmo][8]);
printf("8: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][8], Player[playerid][WeaponAmmo][8]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][9], Player[playerid][WeaponAmmo][9]);
printf("9: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][9], Player[playerid][WeaponAmmo][9]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][10], Player[playerid][WeaponAmmo][10]);
printf("10: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][10], Player[playerid][WeaponAmmo][10]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][11], Player[playerid][WeaponAmmo][11]);
printf("11: GivePlayerWeapon(playerid, %d, %d);", Player[playerid][Weapon][11], Player[playerid][WeaponAmmo][11]);
return 1;
}
Although it is reading it correctly, here's the printf results:
Код:
[38:20 - 37] 0: GivePlayerWeapon(playerid, 1, 10);
[38:20 - 37] 1: GivePlayerWeapon(playerid, 2, 10);
[38:20 - 37] 2: GivePlayerWeapon(playerid, 3, 10);
[38:20 - 37] 3: GivePlayerWeapon(playerid, 4, 10);
[38:20 - 37] 4: GivePlayerWeapon(playerid, 5, 10);
[38:20 - 37] 5: GivePlayerWeapon(playerid, 6, 10);
[38:20 - 37] 6: GivePlayerWeapon(playerid, 7, 10);
[38:20 - 37] 7: GivePlayerWeapon(playerid, 8, 10);
[38:20 - 37] 8: GivePlayerWeapon(playerid, 9, 10);
[38:20 - 37] 9: GivePlayerWeapon(playerid, 10, 10);
[38:20 - 37] 10: GivePlayerWeapon(playerid, 11, 10);
[38:20 - 37] 11: GivePlayerWeapon(playerid, 12, 10);
I set all the ammo to 10 in the SQL, then gave the weapon id to the name id. (EG: Weapon1 - 1, Weapon2 - 2)
That read correctly.
It just isn't giving the weapon as it should..
Re: Weapon Giving problem. -
iGetty - 19.11.2012
Bump.
Re: Weapon Giving problem. -
Glad2BeHere - 19.11.2012
i did something for u (Y) try it, if u dont like it i can always redo it, it draft it from my /afrisk and tried to make it understand for you, Hope u like it
,
pawn Код:
//under the stock u have above
for(new i=0; i<13; i++)
{
GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
if(weapons[i][0] != Player[playerid][weapon][i] && weapons[i][1] != 0)
{
format(string, sizeof(string), " %s (Ammo: %d) (Hacked)", RWN(weapons[i][0]), weapons[i][1]);
SendClientMessage(playerid, green, string);
weaps++;
}
else if(weapons[i][0] == Player[playerid][weapon][i] && weapons[i][0] != 0)
{
format(string, sizeof(string), " %s (Ammo: %d)", RWN(Player[playerid][weapon][i]), weapons[i][1]);
SendClientMessage(playerid, green, string);
weaps++;
}
}
//put it somewhere
stock RWN(weaponid)
{
new name[32];
GetWeaponName(weaponid, name, sizeof(name));
if(weaponid == 0) format(name, sizeof(name), "None");
return name;
}
Re: Weapon Giving problem. -
iGetty - 19.11.2012
What's that got to do with my problem?
Re: Weapon Giving problem. -
Eric - 19.11.2012
What script are you using?
It's possible your script has some form of anti-cheat and that function won't work.
Nothing seems wrong with the script.
Search around for something else that gives a weapon and see what function it uses.
For example, my script uses GivePlayerValidWeapon.
Re: Weapon Giving problem. -
iGetty - 19.11.2012
It's my own script, from 0 lines. I haven't implemented an anti-cheat yet so that's not the problem.
Re: Weapon Giving problem. -
Glad2BeHere - 19.11.2012
pawn Код:
stock GiveOwnedWeapons(playerid)
{
GivePlayerWeapon(playerid, Player[playerid][Weapon][0], Player[playerid][WeaponAmmo][0]);
printf("0: GivePlayerWeapon(playerid,(GUN) %s,(AMMO) %d);", RWN(Player[playerid][Weapon][0]), Player[playerid][WeaponAmmo][0]);
return 1;
}
stock RWN(weaponid)
{
new name[32];
GetWeaponName(weaponid, name, sizeof(name));
if(weaponid == 0) format(name, sizeof(name), "None");
return name;
}
test that n tell me if it works
Re: Weapon Giving problem. -
iGetty - 19.11.2012
I did this:
Set weapon1 = 1, weapon2 = 2, weapon3 = 3 and so on, up to 12.
I set all of the ammo to 10, and edited the stock GiveOwnedWeapons to this;
pawn Код:
stock GiveOwnedWeapons(playerid)
{
GivePlayerWeapon(playerid, Player[playerid][Weapon][0], Player[playerid][WeaponAmmo][0]);
printf("0: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][0]), Player[playerid][WeaponAmmo][0]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][1], Player[playerid][WeaponAmmo][1]);
printf("1: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][1]), Player[playerid][WeaponAmmo][1]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][2], Player[playerid][WeaponAmmo][2]);
printf("2: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][2]), Player[playerid][WeaponAmmo][2]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][3], Player[playerid][WeaponAmmo][3]);
printf("3: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][3]), Player[playerid][WeaponAmmo][3]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][4], Player[playerid][WeaponAmmo][4]);
printf("4: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][4]), Player[playerid][WeaponAmmo][4]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][5], Player[playerid][WeaponAmmo][5]);
printf("5: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][5]), Player[playerid][WeaponAmmo][5]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][6], Player[playerid][WeaponAmmo][6]);
printf("6: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][6]), Player[playerid][WeaponAmmo][6]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][7], Player[playerid][WeaponAmmo][7]);
printf("7: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][7]), Player[playerid][WeaponAmmo][7]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][8], Player[playerid][WeaponAmmo][8]);
printf("8: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][8]), Player[playerid][WeaponAmmo][8]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][9], Player[playerid][WeaponAmmo][9]);
printf("9: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][9]), Player[playerid][WeaponAmmo][9]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][10], Player[playerid][WeaponAmmo][10]);
printf("10: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][10]), Player[playerid][WeaponAmmo][10]);
GivePlayerWeapon(playerid, Player[playerid][Weapon][11], Player[playerid][WeaponAmmo][11]);
printf("11: GivePlayerWeapon(playerid, %s, %d);", RWN(Player[playerid][Weapon][11]), Player[playerid][WeaponAmmo][11]);
return 1;
}
The RWN stock is in place.
It printed this:
Код:
[50:17 - 22] 0: GivePlayerWeapon(playerid, Brass Knuckles, 10);
[50:17 - 22] 1: GivePlayerWeapon(playerid, Golf Club, 10);
[50:17 - 22] 2: GivePlayerWeapon(playerid, Nite Stick, 10);
[50:17 - 22] 3: GivePlayerWeapon(playerid, Knife, 10);
[50:17 - 22] 4: GivePlayerWeapon(playerid, Baseball Bat, 10);
[50:17 - 22] 5: GivePlayerWeapon(playerid, Shovel, 10);
[50:17 - 22] 6: GivePlayerWeapon(playerid, Pool Cue, 10);
[50:17 - 22] 7: GivePlayerWeapon(playerid, Katana, 10);
[50:17 - 22] 8: GivePlayerWeapon(playerid, Chainsaw, 10);
[50:17 - 22] 9: GivePlayerWeapon(playerid, Dildo, 10);
[50:17 - 22] 10: GivePlayerWeapon(playerid, Dildo, 10);
[50:17 - 22] 11: GivePlayerWeapon(playerid, Vibrator, 10);
What's seriously wrong with this? -.-
Re: Weapon Giving problem. -
Glad2BeHere - 19.11.2012
i gave u the names
, u want the ids instead?
and if u put weapon ids 1-12 then u will see 1-12 -____-, i think nothing is wrong with it
id put the names of weaponid 1-12 and the ammo it has
i think the function is working 100%
Re: Weapon Giving problem. -
Ballu Miaa - 19.11.2012
Yo Getty , Hows it going bro?. What i think is the problem is here!
Код:
[50:17 - 22] 0: GivePlayerWeapon(playerid, Brass Knuckles, 10);
[50:17 - 22] 1: GivePlayerWeapon(playerid, Golf Club, 10);
[50:17 - 22] 2: GivePlayerWeapon(playerid, Nite Stick, 10);
[50:17 - 22] 3: GivePlayerWeapon(playerid, Knife, 10);
[50:17 - 22] 4: GivePlayerWeapon(playerid, Baseball Bat, 10);
[50:17 - 22] 5: GivePlayerWeapon(playerid, Shovel, 10);
[50:17 - 22] 6: GivePlayerWeapon(playerid, Pool Cue, 10);
[50:17 - 22] 7: GivePlayerWeapon(playerid, Katana, 10);
[50:17 - 22] 8: GivePlayerWeapon(playerid, Chainsaw, 10);
[50:17 - 22] 9: GivePlayerWeapon(playerid, Dildo, 10);
[50:17 - 22] 10: GivePlayerWeapon(playerid, Dildo, 10);
[50:17 - 22] 11: GivePlayerWeapon(playerid, Vibrator, 10);
Listen half of those Weapons take Slot 0 and 1 for weapons so you wont be able to get all of those weapons but i think you will be getting one or two weapons on hand after loading them for a playerid.
Try Putting those values as Deagle , Combat Shotgun , Ak47 , Grenade. And then check them!
Btw where exactly are you calling the function below?
pawn Код:
GiveOwnedWeapons(playerid);