Tudom hogy van egy jó pár drogrendszer de ezt elengedtem magam mellett és én is írtam egyet. ^^
Lehet hogy megcsinálom késõbb dialogosra és rakok a drog használásához 1-2 funkciót.
(Fordítsátok le a pwn fájlt mert az ékezetes ZCMD miatt nem bírom csak ha szerepel a módban egy stock)
Szükséges includeok: sscanf2, zcmdParancsok:/drogvesz
/kellekvesz
/szivLetöltés: http://www.solidfiles.com/d/913727353b/
#include < a_samp >
#include < sscanf2 >
#include < zcmd >
#define PIROS 0xe02121AA
#define ZOLD 0x4ee021AA
#define KEK 0x21aae0AA
#define SZURKE 0xafb5b8AA
enum drogok
{
weed,
joint,
kokain,
heroin,
speed,
lsd
}
enum kellekek
{
cigipapir,
szipucso,
injekciostu
}
new drog[MAX_PLAYERS][drogok];
new kellek[MAX_PLAYERS][kellekek];
main() { }
CMD:drogok(playerid)
{
new str[128];
SendClientMessage(playerid, KEK, \">> Nálad lévõ drogok és kellékek <<\");
format(str, 128, \"Fû: %dg | Kokain: %dg | Heroin: %dg | Speed: %dg | LSD Bélyeg: %d lap\", drog[playerid][weed], drog[playerid][kokain], drog[playerid][heroin], drog[playerid][speed], drog[playerid][lsd]);
SendClientMessage(playerid, KEK, str);
format(str, 128, \"Cigipapír: %d db | Szipucsõ: %d db | Injekcióstû: %d db\", kellek[playerid][cigipapir], kellek[playerid][szipucso], kellek[playerid][injekciostu]);
SendClientMessage(playerid, KEK, str);
return 1;
}
CMD:drogvesz(playerid, params[])
{
new drogfajta[10];
new mennyiseg;
new str[128];
if(sscanf(params, \"si\", drogfajta, mennyiseg)) return SendClientMessage(playerid, SZURKE, \"Használat >> /drogvesz [fû, kokain, heroin, speed, lsd] [Mennyiség]\");
if(!strcmp(drogfajta, \"fû\", true))
{
if(GetPlayerMoney(playerid) >= 2500*mennyiseg)
{
format(str, 128, \"Vettél %dgramm Füvet %d$-ért. (/sziv)\", mennyiseg, 2500*mennyiseg);
SendClientMessage(playerid, ZOLD, str);
GivePlayerMoney(playerid, -2500*mennyiseg);
drog[playerid][weed] = drog[playerid][weed]+mennyiseg;
} else {
format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Fû megvételéhez.\", mennyiseg*2500, mennyiseg);
SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"kokain\", true))
{
if(GetPlayerMoney(playerid) >= 15000*mennyiseg)
{
format(str, 128, \"Vettél %dgramm Kokaint %d$-ért. (/sziv)\", mennyiseg, 15000*mennyiseg);
SendClientMessage(playerid, ZOLD, str);
GivePlayerMoney(playerid, -15000*mennyiseg);
drog[playerid][kokain] = drog[playerid][kokain]+mennyiseg;
} else {
format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Kokain megvételéhez.\", mennyiseg*15000, mennyiseg);
SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"heroin\", true))
{
if(GetPlayerMoney(playerid) >= 7000*mennyiseg)
{
format(str, 128, \"Vettél %dgramm Heroint %d$-ért. (/sziv)\", mennyiseg, 7000*mennyiseg);
SendClientMessage(playerid, ZOLD, str);
GivePlayerMoney(playerid, -7000*mennyiseg);
drog[playerid][heroin] = drog[playerid][heroin]+mennyiseg;
} else {
format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Heroin megvételéhez.\", mennyiseg*7000, mennyiseg);
SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"speed\", true))
{
if(GetPlayerMoney(playerid) >= 3000*mennyiseg)
{
format(str, 128, \"Vettél %dgramm Speedet %d$-ért. (/sziv)\", mennyiseg, 3000*mennyiseg);
SendClientMessage(playerid, ZOLD, str);
GivePlayerMoney(playerid, -3000*mennyiseg);
drog[playerid][speed] = drog[playerid][speed]+mennyiseg;
} else {
format(str, 128, \"Nincs elég pénzed! %d$ szükséges %dg Speed megvételéhez.\", mennyiseg*3000, mennyiseg);
SendClientMessage(playerid, PIROS, str);
}
}
else if(!strcmp(drogfajta, \"lsd\", true))
{
if(GetPlayerMoney(playerid) >= 5000*mennyiseg)
{
format(str, 128, \"Vettél %d db LSD Bélyeget %d$-ért. (/sziv)\", mennyiseg, 5000*mennyiseg);
SendClientMessage(playerid, ZOLD, str);
GivePlayerMoney(playerid, -5000*mennyiseg);
drog[playerid][lsd] = drog[playerid][lsd]+mennyiseg;
} else {
format(str, 128, \"Nincs elég pénzed! %d$ szükséges %d db Bélyeg megvételéhez.\", mennyiseg*5000, mennyiseg);
SendClientMessage(playerid, PIROS, str);
}
}
return 1;
}
CMD:kellekvesz(playerid, params[])
{
new targy[10];
if(sscanf(params, \"s\", targy)) return SendClientMessage(playerid, SZURKE, \"Használat >> /kellekvesz [cigipapir, szipucsõ, injekcióstû]\");
if(!strcmp(targy, \"cigipapir\", true))
{
if(GetPlayerMoney(playerid) >= 250)
{
SendClientMessage(playerid, ZOLD, \"Vettél egy cigipapírt 250$-ért. (/teker)\");
kellek[playerid][cigipapir]++;
GivePlayerMoney(playerid, -250);
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! 250$ szükséges.\");
}
}
else if(!strcmp(targy, \"szipucsõ\", true))
{
if(GetPlayerMoney(playerid) >= 500)
{
SendClientMessage(playerid, ZOLD, \"Vettél egy szipucsövet 500$-ért. (/sziv)\");
kellek[playerid][szipucso]++;
GivePlayerMoney(playerid, -500);
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! 500$ szükséges.\");
}
}
else if(!strcmp(targy, \"injekcióstû\", true))
{
if(GetPlayerMoney(playerid) >= 350)
{
SendClientMessage(playerid, ZOLD, \"Vettél egy injekcióstût 350$-ért. (/sziv)\");
kellek[playerid][injekciostu]++;
GivePlayerMoney(playerid, -350);
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég pénzed! 350$ szükséges.\");
}
}
return 1;
}
CMD:teker(playerid)
{
if(drog[playerid][weed] >= 1)
{
if(kellek[playerid][cigipapir] >= 1)
{
SendClientMessage(playerid, KEK, \"Tekertél egy füves cigit.\");
drog[playerid][joint]++;
--drog[playerid][weed];
--kellek[playerid][cigipapir];
} else {
SendClientMessage(playerid, PIROS, \"Szükséged van egy cigipapírra! (/kellekvesz)\");
}
} else {
SendClientMessage(playerid, PIROS, \"Nincsen elég füved.\");
}
return 1;
}
CMD:sziv(playerid, params[])
{
new drogfajta[10];
if(sscanf(params, \"s\", drogfajta)) return SendClientMessage(playerid, SZURKE, \"Használat >> /sziv [fû, kokain, heroin, speed, lsd]\");
if(!strcmp(drogfajta, \"fû\", true))
{
if(drog[playerid][joint] >= 1)
{
SendClientMessage(playerid, KEK, \"Elszívtál egy füves cigit.\");
--drog[playerid][joint];
SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
} else {
SendClientMessage(playerid, PIROS, \"Nincsen füves cigid, tekerned kell egyet. (/teker)\");
}
}
else if(!strcmp(drogfajta, \"kokain\", true))
{
if(drog[playerid][kokain] >= 1)
{
if(kellek[playerid][szipucso] >= 1)
{
SendClientMessage(playerid, KEK, \"Felszívtál egy utca kokaint.\");
--drog[playerid][kokain];
SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
} else {
SendClientMessage(playerid, PIROS, \"Szükséged van egy szipucsõre! (/kellekvesz)\");
}
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég kokainod.\");
}
}
else if(!strcmp(drogfajta, \"heroin\", true))
{
if(drog[playerid][heroin] >= 1)
{
if(kellek[playerid][injekciostu] >= 1)
{
SendClientMessage(playerid, KEK, \"Belõtted magad Heroinnal.\");
--drog[playerid][heroin];
--kellek[playerid][injekciostu];
SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
} else {
SendClientMessage(playerid, PIROS, \"Szükséged van egy Injekcióstûre! (/kellekvesz)\");
}
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég heroinod.\");
}
}
else if(!strcmp(drogfajta, \"speed\", true))
{
if(drog[playerid][speed] >= 1)
{
if(kellek[playerid][szipucso] >= 1)
{
SendClientMessage(playerid, KEK, \"Felszívtál egy utca Speedet.\");
--drog[playerid][speed];
SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
} else {
SendClientMessage(playerid, PIROS, \"Szükséged van egy szipucsõre! (/kellekvesz)\");
}
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég Speeded.\");
}
}
else if(!strcmp(drogfajta, \"lsd\", true))
{
if(drog[playerid][lsd] >= 1)
{
SendClientMessage(playerid, KEK, \"Elnyaltál 1 lap LSD Bélyeget.\");
--drog[playerid][lsd];
SetPlayerDrunkLevel(playerid, GetPlayerDrunkLevel(playerid)+500);
} else {
SendClientMessage(playerid, PIROS, \"Nincs elég LSD-d.\");
}
}
return 1;
}
/*stock replaceaccent(ch)
{
switch(ch)
{
case \'á\': return \'a\';
case \'é\': return \'e\';
case \'í\': return \'i\';
case \'ó\',\'ö\',\'õ\': return \'o\';
case \'ú\',\'ü\',\'û\': return \'u\';
}
return ch;
}*/