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;
}
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;
}