Dalinuosi žolės auginimo sistema, yra tik 1 klaida, kuria rasite teksto apačioje po skriptu.
Žolės objektas atsiras ten kur stovėjote, tik ant žemės.
new CountDownFromAmount[MAX_PLAYERS];
new augazole[MAX_PLAYERS];
new zolesobj[MAX_PLAYERS];
new Text3D: narkotikaiauga[MAX_PLAYERS];
//žaidėjo saugomi kintamieji
enum _storyDB
{
sekla,
narkotikas,
bool: arauga,
bool: uzaugo
};
/*
Funkcija kuri skaičiuoja kiek liko laiko iki augalas užauks,
ant augalo rodys tekstą su laiku ir žaidėjo nicku.
*/
f_public: CountDownTimer(playerid)
{
CountDownFromAmount[playerid]--;
new String[256];
if(CountDownFromAmount[playerid] == 0)
{
SendClientMessage(playerid, -1, "{ff0000}Jūsų Augalas užaugo!");
format(String, sizeof(String), "{ffffff}Žolė užaugo\n{6ea0ff}/rinkti", CountDownFromAmount[playerid]);
Update3DTextLabelText(narkotikaiauga[playerid], -1, String);
storyDB[playerid][uzaugo] = true;
KillTimer(augazole[playerid]);
}
else
{
format(String, sizeof(String), "{ffffff}Augalas auga, užaugs po: {6ea0ff}%d {ffffff}sekundžių\nPasodino: {6ea0ff}%s", CountDownFromAmount[playerid],GetPlayerNameEx(playerid));
Update3DTextLabelText(narkotikaiauga[playerid], -1, String);
}
return 1;
}
//sodinti augalą turint reikalavimus ir esant zonoje.
CMD:sodinti(playerid, params[])
{
if(!PlayerInZone(playerid, 235.2460, 1028.3866, 286.6552, 1101.7539)) return SendClientMessage(playerid, -1, "{ffffff}Nesate zonoje kurioje galite sodinti žolę!");
if(storyDB[playerid][sekla] < 1) return SendClientMessage(playerid, -1, "{ffffff}Neturite sėklų, iš ko sodinsite augalą?!");
if(storyDB[playerid][arauga] == true) return SendClientMessage(playerid, -1, "{ffffff}Jau turite pasodinę augalą, daugiau sodinti negalite!");
new Float:po3[3];
GetPlayerPos(playerid, po3[0], po3[1], po3[2]);
zolesobj[playerid] = CreateObject(678, po3[0], po3[1], po3[2]-0.8, 0.0, 0.0, 0.0);
new String[126];
format(String, sizeof(String), "{ffffff}Augalas auga, užaugs po: {6ea0ff}%d {ffffff}sekundžių\nPasodino: {6ea0ff}%s", CountDownFromAmount[playerid],GetPlayerNameEx(playerid));
narkotikaiauga[playerid] = Create3DTextLabel(String, -1, po3[0], po3[1], po3[2]-0.8, 15, 0, 0);
CountDownFromAmount[playerid] = 120; // 7min.
augazole[playerid] = SetTimerEx("CountDownTimer", 999, true, "d", playerid);
storyDB[playerid][arauga] = true;
return 1;
}
//surinkti užaugusį augalą
CMD:rinkti(playerid, params[])
{
new Float:po3[3];
if(IsPlayerInRangeOfPoint(playerid, 5.0, po3[0], po3[1], po3[2])) return SendClientMessage(playerid, -1, "{ffffff}Nesi prie augalo!");
if(storyDB[playerid][uzaugo] == false) return SendClientMessage(playerid, -1, "{ffffff}Dar niekas neužaugo!");
Delete3DTextLabel(narkotikaiauga[playerid]);
DestroyObject(zolesobj[playerid]);
new kiekgavonark = 1;
new str[256];
format(str, sizeof(str), "{CECE41}• Išrovėte augalą ir gavote: {ffffff}%s {CECE41}žolės.",konvertuoti_pinigus(kiekgavonark));
SendClientMessage(playerid, -1, str);
storyDB[playerid][narkotikas] += kiekgavonark;
storyDB[playerid][uzaugo] = false;
storyDB[playerid][arauga] = false;
return 1;
}
/*
note: Yra bėda, kad užaugus augalą, galės paimti jį iš betkurios vietos
jai ir nėra šalia augalo. Žadėjau pataisyt, bet sutingau.
Parašau, tik kad žinotumėte.
*/