U3Games
SAMP | Desarrollo & Soporte => Desarrollo de Servidores => Filterscripts => Mensaje iniciado por: Swarlog en Ene 30, 2023, 11:07 PM
● 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;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////