Portal SAMP
[Lançamento] Dropar Dinheiro em pickup ao morrer - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Lançamentos (https://portalsamp.com/forumdisplay.php?fid=26)
+---- Fórum: Filterscripts (https://portalsamp.com/forumdisplay.php?fid=9)
+---- Tópico: [Lançamento] Dropar Dinheiro em pickup ao morrer (/showthread.php?tid=4260)



Dropar Dinheiro em pickup ao morrer - Notknown - 02/12/2023

Esse Fs ira fazer você dropar dinheiro em pickup ao morrer, dentro do arquivo compactado tera duas versões
uma ira fazer você perder o dinheiro todo e a outra versão ira fazer você perder apenas 500, aí embaixo deixarei um video mostrando as duas versões




esse e meu primeiro fs então caso encontre algum bug (que não e novidade kkkk) me diga para que eu possa arrumar
:)








RE: Dropar Dinheiro em pickup ao morrer - Aranha - 02/12/2023

tem como colocar em pastebin tambem?


RE: Dropar Dinheiro em pickup ao morrer - Notknown - 02/12/2023

(02/12/2023 19:46)Aranha Escreveu: tem como colocar em pastebin tambem?

Pronto ja adicionei ao pastebin


RE: Dropar Dinheiro em pickup ao morrer - NelsonC. - 02/12/2023

Bacano a tua ideia, estive a ver o código do pastebin e dá para deixar o código mais simplificado e otimizado

Refiz o código mas não testei, se puder ver e se funcionar direitinho, pode até atualizar o seu código

Código PHP:
#include <a_samp>

new ValorPickUpDropMoney[5];

public 
OnPlayerDeath(playeridkilleridreason)
{
    if (GetPlayerMoney(playerid) > 0)
    {
        ValorPickUp GetPlayerMoney(playerid) / 5;
        ResetPlayerMoney(playerid);

        new Float:xFloat:yFloat:z;
        GetPlayerPos(playeridxyz);

        for (new 0sizeof(DropMoney); i++)
            DropMoney[i] = CreatePickup(12124random(2) - 1random(2) - 10.8);
    }
}

public 
OnPlayerPickUpPickup(playeridpickupid)
{
    for (new 0sizeof(DropMoney); i++)
    {
        if (pickupid == DropMoney[i])
        {
            GivePlayerMoney(playeridValorPickUp);
            DestroyPickup(DropMoney[i]);
            break;
        }
    }
    return 1;




RE: Dropar Dinheiro em pickup ao morrer - Carlos Victor - 03/12/2023

Código PHP:
#include <a_samp>

enum pickupDrop {
    
pickupID,
    
pickupMoney,

    
Float:pickupPos[3],
    
pickupInterior,
    
pickupVirtualWorld
};
new 
PickupDrop[MAX_PLAYERS][pickupDrop];

public 
OnPlayerDisconnect(playeridreason)
{
    
PickupDrop_Destroy(playerid);
    return 
1;
}

public 
OnPlayerDeath(playeridkilleridreason)
{
    
PickupDrop_Create(playerid);
    
ResetPlayerMoney(playerid);
    return 
1;
}

public 
OnPlayerPickUpPickup(playeridpickupid)
{
    static
        
id;

    if((
id PickupDrop_Nearest(playerid)) != -1) {
        
GivePlayerMoney(playeridPickupDrop[id][pickupMoney]);

        
PickupDrop_Destroy(id);
    }
    return 
1;


PickupDrop_Create(playerid)
{
    if(
GetPlayerMoney(playerid) <= 0)
        return 
0;

    if(
IsValidDynamicPickup(PickupDrop[playerid][pickupID]))
        
DestroyDynamicPickup(PickupDrop[playerid][pickupID]);

    
GetPlayerPos(playeridPickupDrop[playerid][pickupPos][0], PickupDrop[playerid][pickupPos][1], PickupDrop[playerid][pickupPos][2]);
    
PickupDrop[playerid][pickupInterior] = GetPlayerInterior(playerid);
    
PickupDrop[playerid][pickupVirtualWorld] = GetPlayerVirtualWorld(playerid);

    
PickupDrop[playerid][pickupMoney] = GetPlayerMoney(playerid) / 5;
    
PickupDrop[playerid][pickupID] = CreateDynamicPickup(12124PickupDrop[playerid][pickupPos][0] + random(2) - 1PickupDrop[playerid][pickupPos][1] + random(2) - 1PickupDrop[playerid][pickupPos][2] - 0.8PickupDrop[playerid][pickupVirtualWorld], PickupDrop[playerid][pickupInterior]);
    return 
1;
}

PickupDrop_Nearest(playerid) {    
    for(new 
0GetPlayerPoolSize(); <= ji++) if(IsPlayerConnected(i) {
        if(
IsPlayerInRangeOfPoint(playerid2.5PickupDrop[playerid][pickupPos][0], PickupDrop[playerid][pickupPos][1], PickupDrop[playerid][pickupPos][2]) && GetPlayerInterior(playerid) == PickupDrop[playerid][pickupInterior] && GetPlayerVirtualWorld(playerid) && PickupDrop[playerid][pickupVirtualWorld])
            return 
i;
    }
    return -
1;
}

PickupDrop_Destroy(id) {
    if(
IsValidDynamicPickup(PickupDrop[playerid][pickupID]))
        
DestroyDynamicPickup(PickupDrop[playerid][pickupID]);
    
    
PickupDrop[id][pickupMoney] = 0;

    
PickupDrop[id][pickupPos][0] = 0.0;
    
PickupDrop[id][pickupPos][1] = 0.0;
    
PickupDrop[id][pickupPos][2] = 0.0;

    
PickupDrop[id][pickupInterior] = 0;
    
PickupDrop[id][pickupVirtualWorl] = 0;
    return 
1;


Fiz uma versão dessa forma, vê se ficou bom