Tegnap írtam. Ezzel a kóddal egyszerre több fegyvert adhatunk a játékosnak.
stock GiveWeapon(playerid, ammo, ...)
{
new x = 0;
for(; x < numargs()-2; x++)
{
GivePlayerWeapon(playerid, getarg(x+2), ammo);
}
}
Példa a használatára:
GiveWeapon(playerid, 100, 24, 31, 38);
Így adtunk neki 100 tölténnyel a 24 -es, a 31 -es, és a 38 -as ID jû fegyverbõl. (Deagle, M4, Minigun)
Új:
Ugyanúgy ezzel a funkcióval egy sorban több fegyvert adhatunk egy játékosnak, de ezzel a kóddal különbözõ töltényekkel. Használata ugyanolyan, csak a fegyver ID után írd be a töltényszámot. Írhatsz annyi fegyvert és lõszert, amennyit szeretnél.
stock GiveWeapon(playerid, ...)
{
new x = 1;
for(; x != ((numargs()-1)/2)+1; x++)
{
GivePlayerWeapon(playerid, getarg((x+x)-1), getarg(x+x));
}
}
Például egy M4 -et 250 tölténnyel, Desert Eaglet 50 tölténnyel, és egy 1000 -res sprayt.
GiveWeapon(playerid, 31, 250, 24, 50, 41, 1000);
Nem tudom, te hogy tesztelted, de nekem ezekkel tér vissza:
[22:27:42] ammo: 1000
[22:27:42] weapons: 97
[22:27:42] ammo: 1000
[22:27:42] weapons: 0
[22:27:42] ammo: 1000
[22:27:42] weapons: 32
[22:27:42] ammo: 1000
[22:27:42] weapons: 54
[22:27:42] ammo: 1000
[22:27:42] weapons: 643
[22:27:42] ammo: 1000
[22:27:42] weapons: 75
[22:27:42] ammo: 1000
[22:27:42] weapons: 643
Kód:
#include <a_samp>
public OnFilterScriptInit()
{
GiveWeapon(0, 1000, 32, 54, 643, 75, 643);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
stock GiveWeapon(playerid, ammo, ...)
{
new x = 0;
for(; x < numargs(); x++)
{
//GivePlayerWeapon(playerid, getarg(x), ammo);
printf(\"ammo: %d\", ammo);
printf(\"weapons: %d\", getarg(x));
}
}
És a pontos kód így nézne ki:
stock GiveWeapon(playerid, ammo, ...)
{
new x = 0;
for(; x < numargs()-2; x++)
{
GivePlayerWeapon(playerid, getarg(x+2), ammo);
}
}
És így már tökéletes is:
[22:32:28] ammo: 1000
[22:32:28] weapons: 32
[22:32:28] ammo: 1000
[22:32:28] weapons: 54
[22:32:28] ammo: 1000
[22:32:28] weapons: 643
[22:32:28] ammo: 1000
[22:32:28] weapons: 75
[22:32:28] ammo: 1000
[22:32:28] weapons: 643
Illetve az alábbi kód is hibás:
stock GiveWeapon(playerid, ...)
{
new x = 0;
for(; x < numargs(); x++)
{
GivePlayerWeapon(playerid, getarg(x), getarg(x+1));
}
}
Nekem az alábbit adta ki:
[09:59:50] weapons: 45
[09:59:50] ammo: 32
[09:59:50] weapons: 32
[09:59:50] ammo: 1000
[09:59:50] weapons: 1000
[09:59:50] ammo: 54
[09:59:50] weapons: 54
[09:59:50] ammo: 1000
[09:59:50] weapons: 1000
[09:59:50] ammo: 4323
[09:59:50] weapons: 4323
[09:59:50] ammo: 1000
[09:59:50] weapons: 1000
[09:59:50] ammo: 45
Helyes használat:
stock GiveWeapon(playerid, ...)
{
new x = 1;
for(; x != ((numargs()-1)/2)+1; x++)
{
GivePlayerWeapon(playerid, getarg((x+x)-1), getarg(x+x));
}
}
És nekem már ezt adta ki:
[09:57:38] weapons: 32
[09:57:38] ammo: 1000
[09:57:38] weapons: 54
[09:57:38] ammo: 1000
[09:57:38] weapons: 4323
[09:57:38] ammo: 1000