Hey, can I have holster code/filter script?
#4

Quote:
Originally Posted by PrinceOfPersia
Посмотреть сообщение
I want help to SCRIPT this

This's what I mean, really..
No, you DON'T! You want everything done FOR you. I wrote a holstering script for this guy from scratch and tested it myself to make sure it worked before sending it.

His gamemode (NGG-edit) blocked it because of the anti cheat and after preempetive attempts to remove it (by myself) I gave up because all of them were unsuccessful.

He ignored any advice I gave, esp. the advice to avoid NGG scripts and to use a user friendly one.

Here's your holstering script - the one you made me waste 20 minutes on.

pawn Код:
// Mione - http://forum.sa-mp.com/member.php?u=202420

#include <a_samp>
#include <sscanf2>
#include <zcmd>

new bool: pHolster[MAX_PLAYERS];

new pHolsteredWeapon[MAX_PLAYERS];
new pHolsteredAmmo[MAX_PLAYERS];

CMD:ps(playerid, params[])
{
    new sel[20], string[50], gunname[24];

    GetWeaponName(GetPlayerWeapon(playerid), gunname, sizeof(gunname));

    if(sscanf(params, "s[20]", sel)) return SendClientMessage(playerid, -1, "/ps [back]");
    if(pHolster[playerid]) return SendClientMessage(playerid, -1, "You already have something holstered on your back! (/pt)");
    if(GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid, -1, "You don't have a weapon!");

    if(GetPlayerWeapon(playerid) == 29 || GetPlayerWeapon(playerid) == 31 || GetPlayerWeapon(playerid) == 34 || GetPlayerWeapon(playerid) == 25 || GetPlayerWeapon(playerid) == 27)
    {
        if(!strcmp(sel, "back"))
        {
            pHolster[playerid] = true;

            pHolsteredWeapon[playerid] = GetPlayerWeapon(playerid);
            pHolsteredAmmo[playerid] = GetPlayerAmmo(playerid);

            format(string, sizeof(string), "You have holstered your %s! Use /pt to restore it!", gunname);
            SendClientMessage(playerid, -1, string);

            HolsterObject(playerid, pHolsteredWeapon[playerid]);
            RemovePlayerWeapon(playerid, GetPlayerWeapon(playerid));
        }
    }
   
    else SendClientMessage(playerid, -1, "You can't holster this type of weapon!");

    return 1;
}

CMD:holstered(playerid, params[])
{
    new string[75], gunname[24];

    GetWeaponName(pHolsteredWeapon[playerid], gunname, sizeof(gunname));
   
    if(pHolsteredWeapon[playerid] == 0) gunname = "None";
   
    format(string, sizeof(string), "Weapon: %s with %d ammo.", gunname, pHolsteredAmmo[playerid]);
    SendClientMessage(playerid, -1, string);

    return 1;
}

CMD:pt(playerid, params[])
{
    new sel[20], string[50], gunname[24];

    GetWeaponName(pHolsteredWeapon[playerid], gunname, sizeof(gunname));

    if(sscanf(params, "s[20]", sel)) return SendClientMessage(playerid, -1, "/pt [back]");
    if(!pHolster[playerid]) return SendClientMessage(playerid, -1, "You don't have anything in your holster!");

    if(!strcmp(sel, "back"))
    {
        pHolster[playerid] = false;

        pHolsteredWeapon[playerid] = 0;
        pHolsteredAmmo[playerid] = 0;

        GivePlayerWeapon(playerid, pHolsteredWeapon[playerid], pHolsteredAmmo[playerid]);
        RemovePlayerAttachedObject(playerid, 8);

        format(string, sizeof(string), "You have unholstered your %s! Use /ps to holster it!", gunname);
        SendClientMessage(playerid, -1, string);
    }

    return 1;
}

forward HolsterObject(playerid, weaponid);
public HolsterObject(playerid, weaponid)
{
    if(weaponid == 29) SetPlayerAttachedObject(playerid, 8, 353, 1, -0.059, -0.1189, 0.079, 0.0, 62.599, 0.0, 1.0, 1.0, 1.0); // mp5
    if(weaponid == 31) SetPlayerAttachedObject(playerid, 8, 356, 1, -0.059, -0.1189, 0.079, 0.0, 35.098, 0.0, 1.0, 1.0, 1.0); // m4
    if(weaponid == 34) SetPlayerAttachedObject(playerid, 8, 358, 1, -0.059, -0.1189, 0.079, 0.0, 35.098, 0.0, 1.0, 1.0, 1.0); // sniper
    if(weaponid == 25) SetPlayerAttachedObject(playerid, 8, 349, 1, -0.194, -0.1185, 0.195, 0.0, 60.998, 0.0, 1.0, 1.0, 1.0); // shotgun
    if(weaponid == 27) SetPlayerAttachedObject(playerid, 8, 351, 1, -0.194, -0.1185, 0.195, 0.0, 60.998, 0.0, 1.0, 1.0, 1.0); // combat shotgun

    return true;
}

stock RemovePlayerWeapon(playerid, weaponid)
{
    new plyWeapons[12], plyAmmo[12], wep, ammo;

    for(new slot = 0; slot != 12; slot++)
    {
        GetPlayerWeaponData(playerid, slot, wep, ammo);

        if(wep != weaponid)
        {
            GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot]);
        }
    }

    ResetPlayerWeapons(playerid);
   
    for(new slot = 0; slot != 12; slot++)
    {
        GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot]);
    }

    return true;
}
Reply


Messages In This Thread
Hey, can I have holster code/filter script? - by PrinceOfPersia - 19.05.2014, 23:31
Re: Hey, can I have holster code/filter script? - by SickAttack - 19.05.2014, 23:41
Re: Hey, can I have holster code/filter script? - by PrinceOfPersia - 19.05.2014, 23:42
Re: Hey, can I have holster code/filter script? - by Dignity - 19.05.2014, 23:51
Re: Hey, can I have holster code/filter script? - by PrinceOfPersia - 20.05.2014, 09:28

Forum Jump:


Users browsing this thread: 1 Guest(s)