I don't see anything bad so what I'm going to do now is put the code into an empty gamemode and test it myself.
Edit: I solved it,
It seems you do it the wrong way, it get the weapon but if it find 1 weapon not in range it stops,
this is how you should do it:
pawn Код:
///////////////////////////////////////
#define MAX_GUNS (10)
new droppedguns = 0;
enum GunEnum
{
wID,
oID,
Float:wX,
Float:wY,
Float:wZ
}
new GunInfo[MAX_GUNS][GunEnum];
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx = 0;
new cmd[256];
cmd = strtok(cmdtext, idx);
///////////////////////////////////////
if(!strcmp(cmdtext, "/get", true))
{
new var = 0;//look really good here
for(new gg = 0; gg < MAX_GUNS; gg++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, GunInfo[gg][wX], GunInfo[gg][wY], GunInfo[gg][wZ]))
{
DestroyObject(GunInfo[gg][oID]);
SendClientFormatMessage(playerid,-1,"%f %f %f 5.0",GunInfo[gg][wX], GunInfo[gg][wY], GunInfo[gg][wZ]);
++var;//here
}
}
if(var == 0)//and here
{
SendClientMessage(playerid, COLOR_GREY, "There is no weapon near you! ");
}
else
{
SendClientFormatMessage(playerid,COLOR_GREY,"You picked up %d weapons",var);
}
return 1;
}
if(!strcmp(cmdtext, "/put", true))
{
droppedguns++;
GetPlayerPos(playerid, GunInfo[droppedguns][wX], GunInfo[droppedguns][wY], GunInfo[droppedguns][wZ]);
GunInfo[droppedguns][oID] = CreateObject(1318, GunInfo[droppedguns][wX], GunInfo[droppedguns][wY], GunInfo[droppedguns][wZ]+0.0, 0.0, 0.0, 0.0);
return 1;
}
///////////////////////////////////////
so your commands shoud look like:
pawn Код:
if(!strcmp(cmdtext, "/command1", true))
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " You need to login first !");
return 1;
}
new amount = 0;
for(new gg = 0; gg < MAX_WEAPONSO; gg++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, GunInfo[gg][wX], GunInfo[gg][wY], GunInfo[gg][wZ]))
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
strmid(GunInfo[gg][LastOwner], pname, 0, strlen(pname), 255);
s_GivePlayerWeapon(playerid, GunInfo[gg][wID], GunInfo[gg][wAmmo]);
DestroyObject(GunObj[gg]);
++amount;
}
}
if(amount == 0)
{
SendClientMessage(playerid, COLOR_GREY, "There is no weapon near you! ");
}
}
return 1;
}
if(!strcmp(cmdtext, "/command2", true))
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " You need to login first !");
return 1;
}
if(GetPlayerWeapon(playerid) > 0)
{
new pname[MAX_PLAYER_NAME], pgunname[128];
droppedguns++;
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerPos(playerid, GunInfo[droppedguns][wX], GunInfo[droppedguns][wY], GunInfo[droppedguns][wZ]);
GunInfo[droppedguns][wID] = GetPlayerWeapon(playerid);
GunInfo[droppedguns][wAmmo] = GetPlayerAmmo(playerid);
GetWeaponName(GunInfo[droppedguns][wID], pgunname, sizeof(pgunname));
strmid(GunInfo[droppedguns][LastOwner], pname, 0, strlen(pname), 255);
s_GivePlayerWeapon(playerid, GunInfo[droppedguns][wID], -GunInfo[droppedguns][wAmmo]);
format(string, sizeof(string), "%d %d %f %f %f %d %s ", droppedguns, GunInfo[droppedguns][wID], GunInfo[droppedguns][wX], GunInfo[droppedguns][wY], GunInfo[droppedguns][wZ], GunInfo[droppedguns][wAmmo], GunInfo[droppedguns][LastOwner]);
SendClientMessage(playerid, COLOR_WHITE, string);
GunObj[droppedguns] = CreateObject(GetGunObjectID(GunInfo[droppedguns][wID]), GunInfo[droppedguns][wX], GunInfo[droppedguns][wY], GunInfo[droppedguns][wZ]-0.9, 90.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "You do not have a weapon ! ");
return 1;
}
}
return 1;
}