Szerző Téma: Pénz eldobás  (Megtekintve 1361 alkalommal)

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Pénz eldobás
« Dátum: 2013. szeptember 25. - 22:22:03 »
+3 Show voters
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;
}

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Pénz eldobás
« Válasz #1 Dátum: 2013. szeptember 25. - 22:27:01 »
0 Show voters
Szép lett! :D
U.I: megcsinálhatnád úgy is hogy egyszerre mindenki dobhat el pénzt :).

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Pénz eldobás
« Válasz #2 Dátum: 2013. szeptember 25. - 22:38:38 »
0 Show voters
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
« Utoljára szerkesztve: 2013. szeptember 25. - 23:02:13 írta huhboy »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Pénz eldobás
« Válasz #3 Dátum: 2013. szeptember 25. - 23:44:30 »
0 Show voters
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;
}

Pénz eldobás
« Válasz #4 Dátum: 2013. szeptember 26. - 10:52:51 »
0 Show voters
Széééép :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal