~ BÁNYÁSZ MUNKA v1.0 ~
Üdvözletem! Elkészítettem a 2. scriptemet, amely egy Bányász Munka Rendszerre sikeredett! :) Nagyjából 6 óra alatt készítettem el ezt a 601 soros kis scriptecskét! Ne haragudjatok érte, de nem mappoltam semmit, mert ahhoz nem értek! :) Ha valaki felhasználja a scriptet nyugdtan mappoljon hozzá saját elképzelései szerint, én az alapot megadtam hozzá!
A script lényege: Bányászni lehet a Chilliad hegyen(ott, ahol a FAY-RPG-n van a bányász meló), majd a kibányászott nemesfémet leadni az Angel Pine Diamonds üzletben. A scriptfiles mappában létre kell hozni egy \"BanyaszMunka\" mappát, különben a script nem fog mûködni!
A szerver 5 parancsra hallgat:
/táska - Egy szépen kialakított táska, ahol meg tudod tekinteni a pénztárcád tartalmát, illetve a nemesfémek mennyiségét, és a kiválasztott nemesfémet 1 kattintásra eladni.
/gps - Gondolom nem kell magyaráznom, a Bányászati terület illetve az Angel Pine Diamonds van beleírva, méter pontossággal írja a távolságot is.
/árlista - A nemesfémek aktuális grammonkénti árát tudod megtekinteni. (a mod elején lévõ #define PRICE értékeinek átírásával változtathatod az árakat)
/bányász - Ezzel tudod felvenni a bányász melót ha a Bányászati területen tartózkodsz.
/bányászás - Ezzel tudod megkezdeni a munkát, 15 másodperces munkaidõ majd 60 másodperces pihenési idõ van. 12,5% az esély minden fémnek a megtalálására, illetve 12,5% az esély arra is, hogy semmit sem találsz! A kibányászott nemesfémeket el kell vinni a Diamondsba, majd eladni õket. Az így kapott pénzre külön változó van, tehát nem $-t ad, hanem Forintot!
Nemesfémek:
~Arany
~Platina
~Palládium
~Ezüst
~Ródium
~Ruténium
~Réz
RCON adminok a /give parancsal tudnak nemesfémeket addolni a játékosoknak.
Nagyjából ennyi lenne a script, remélem tetszeni fog nektek, hisz elég sokat dolgoztam vele! Jó szórakozást kívánok! :)
Letöltés:
http://data.hu/get/7190585/BanyaszMunka.rarPastebin:
http://pastebin.com/QBDf8v0Q #include
#include
#include
#include
#include
#define PRICE_ARANY 3893
#define PRICE_PLATINA 4145
#define PRICE_PALLADIUM 2140
#define PRICE_EZUST 2472
#define PRICE_RODIUM 3361
#define PRICE_RUTENIUM 3799
#define PRICE_REZ 2228
#define DIALOG_TASKA 1
#define DIALOG_ARLISTA 2
#define DIALOG_HELP 3
#define DIALOG_GPS 4
#define DIALOG_OPCIO_ARANY 51
#define DIALOG_OPCIO_PLATINA 52
#define DIALOG_OPCIO_PALLADIUM 53
#define DIALOG_OPCIO_EZUST 54
#define DIALOG_OPCIO_RODIUM 55
#define DIALOG_OPCIO_RUTENIUM 56
#define DIALOG_OPCIO_REZ 57
#define DIALOG_ELADAS_ARANY 61
#define DIALOG_ELADAS_PLATINA 62
#define DIALOG_ELADAS_PALLADIUM 63
#define DIALOG_ELADAS_EZUST 64
#define DIALOG_ELADAS_RODIUM 65
#define DIALOG_ELADAS_RUTENIUM 66
#define DIALOG_ELADAS_REZ 67
#define DIALOG_ELADAS_ARANY_K 71
#define DIALOG_ELADAS_PLATINA_K 72
#define DIALOG_ELADAS_PALLADIUM_K 73
#define DIALOG_ELADAS_EZUST_K 74
#define DIALOG_ELADAS_RODIUM_K 75
#define DIALOG_ELADAS_RUTENIUM_K 76
#define DIALOG_ELADAS_REZ_K 77
#define KEK \"{007BFF}\"
#define FEHER \"{FFFFFF}\"
#define SARGA \"{FFF700}\"
#define LILA \"{822EDB}\"
forward BanyaszTimer(playerid);
forward PihenoTimer(playerid);
enum PlayerInfo
{
pPenz,
pArany,
pPlatina,
pPalladium,
pEzust,
pRodium,
pRutenium,
pRez,
}
new pInfo[MAX_PLAYERS][PlayerInfo];
new BanyaszMunka[MAX_PLAYERS] = 0;
new Banyaszik[MAX_PLAYERS] = 0;
new Piheno[MAX_PLAYERS] = 0;
new EladoFemMennyiseg[MAX_PLAYERS];
public OnFilterScriptInit()
{
print(\"Bányász Munka v1.0 betöltve!\");
Create3DTextLabel(\"\"FEHER\"[ \"KEK\"Mount Chilliad Bánya \"FEHER\"]\", -1, -1995.858398, -1564.148193, 85.777969, 120.0, 0, 0);
Create3DTextLabel(\"\"FEHER\"[ \"KEK\"Angel Pine Diamonds \"FEHER\"]\", -1, -2157.609375, -2336.947998, 30.625000, 30.0, 0, 0);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new File[128];
format(File, sizeof(File), \"BanyaszMunka/%s.ini\", Nev(playerid));
if(!dini_Exists(File))
{
dini_Create(File);
dini_IntSet(File, \"Pénz\", 0);
dini_IntSet(File, \"Arany\", 0);
dini_IntSet(File, \"Platina\", 0);
dini_IntSet(File, \"Palládium\", 0);
dini_IntSet(File, \"Ezüst\", 0);
dini_IntSet(File, \"Ródium\", 0);
dini_IntSet(File, \"Ruténium\", 0);
dini_IntSet(File, \"Réz\", 0);
}
else
{
LoadPlayer(playerid);
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_GPS)
{
if(response)
{
new Float: Banya_Distance = GetPlayerDistanceFromPoint(playerid, -1995.858398, -1564.148193, 85.777969), Float: Diamonds_Distance = GetPlayerDistanceFromPoint(playerid, -2157.609375, -2336.947998, 30.625000), MSG[128];
switch(listitem)
{
case 0: SetPlayerCheckpoint(playerid, -1995.858398, -1564.148193, 85.777969, 2), format(MSG, sizeof(MSG), \"\"LILA\"[GPS]: \"FEHER\"A Mount Chilliad Bánya pozíciója megjelölve a térképeden! Távolság: %0.0f méter.\", Banya_Distance), SendClientMessage(playerid, -1, MSG);
case 1: SetPlayerCheckpoint(playerid, -2157.609375, -2336.947998, 30.625000, 2), format(MSG, sizeof(MSG), \"\"LILA\"[GPS]: \"FEHER\"Az Angel Pine Diamonds pozíciója megjelölve a térképeden! Távolság: %0.0f méter.\", Diamonds_Distance), SendClientMessage(playerid, -1, MSG);
case 2: DisablePlayerCheckpoint(playerid), SendClientMessage(playerid, -1, \"\"LILA\"[GPS]: \"FEHER\"Minden jel törölve térképedrõl!\");
}
}
}
if(dialogid == DIALOG_TASKA)
{
if(!response) return 1;
else
{
switch(listitem)
{
case 0: return 0;
case 9: return 0;
case 1: ShowPlayerDialog(playerid, DIALOG_OPCIO_ARANY, DIALOG_STYLE_LIST, \"\"KEK\"Arany\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
case 2: ShowPlayerDialog(playerid, DIALOG_OPCIO_PLATINA, DIALOG_STYLE_LIST, \"\"KEK\"Platina\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
case 3: ShowPlayerDialog(playerid, DIALOG_OPCIO_PALLADIUM, DIALOG_STYLE_LIST, \"\"KEK\"Palládium\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
case 4: ShowPlayerDialog(playerid, DIALOG_OPCIO_EZUST, DIALOG_STYLE_LIST, \"\"KEK\"Ezüst\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
case 5: ShowPlayerDialog(playerid, DIALOG_OPCIO_RODIUM, DIALOG_STYLE_LIST, \"\"KEK\"Ródium\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
case 6: ShowPlayerDialog(playerid, DIALOG_OPCIO_RUTENIUM, DIALOG_STYLE_LIST, \"\"KEK\"Ruténium\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
case 7: ShowPlayerDialog(playerid, DIALOG_OPCIO_REZ, DIALOG_STYLE_LIST, \"\"KEK\"Réz\", \"\"FEHER\"Eladás\", \"Kiválasztás\", \"Kilépés\");
}
}
}
if(dialogid == DIALOG_OPCIO_ARANY)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_ARANY, DIALOG_STYLE_INPUT, \"\"KEK\"Arany\", \"\"FEHER\"Add meg, hány gramm Aranyat szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_ARANY)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_ARANY, DIALOG_STYLE_INPUT, \"\"KEK\"Arany\", \"\"FEHER\"Add meg, hány gramm Aranyat szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pArany] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Aranyad!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Aranyat %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_ARANY);
ShowPlayerDialog(playerid, DIALOG_ELADAS_ARANY_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Arany Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_ARANY_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pArany] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_ARANY;
format(MSG, sizeof(MSG), \"Eladtál %d g Aranyat %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_ARANY);
SendClientMessage(playerid, -1, MSG);
}
}
if(dialogid == DIALOG_OPCIO_PLATINA)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_PLATINA, DIALOG_STYLE_INPUT, \"\"KEK\"Platina\", \"\"FEHER\"Add meg, hány gramm Platinát szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_PLATINA)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_PLATINA, DIALOG_STYLE_INPUT, \"\"KEK\"Platina\", \"\"FEHER\"Add meg, hány gramm Platinát szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pPlatina] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Platinád!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Platinát %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_PLATINA);
ShowPlayerDialog(playerid, DIALOG_ELADAS_PLATINA_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Platina Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_PLATINA_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pPlatina] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_PLATINA;
format(MSG, sizeof(MSG), \"Eladtál %d g Platinát %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_PLATINA);
SendClientMessage(playerid, -1, MSG);
}
}
if(dialogid == DIALOG_OPCIO_PALLADIUM)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_PALLADIUM, DIALOG_STYLE_INPUT, \"\"KEK\"Palládium\", \"\"FEHER\"Add meg, hány gramm Palládiumot szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_PALLADIUM)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_PALLADIUM, DIALOG_STYLE_INPUT, \"\"KEK\"Palládium\", \"\"FEHER\"Add meg, hány gramm Palládiumot szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pPalladium] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Palládiumod!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Palládiumot %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_PALLADIUM);
ShowPlayerDialog(playerid, DIALOG_ELADAS_PALLADIUM_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Palládium Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_PALLADIUM_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pPalladium] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_PALLADIUM;
format(MSG, sizeof(MSG), \"Eladtál %d g Palládiumot %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_PALLADIUM);
SendClientMessage(playerid, -1, MSG);
}
}
if(dialogid == DIALOG_OPCIO_EZUST)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_EZUST, DIALOG_STYLE_INPUT, \"\"KEK\"Ezüst\", \"\"FEHER\"Add meg, hány gramm Ezüstöt szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_EZUST)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_EZUST, DIALOG_STYLE_INPUT, \"\"KEK\"Ezüst\", \"\"FEHER\"Add meg, hány gramm Ezüstöt szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pEzust] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Ezüstöd!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Ezüstöt %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_EZUST);
ShowPlayerDialog(playerid, DIALOG_ELADAS_EZUST_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Ezüst Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_EZUST_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pEzust] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_EZUST;
format(MSG, sizeof(MSG), \"Eladtál %d g Ezüstöt %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_EZUST);
SendClientMessage(playerid, -1, MSG);
}
}
if(dialogid == DIALOG_OPCIO_RODIUM)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_RODIUM, DIALOG_STYLE_INPUT, \"\"KEK\"Ródium\", \"\"FEHER\"Add meg, hány gramm Ródiumot szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_RODIUM)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_RODIUM, DIALOG_STYLE_INPUT, \"\"KEK\"Ródium\", \"\"FEHER\"Add meg, hány gramm Ródiumot szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pRodium] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Ródiumod!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Ródiumot %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_RODIUM);
ShowPlayerDialog(playerid, DIALOG_ELADAS_RODIUM_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Ródium Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_RODIUM_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pRodium] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_RODIUM;
format(MSG, sizeof(MSG), \"Eladtál %d g Ródiumot %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_RODIUM);
SendClientMessage(playerid, -1, MSG);
}
}
if(dialogid == DIALOG_OPCIO_RUTENIUM)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_RUTENIUM, DIALOG_STYLE_INPUT, \"\"KEK\"Ruténium\", \"\"FEHER\"Add meg, hány gramm Ruténiumot szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_RUTENIUM)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_RUTENIUM, DIALOG_STYLE_INPUT, \"\"KEK\"Ruténium\", \"\"FEHER\"Add meg, hány gramm Ruténium szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pRutenium] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Ruténiumod!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Ruténiumot %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_RUTENIUM);
ShowPlayerDialog(playerid, DIALOG_ELADAS_RUTENIUM_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Ruténium Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_RUTENIUM_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pRutenium] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_RUTENIUM;
format(MSG, sizeof(MSG), \"Eladtál %d g Ruténium %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_RUTENIUM);
SendClientMessage(playerid, -1, MSG);
}
}
if(dialogid == DIALOG_OPCIO_REZ)
{
if(!response) return 1;
else
{
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -2157.609375, -2336.947998, 30.625000)) return SendClientMessage(playerid, -1, \"Nem vagy az Angel Pine Diamonds-ban!\");
ShowPlayerDialog(playerid, DIALOG_ELADAS_REZ, DIALOG_STYLE_INPUT, \"\"KEK\"Réz\", \"\"FEHER\"Add meg, hány gramm Rezet szeretnél eladni:\", \"Oké\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_REZ)
{
if(!response) return 1;
if(!IsNumeric(inputtext) || strval(inputtext) < 0) return ShowPlayerDialog(playerid, DIALOG_ELADAS_REZ, DIALOG_STYLE_INPUT, \"\"KEK\"Réz\", \"\"FEHER\"Add meg, hány gramm Rezet szeretnél eladni:\", \"Oké\", \"Kilépés\");
if(pInfo[playerid][pRez] < strval(inputtext)) return SendClientMessage(playerid, -1, \"Nincs ennyi Rezed!\");
else
{
new TEXT[128];
EladoFemMennyiseg[playerid] = strval(inputtext);
format(TEXT, sizeof(TEXT), \"\"FEHER\"Biztosan eladsz %d g Rezet %d Ft-ért?\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_REZ);
ShowPlayerDialog(playerid, DIALOG_ELADAS_REZ_K, DIALOG_STYLE_MSGBOX, \"\"KEK\"Réz Eladás\", TEXT, \"Eladás\", \"Kilépés\");
}
}
if(dialogid == DIALOG_ELADAS_REZ_K)
{
if(!response) return 1;
else
{
new MSG[128];
pInfo[playerid][pRez] -= EladoFemMennyiseg[playerid];
pInfo[playerid][pPenz] += EladoFemMennyiseg[playerid]*PRICE_REZ;
format(MSG, sizeof(MSG), \"Eladtál %d g Rezet %d Ft-ért!\", EladoFemMennyiseg[playerid], EladoFemMennyiseg[playerid]*PRICE_REZ);
SendClientMessage(playerid, -1, MSG);
}
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
return 1;
}
CMD:help(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_HELP, DIALOG_STYLE_MSGBOX, \"\"KEK\"Segítség\", \"\"SARGA\"Parancs\\tMagyarázat\\n\"FEHER\"/táska\\t\\tA nálad lévõ tárgyak megtekintése, eladása\\n/bányász\\tBányász munka felvétele\\n/bányászás\\tBányászás megkezdése\\n/árlista\\t\\tA nemesfémek jelenlegi értéke\\n/gps\\t\\tHelyek megjelölése a térképeden\", \"Oké\", \"\");
return 1;
}
CMD:taska(playerid, params[])
{
new Targyak[512];
new penz = pInfo[playerid][pPenz], arany = pInfo[playerid][pArany], platina = pInfo[playerid][pPlatina], palladium = pInfo[playerid][pPalladium];
new ezust = pInfo[playerid][pEzust], rodium = pInfo[playerid][pRodium], rutenium = pInfo[playerid][pRutenium], rez = pInfo[playerid][pRez];
format(Targyak, sizeof(Targyak), \"\"SARGA\"Név\\t\\tMennyiség\\n\"FEHER\"Arany\\t\\t%d g\\nPlatina\\t\\t%d g\\nPalládium\\t%d g\\nEzüst\\t\\t%d g\\nRódium\\t\\t%d g\\nRuténium\\t%d g\\nRéz\\t\\t%d g\\nPénztárca\\t%d Ft\", arany, platina, palladium, ezust, rodium, rutenium, rez, penz);
ShowPlayerDialog(playerid, DIALOG_TASKA, DIALOG_STYLE_LIST, \"\"KEK\"Táska\", Targyak, \"Kiválasztás\", \"Kilépés\");
return 1;
}
CMD:arlista(playerid, params[])
{
new Targyak[256];
format(Targyak, sizeof(Targyak), \"\"SARGA\"Név\\t\\tÁr\\n\"FEHER\"Arany\\t\\t%d Ft/g\\nPlatina\\t\\t%d Ft/g\\nPalládium\\t%d Ft/g\\nEzüst\\t\\t%d Ft/g\\nRódium\\t%d Ft/g\\nRuténium\\t%d Ft/g\\nRéz\\t\\t%d Ft/g\", PRICE_ARANY, PRICE_PLATINA, PRICE_PALLADIUM, PRICE_EZUST, PRICE_RODIUM, PRICE_RUTENIUM, PRICE_REZ);
ShowPlayerDialog(playerid, DIALOG_ARLISTA, DIALOG_STYLE_MSGBOX, \"\"KEK\"Árlista\", Targyak, \"Oké\", \"\");
return 1;
}
CMD:banyasz(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 30.0, -1995.858398, -1564.148193, 85.777969))
{
if(BanyaszMunka[playerid] == 0)
{
BanyaszMunka[playerid] = 1;
SendClientMessage(playerid, -1, \"Gratulálunk! Mostantól hivatásos bányász vagy!\");
}
else
{
SendClientMessage(playerid, -1, \"Te már hivatásos bányász vagy!\");
}
}
else
{
SendClientMessage(playerid, -1, \"Nem vagy a bányában!\");
}
return 1;
}
CMD:banyaszas(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 30.0, -1995.858398, -1564.148193, 85.777969))
{
if(BanyaszMunka[playerid] == 0)
{
SendClientMessage(playerid, -1, \"Nem vagy bányász!\");
}
else
{
if(Piheno[playerid] == 1) return SendClientMessage(playerid, -1, \"Még nem telt le az 1 perces pihenõ, kérlek várj!\");
else
{
if(Banyaszik[playerid] == 1) SendClientMessage(playerid, -1, \"Már bányászol, kérlek várj!\");
else
{
SetTimerEx(\"BanyaszTimer\", 15000, false, \"i\", playerid);
GameTextForPlayer(playerid, \"Bányászol...\\nKérlek várj!\", 15000, 3);
TogglePlayerControllable(playerid, 0);
ApplyAnimation(playerid,\"BOMBER\",\"BOM_PLANT_LOOP\",4.1,1,0,0,15000,-1);
}
}
}
}
else
{
SendClientMessage(playerid, -1, \"Nem vagy a bányában!\");
}
return 1;
}
CMD:gps(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, \"\"KEK\"GPS\", \"Mount Chilliad Bánya\\nAngel Pine Diamonds\\nMinden jel törlése\", \"Oké\", \"\");
return 1;
}
CMD:give(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nem vagy RCON Admin!\");
new id, targy[16], mennyiseg;
if(sscanf(params, \"dsd\", id, targy, mennyiseg)) return SendClientMessage(playerid, -1, \"Használat: /give [playerid] [arany/platina/palládium/ezüst/ródium/ruténium/réz] [mennyiség]\");
if(Egyezik(targy, \"arany\"))
{
pInfo[id][pArany] += mennyiseg;
}
else if(Egyezik(targy, \"platina\"))
{
pInfo[id][pPlatina] += mennyiseg;
}
else if(Egyezik(targy, \"palládium\") || Egyezik(targy, \"palladium\"))
{
pInfo[id][pPalladium] += mennyiseg;
}
else if(Egyezik(targy, \"ezüst\") || Egyezik(targy, \"ezust\"))
{
pInfo[id][pEzust] += mennyiseg;
}
else if(Egyezik(targy, \"ródium\") || Egyezik(targy, \"rodium\"))
{
pInfo[id][pRodium] += mennyiseg;
}
else if(Egyezik(targy, \"ruténium\") || Egyezik(targy, \"rutenium\"))
{
pInfo[id][pRutenium] += mennyiseg;
}
else if(Egyezik(targy, \"réz\") || Egyezik(targy, \"rez\"))
{
pInfo[id][pRez] += mennyiseg;
}
else return SendClientMessage(playerid, -1, \"Használat: /give [playerid] [arany/platina/palládium/ezüst/ródium/ruténium/réz] [mennyiség]\");
return 1;
}
public BanyaszTimer(playerid)
{
new mennyiseg = random(10)+1, MSG[128];
switch(random(8))
{
case 0: SendClientMessage(playerid, -1, \"Bányászat befejezve! Sajnos nem találtál semmit!\");
case 1: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Aranyat!\", mennyiseg), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pArany] += mennyiseg;
case 2: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Platinát!\", mennyiseg), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pPlatina] += mennyiseg;
case 3: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Palládiumot!\", mennyiseg), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pPalladium] += mennyiseg;
case 4: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Ezüstöt!\", mennyiseg, mennyiseg*PRICE_EZUST), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pEzust] += mennyiseg;
case 5: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Ródiumot!\", mennyiseg), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pRodium] += mennyiseg;
case 6: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Ruténiumot!\", mennyiseg), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pRutenium] += mennyiseg;
case 7: format(MSG, sizeof(MSG), \"Bányászat befejezve! Találtál %d g Rezet!\", mennyiseg), SendClientMessage(playerid, -1, MSG), pInfo[playerid][pRez] += mennyiseg;
}
SetTimerEx(\"PihenoTimer\", 60000, false, \"i\", playerid);
TogglePlayerControllable(playerid, 1);
ClearAnimations(playerid);
Piheno[playerid] = 1;
return 1;
}
public PihenoTimer(playerid)
{
Piheno[playerid] = 0;
SendClientMessage(playerid, -1, \"Letelt az 1 perces pihenõ, ismét bányászhatsz!\");
return 1;
}
stock Nev(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
return pName;
}
stock SavePlayer(playerid)
{
new File[128];
format(File, sizeof(File), \"BanyaszMunka/%s.ini\", Nev(playerid));
if(dini_Exists(File))
{
dini_IntSet(File, \"Pénz\", pInfo[playerid][pPenz]);
dini_IntSet(File, \"Arany\", pInfo[playerid][pArany]);
dini_IntSet(File, \"Platina\", pInfo[playerid][pPlatina]);
dini_IntSet(File, \"Palládium\", pInfo[playerid][pPalladium]);
dini_IntSet(File, \"Ezüst\", pInfo[playerid][pEzust]);
dini_IntSet(File, \"Ródium\", pInfo[playerid][pRodium]);
dini_IntSet(File, \"Ruténium\", pInfo[playerid][pRutenium]);
dini_IntSet(File, \"Réz\", pInfo[playerid][pRez]);
}
}
stock LoadPlayer(playerid)
{
new File[128];
format(File, sizeof(File), \"BanyaszMunka/%s.ini\", Nev(playerid));
if(dini_Exists(File))
{
pInfo[playerid][pPenz] = dini_Int(File, \"Pénz\");
pInfo[playerid][pArany] = dini_Int(File, \"Arany\");
pInfo[playerid][pPlatina] = dini_Int(File, \"Platina\");
pInfo[playerid][pPalladium] = dini_Int(File, \"Palládium\");
pInfo[playerid][pEzust] = dini_Int(File, \"Ezüst\");
pInfo[playerid][pRodium] = dini_Int(File, \"Ródium\");
pInfo[playerid][pRutenium] = dini_Int(File, \"Ruténium\");
pInfo[playerid][pRez] = dini_Int(File, \"Réz\");
}
}
stock IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string > \'9\' || string < \'0\') return 0;
}
return 1;
}
stock Egyezik(comp[], with[])
{
new LenghtComp = strlen(comp);
new LenghtWith = strlen(with);
new Character;
if( LenghtComp != LenghtWith ) return false;
for( new i; i < LenghtComp; i++ )
{
if( comp == with )
{
Character++;
}
}
if( LenghtComp == Character ) return true;
return false;
}
Tiszta Fay :D
Tetszik kapsz egy +-t!
Kérdés:
A táska dialognál mire jó pl ez:
ARANY\\t%d
vagy valami ilyesmi? (tehát a \"/t\")?
Köszi! ARANY\\t %d az a tabulátor! Nézd meg IG a scriptet és meglátod mi az! :)
Az miért van hogy beirom /taska messze a hegytõl, ezzel igy megnéztem hogy mibõl mennyim van és mikor a kilépésre megyek akkor kikickel a szerver
Dupla hozzászólás automatikusan összefûzve. ( 2013. december 07. - 16:48:48 )
amikor leakarom adni a nemesfémeket vagy megnézem hogy mibõl mennyi van nálam és kilépek a dialogbol vagy rámegyek a nemesfémre kikickel. Volna mit javitani szerintem rajta
Szia!
Ez az Egyezik függvény mivel jobb, mint az alap strcmp függvény?
Már sokfelé láttam.
Egyébként.. Ez nem ide tartozik, de leírom..
Én régebben 1 játékmódban így láttam ezt a függvényt:
stock Egyezik(str1[], str2[]) return !strcmp(str1, str2);
Szerintem ez is ugyanazt a célt ellátja.
Nem rossz,de van mit javítani.