10.12.2011, 00:39
Bueno he tenido un problema con el junkbuster, lo tengo con el JBC_, para que no kickeee cuando les de armas en todos los scripts del GM, pero hay 2 esepciones en los que los kickea, al tomar un arma botada y al darla, todas las demas ocaciones que da armas en scripts no los kickea, pero en estas 2 si, espero me puedan ayudar
aki dejo el code de botar las armas
y el de dar armas
aki dejo el code de botar las armas
pawn Код:
stock TirarArmas(playerid)
{
new Arma[14], Cartuchos[14];
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
for(new wep = 0; wep < 14; wep ++)
{
GetPlayerWeaponData(playerid, wep, Arma[wep], Cartuchos[wep]);
if(PickupID[Arma[wep]] != -1)
{
new model = PickupID[Arma[wep]];
new randid = random(300);
new Float:X2 = X + (random(3) - random(3));
new Float:Y2 = Y + (random(3) - random(3));
Pickup[randid] = CreatePickup(model, 4, X2, Y2, Z);
SetTimerEx("DestruirPickupMuerto", 25 * 1000, false, "d", randid);
}
}
}
y el de dar armas
pawn Код:
if(strcmp(cmd,"/dar",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new x_job[256];
x_job = strtok(cmdtext, idx);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE,"|--------------------------------------------------------------|");
SendClientMessage(playerid, COLOR_WHITE,"|USA: /dar [Opcion] [Jugador ID / Nombre] |");
SendClientMessage(playerid, COLOR_LIGHTRED,"|Opciones Disponibles: Arma, Materiales, Drogas, Chaleco |");
SendClientMessage(playerid, COLOR_WHITE,"| |");
SendClientMessage(playerid, COLOR_WHITE,"|--------------------------------------------------------------|");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(strcmp(x_job,"arma",true) == 0)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid == playerid)
{
SendClientMessage(playerid,COLOR_GREY,"No puedes pasarte las armas a ti mismo!");
return 1;
}
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new gunname[100];
new gunID = GetPlayerWeapon(playerid);
new gunAmmo = GetPlayerAmmo(playerid);
new plyWeapons[12];
new plyAmmo[12];
if(gunID != 0)
{
GetWeaponName(gunID, gunname, sizeof(gunname));
for(new slot = 0; slot != 12; slot++)
{
new wep, ammo;
GetPlayerWeaponData(playerid, slot, wep, ammo);
if(wep != gunID)
{
GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]);
}
}
JBC_GivePlayerWeapon(giveplayerid,gunID,gunAmmo);
format(string, sizeof(string),"Le has dado un Arma a %s", giveplayer);
SendClientMessage(playerid,COLOR_GREEN, string);
format(string, sizeof(string),"Has recibido un Arma de %s",sendername);
SendClientMessage(giveplayerid,COLOR_GREEN, string);
format(string, sizeof(string), "* %s le paso algo a %s.", sendername, giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
ResetPlayerWeapons(playerid);
for(new slot = 0; slot != 12; slot++)
{
JBC_GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]);
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"No puedes dar tus manos!. ");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"No estas cerca de este jugador!");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY," Nombre/ID del Jugador INVALIDO");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY," Jugador No Activo");
}
}