Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <pawn.cmd>
- #define YSI_NO_HEAP_MALLOC // zbog ysi5.x naserem se na njega
- #include <YSI_Coding\y_va> // za slanje finih poruka :)
- #include <YSI_Coding\y_timers> // bolji tajmeri
- #include <streamer> // kurac na bicikli
- #define sendErrorMessage(%0,%1) va_SendClientMessage(%0, 0xe74c3cff , "Error -{ffffff} "%1) // makro za gresku
- new poljeDroge; // globalna varijabla za poljedroze
- enum infoIgraca
- {
- pSQLID,
- pVreciceSemanja,
- pNeobradjenaDroga,
- pObradjenaDroga
- }
- new PlayerInfo[MAX_PLAYERS][infoIgraca]; // kao cuvamo u bazu xD
- // privremene player vars
- // za sadnju
- new drogaObjekat[MAX_PLAYERS];
- new Text3D:drogaLabel[MAX_PLAYERS];
- // za branje
- new bool:posadioDrogu[MAX_PLAYERS];
- new drogaVreme[MAX_PLAYERS];
- new bool:drogaSpremna[MAX_PLAYERS];
- // za preradu
- new drogaZaPreraditi[MAX_PLAYERS];
- new bool:poceoPreradu[MAX_PLAYERS];
- new preradaVreme[MAX_PLAYERS];
- // wow enum za ceo jedan dialog xD
- enum dialozi
- {
- dialog_kupovinaSemena
- }
- main(){} // bez ovoga nece da se pokrene x)
- public OnGameModeInit()
- {
- CreateActor(24, 1637.3925, -1553.5514, 13.6062, 15.8359); // Diler za semenke
- Create3DTextLabel("Zoki\n/kupisemen\n/uzmidroguodzokija", 0x68bc1dFF, 1637.3925,-1553.5514,13.6062, 10.0, 0, 0); // label za dilera za semenke
- poljeDroge = CreateDynamicRectangle(559, -585, 604, -544, -1, -1, -1, 0); // Area za polje droze
- CreateDynamicPickup(2709, 1,624.1046,-506.1797,16.3525, -1, -1, -1, 10.0, -1, 0); // Labaratorija za preradu pickup
- Create3DTextLabel("Labaratorija za preradu droge\n/preradidrogu", 0x68bc1dff, 624.1046,-506.1797,16.3525, 10.0, 0, 0);
- return 1;
- }
- public OnPlayerEnterDynamicArea(playerid, areaid)
- {
- if(areaid == poljeDroge)
- {
- SendClientMessage(playerid, -1, "Usli ste na polje droge!");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- ResetPlayerVars(playerid);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case dialog_kupovinaSemena:
- {
- if(!response) return SendClientMessage(playerid, -1, "Odustali ste od kupovine");
- if(!IsNumeric(inputtext)) return sendErrorMessage(playerid, "U dialogu se upisuje kolicina, a ne tekst");
- if(strval(inputtext) + PlayerInfo[playerid][pVreciceSemanja] > 10) return sendErrorMessage(playerid, "Mozete imati samo 10 vrecica");
- PlayerInfo[playerid][pVreciceSemanja] += strval(inputtext);
- GivePlayerMoney(playerid, -( strval(inputtext) * 5000));
- va_SendClientMessage(playerid, 0x68bc1dff, "Kupili ste %s semena droge za %d$", inputtext, ( 5000 * strval(inputtext) ));
- va_SendClientMessageToAll(-1, "debug: vreca semenja - %d", PlayerInfo[playerid][pVreciceSemanja]);
- /*new kveri[72];
- mysql_format(handlejebeni, kveri, sizeof(kveri), "UPDATE `zaradroza` SET `pVreciceSemanja` = '%d' WHERE `SQLID` = %d", PlayerInfo[playerid][pVreciceSemanja], PlayerInfo[plyerid][pSQLID]);
- mysql_tquery(handlejebeni, kveri);*/
- }
- }
- return 1;
- }
- // cmds
- cmd:goto(playerid, const params[])
- {
- SetPlayerPos(playerid, 1637.3925, -1553.5514, 13.6062);
- return 1;
- }
- cmd:gotopolje(playerid, const params[])
- {
- SetPlayerPos(playerid, 581.1686,-579.2024,18.9818);
- return 1;
- }
- cmd:gotoprerada(playerid, const params[])
- {
- SetPlayerPos(playerid, 624.1046,-506.1797,16.3525);
- return 1;
- }
- cmd:kupiseme(playerid, const params[])
- {
- if(!IsPlayerInRangeOfPoint(playerid, 3.0, 1637.3925,-1553.5514,13.6062)) return sendErrorMessage(playerid, "Niste pored mesta za kupovinu semena");
- if(PlayerInfo[playerid][pVreciceSemanja] >= 10) return sendErrorMessage(playerid, "Imate vec 10 semena droge");
- new str[54+1]; // dialog napravljen preko http://pawn.2al.ru/
- format(str, sizeof(str), "%sUpisite kolicinu semena droge koju zelite da kupite :)", str);
- ShowPlayerDialog(playerid, dialog_kupovinaSemena, DIALOG_STYLE_INPUT, "Zara Gaming sistem droge", str, "Prihvati", "Odustani");
- return 1;
- }
- cmd:posadidrogu(playerid, const params[])
- {
- if(!IsPlayerInDynamicArea(playerid, poljeDroge, 0)) return sendErrorMessage(playerid, "Niste na polju droge");
- if(PlayerInfo[playerid][pVreciceSemanja] < 1) return sendErrorMessage(playerid, "Nemate seme droge");
- if(posadioDrogu[playerid] == true) return sendErrorMessage(playerid, "Vec ste posadili drogu");
- new Float:x, Float:y, Float:z, drogastring[30+24];
- GetPlayerPos(playerid, x, y, z);
- drogaObjekat[playerid] = CreateDynamicObject(19473, x, y, z-5.0, 0, 0, 0, -1, -1, -1, 300.00, 300.00 , -1, 0);
- format(drogastring, sizeof(drogastring), "Stabljiga droge\n Vlasnik: %s", imeIgraca(playerid) );
- drogaLabel[playerid] = CreateDynamic3DTextLabel(drogastring, 0x68bc1dff, x, y, z, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1 );
- PlayerInfo[playerid][pVreciceSemanja]--;
- posadioDrogu[playerid] = true;
- drogaVreme[playerid] = 600;
- drogaSpremna[playerid] = false;
- return 1;
- }
- cmd:oberidrogu(playerid, const params[])
- {
- new Float:x, Float:y, Float:z;
- GetDynamicObjectPos(drogaObjekat[playerid], x, y, z);
- if(!IsPlayerInRangeOfPoint(playerid, 3.0, x, y ,z)) return sendErrorMessage(playerid, "Niste pored svoje stabljike droge");
- if(drogaSpremna[playerid] == false) return sendErrorMessage(playerid, "Vasa droga nije spremna, sacekajte jos %d sekundi", drogaVreme[playerid]);
- if(drogaVreme[playerid] == 0 && drogaSpremna[playerid] == true)
- {
- posadioDrogu[playerid] = false;
- drogaVreme[playerid] = 0;
- drogaSpremna[playerid] = false;
- DestroyDynamicObject(drogaObjekat[playerid]);
- DestroyDynamic3DTextLabel(drogaLabel[playerid]);
- PlayerInfo[playerid][pNeobradjenaDroga] += 10;
- /*new kveri[74];
- mysql_format(handlejebeni, kveri, sizeof(kveri), "UPDATE `zaradroza` SET `pNeobradjenaDroga` = '%d' WHERE `SQLID` = %d", PlayerInfo[playerid][pNeobradjenaDroga], PlayerInfo[plyerid][pSQLID]);
- mysql_tquery(handlejebeni, kveri);*/
- }
- return 1;
- }
- cmd:preradidrogu(playerid, const params[])
- {
- if(!IsPlayerInRangeOfPoint(playerid, 3.0, 624.1046,-506.1797,16.3525)) return sendErrorMessage(playerid, "Niste kod labaratorije za preradu droge");
- if(PlayerInfo[playerid][pNeobradjenaDroga] < 1) return sendErrorMessage(playerid, "Nemate drogu koju bih preradili");
- drogaZaPreraditi[playerid] = PlayerInfo[playerid][pNeobradjenaDroga];
- PlayerInfo[playerid][pNeobradjenaDroga] = 0;
- poceoPreradu[playerid] = true;
- preradaVreme[playerid] = 600;
- SendClientMessage(playerid, -1, "Zapoceli ste preradu droge, prerada traje 10 minuta, preradjenu drogu mozete uzeti kod Zokija");
- return 1;
- }
- cmd:uzmidroguodzokija(playerid, const params[])
- {
- if(!IsPlayerInRangeOfPoint(playerid, 3.0, 1637.3925,-1553.5514,13.6062)) return sendErrorMessage(playerid, "Niste pored mesta za uzimanje droge");
- if(poceoPreradu[playerid] == false) return sendErrorMessage(playerid, "Vasa droga se jos uvek nije preradila, sacekajte jos %d sekundi",preradaVreme[playerid] );
- PlayerInfo[playerid][pObradjenaDroga] += ( drogaZaPreraditi[playerid] / 5);
- va_SendClientMessage(playerid, 0x68bc1dff, "Podigli ste %d preradjene droge, i sada imate %d grama", drogaZaPreraditi[playerid]/5, PlayerInfo[playerid][pObradjenaDroga]);
- drogaZaPreraditi[playerid] = 0;
- /*new kveri[70];
- mysql_format(handlejebeni, kveri, sizeof(kveri), "UPDATE `zaradroza` SET `pObradjenaDroga` = '%d' WHERE `SQLID` = %d", PlayerInfo[playerid][pObradjenaDroga], PlayerInfo[plyerid][pSQLID]);
- mysql_tquery(handlejebeni, kveri);*/
- return 1;
- }
- cmd:givemoney(playerid, const params[])
- {
- GivePlayerMoney(playerid, 5000);
- return 1;
- }
- // custom funkcije i tajmeri
- ptask drogaRast[1000](playerid)
- {
- new drogastring[50+24];
- if(posadioDrogu[playerid] == false) return 1;
- drogaVreme[playerid]--;
- if(drogaVreme[playerid] == 0 && drogaSpremna[playerid] == false)
- {
- drogaSpremna[playerid] = true;
- format(drogastring, sizeof(drogastring), "Droga spremna za branje /oberidrogu\n Vlasnik: %s", imeIgraca(playerid) );
- UpdateDynamic3DTextLabelText(drogaLabel[playerid], 0x68bc1dff, drogastring);
- SendClientMessage(playerid, 0x68bc1dff, "Vasa droga je spremna idite uberite je");
- }
- return 1;
- }
- ptask preradaDroge[1000](playerid)
- {
- if(poceoPreradu[playerid] == false) return 1;
- if(poceoPreradu[playerid] == true)
- {
- preradaVreme[playerid]--;
- if(preradaVreme[playerid] == 0)
- {
- SendClientMessage(playerid, 0x68bc1dff, "Vasa prerada droge je zavrsena, idite do zokija da je pokupite");
- va_SendClientMessage(playerid, 0x68bc1dff, "Preradili ste %d grama i dobili ste %d grama droge", drogaZaPreraditi[playerid], drogaZaPreraditi[playerid]/5);
- poceoPreradu[playerid] = false;
- }
- }
- return 1;
- }
- // funkcije
- imeIgraca(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- IsNumeric(const string[]) // KfirRP
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- ResetPlayerVars(playerid)
- {
- DestroyDynamicObject(drogaObjekat[playerid]);
- DestroyDynamic3DTextLabel(drogaLabel[playerid]);
- posadioDrogu[playerid] =
- poceoPreradu[playerid] =
- drogaSpremna[playerid] = false;
- drogaZaPreraditi[playerid] =
- drogaVreme[playerid] =
- preradaVreme[playerid] = 0;
- }
- // kao neko ucitavanje da se vidi da znam mysql
- /*
- public OnPlayerConnect(playerid)
- {
- new kverisugavi[75+1];
- mysql_format(handlejebeni, kverisugavi, sizeof(kverisugavi), "SELECT * FROM zaradroza WHERE `name` = '%e' LIMIT 1", imeIgraca(playerid));
- mysql_tquery(handlejebeni, kverisugavi, "LoadPLayer", "i", playerid);
- }
- forward LoadPLayer(playerid);
- public LoadPlayer(playerid)
- {
- if(cache_num_rows() > 0)
- {
- cache_get_value_int(0, "SQLID", PlayerInfo[playerid][pSQLID]);
- cache_get_value_int(0, "pVreciceSemanja", PlayerInfo[playerid][pVreciceSemanja]);
- cache_get_value_int(0, "pNeobradjenaDroga", PlayerInfo[playerid][pNeobradjenaDroga]);
- cache_get_value_int(0, "pObradjenaDroga", PlayerInfo[playerid][pObradjenaDroga]);
- }
- }
- tabla
- CREATE TABLE `zaradroza` (
- `SQLID` int(11) NOT NULL,
- `pVreciceSemanja` int(11) NOT NULL DEFAULT '0',
- `pNeobradjenaDroga` int(11) NOT NULL DEFAULT '0',
- `pObradjenaDroga` int(11) NOT NULL DEFAULT '0'
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
- */
Advertisement
Add Comment
Please, Sign In to add comment