GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: huhboy - 2013. szeptember 25. - 22:22:03

Cím: Pénz eldobás
Írta: huhboy - 2013. szeptember 25. - 22:22:03
a segítségkérésnél kérte valaki, de kirakom ide is, hátha valakinek jól jön még :)
a lényege, hogy a játékos eldobhat egy bizonyos összeget, amit bárki felvehet :D
Teszteltem, mûködik :D
 
new eldobottpenz;
new penzpickup;
#define penz 1111
stock IsNumeric(string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string > \'9\' || string < \'0\') return 0;
}
return 1;
}
CMD:eldob(playerid)
{
if(eldobottpenz > 0)
{
SendClientMessage(playerid,0xFF0000C8,\"Már valaki dobott el pénzt!\");
}
else {
ShowPlayerDialog(playerid, penz, DIALOG_STYLE_INPUT, \"Pénz Eldobás\", \"Add meg az eldobni kívánt pénz összeget:\", \"Eldob\", \"Mégse\");}
return 1;
}
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == penz)
    {
        if(!response) return SendClientMessage(playerid, 0xFF0000C8, \"***Nem dobtál el pénzt!\");
        else if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,0xFF0000C8,\"Nincs ennyi pénzed!\");
        else if(!IsNumeric(inputtext))
        {
        ShowPlayerDialog(playerid, penz, DIALOG_STYLE_INPUT, \"Pénz Eldobás\", \"Add meg az eldobni kívánt pénz összeget:\", \"Eldob\", \"Mégse\");
        SendClientMessage(playerid,0xFF0000C8,\"Csak számokat adj meg!\");
        }
else
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
        GivePlayerMoney(playerid,-strval(inputtext));
new string[128];
eldobottpenz = strval(inputtext);
format(string,sizeof(string),\"Eldobtál %d$-t!\",strval(inputtext));
SendClientMessage(playerid,0xffffffaa,string);
penzpickup = CreatePickup(1212, 23, X, Y+2,Z+0.9, -1);
}
return 1;
    }
    return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == penzpickup)
    {
        GivePlayerMoney(playerid, eldobottpenz);
        DestroyPickup(penzpickup);
 
SendClientMessage(playerid, 0xffffff,\"Megtaláltad az eldobott pénzt!\");
        eldobottpenz = 0;
    }
    return 1;
}
Cím: Pénz eldobás
Írta: BoOy - 2013. szeptember 25. - 22:27:01
Szép lett! :D
U.I: megcsinálhatnád úgy is hogy egyszerre mindenki dobhat el pénzt :).
Cím: Pénz eldobás
Írta: huhboy - 2013. szeptember 25. - 22:38:38
Idézetet írta: BoOy date=1380140821\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43105\" data-ipsquote-contentclass=\"forums_Topic
Szép lett! :D
U.I: megcsinálhatnád úgy is hogy egyszerre mindenki dobhat el pénzt :).
 
köszi :) de nem köthetem id-hez, mert a pickuppickup-nál a szerver nem tudná, hogy melyiket adja meg xd vagy lehet máshogy? :D
Cím: Pénz eldobás
Írta: BoOy - 2013. szeptember 25. - 23:44:30
Lehet azt :D
 
#include <a_samp>
#include <zcmd>
#define MAX_PENZ 500
new eldobottpenz[MAX_PENZ];
new penzpickup[MAX_PENZ];
new penzid;
#define penz 1111
stock IsNumeric(string[])
{
    for (new i = 0, j = strlen(string); i < j; i++)
    {
            if (string > \'9\' || string < \'0\') return 0;
    }
    return 1;
}
CMD:eldob(playerid)
{
    ShowPlayerDialog(playerid, penz, DIALOG_STYLE_INPUT, \"Pénz Eldobás\", \"Add meg az eldobni kívánt pénz összeget:\", \"Eldob\", \"Mégse\");
    return 1;
}
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == penz)
    {
        if(!response) return SendClientMessage(playerid, 0xFF0000C8, \"***Nem dobtál el pénzt!\");
        if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid,0xFF0000C8,\"Nincs ennyi pénzed!\");
          if(!IsNumeric(inputtext))
        {
           ShowPlayerDialog(playerid, penz, DIALOG_STYLE_INPUT, \"Pénz Eldobás\", \"Add meg az eldobni kívánt pénz összeget:\", \"Eldob\", \"Mégse\");
           SendClientMessage(playerid,0xFF0000C8,\"Csak számokat adj meg!\");
        }
        else
        {
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        GivePlayerMoney(playerid,-strval(inputtext));
        new string[128];
        eldobottpenz[penzid] = strval(inputtext);
        format(string,sizeof(string),\"Eldobtál %d$-t!\",strval(inputtext));
        SendClientMessage(playerid,0xffffffaa,string);
        penzpickup[penzid] = CreatePickup(1212, 3, X, Y+2,Z+0.9, -1);
        penzid++;
        }
        return 1;
    }
    return 1;
}
CMD:cash(playerid)
{
GivePlayerMoney(playerid,5432);
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new x;x<MAX_PENZ;x++)
{
    if(pickupid == penzpickup
  • )

    {
        GivePlayerMoney(playerid, eldobottpenz
  • );

   SendClientMessage(playerid, 0xffffff,\"Megtaláltad az eldobott pénzt!\");
   return 0;
    }
}
return 1;
}
Cím: Pénz eldobás
Írta: Lester - 2013. szeptember 26. - 10:52:51
Széééép :D