Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Drop Money (By Fallout)

Iniciado por Swarlog, Ene 30, 2023, 11:07 PM

Tema anterior - Siguiente tema

Swarlog


Código:

                                                        ///////////////////////
                                                        //////MoneyDrops///////
                                                        //////Created by://////
                                                        ///////°Fallout°///////
                                                        ///////////////////////

#include <a_samp>

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

forward DestroyMoneyPickups(playerid);

//Defines///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#define MoneyLossProcent            25    //how many procent of a player's money do you want him to lose when he dies?
#define TimeToDestroyMoneyPickups     15000 //The time before the money pickups get destroyed
new NumberOfPickups    =                10;    //The amount of pickups that a player will drop when he dies. (MINIMUM 1 & MAXIMIM 10!!!)

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

new MoneyLost[MAX_PLAYERS];
new MoneyPickup[MAX_PLAYERS][10];
new bool:PickupsCreated[MAX_PLAYERS];
new DestroyMoneyPickupst[MAX_PLAYERS];

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public OnFilterScriptExit()
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(PickupsCreated[i] == true)
        {
            for(new n=0; n<NumberOfPickups; n++)
            {
                DestroyPickup(MoneyPickup[i][n]);
            }
            KillTimer(DestroyMoneyPickupst[i]);
        }
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public OnPlayerConnect(playerid)
{
    PickupsCreated[playerid] = false;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public OnPlayerDeath(playerid, killerid, reason)
{
    MoneyLost[playerid] = GetPlayerMoney(playerid)/MoneyLossProcent;
    GivePlayerMoney(playerid, -MoneyLost[playerid]);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(PickupsCreated[playerid] == true)
    {
        for(new n=0; n<NumberOfPickups; n++)
        {
            DestroyPickup(MoneyPickup[playerid][n]);
        }
        KillTimer(DestroyMoneyPickupst[playerid]);
        PickupsCreated[playerid] = false;
    }
   
    if(MoneyLost[playerid] != 0)
    {
        for(new p=0; p<NumberOfPickups; p++)
        {
            MoneyPickup[playerid][p] = CreatePickup(1212,3, X+random(3)-random(3), Y+random(3)-random(3), Z-0.6);
        }
        DestroyMoneyPickupst[playerid] = SetTimerEx("DestroyMoneyPickups", TimeToDestroyMoneyPickups, 0, "i", playerid);
        PickupsCreated[playerid] = true;
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public OnPlayerPickUpPickup(playerid, pickupid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(pickupid == MoneyPickup[i][0] || pickupid == MoneyPickup[i][1] || pickupid == MoneyPickup[i][2] || pickupid == MoneyPickup[i][3]
        || pickupid == MoneyPickup[i][4] || pickupid == MoneyPickup[i][5] || pickupid == MoneyPickup[i][6] || pickupid == MoneyPickup[i][7]
        || pickupid == MoneyPickup[i][8] || pickupid == MoneyPickup[i][9])
        {
            GivePlayerMoney(playerid, MoneyLost[i]/NumberOfPickups);
            DestroyPickup(pickupid);
        }
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

public DestroyMoneyPickups(playerid)
{
    for(new n=0; n<NumberOfPickups; n++)
    {
        DestroyPickup(MoneyPickup[playerid][n]);
    }
    PickupsCreated[playerid] = false;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////