Guest User

Zara Gaming sistem droge - Bunta :)

a guest
Sep 22nd, 2019
1,122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.20 KB | None | 0 0
  1. #include <a_samp>
  2. #include <pawn.cmd>
  3. #define  YSI_NO_HEAP_MALLOC // zbog ysi5.x naserem se na njega
  4. #include <YSI_Coding\y_va> // za slanje finih poruka :)
  5. #include <YSI_Coding\y_timers> // bolji tajmeri
  6. #include <streamer> // kurac na bicikli
  7.  
  8. #define sendErrorMessage(%0,%1) va_SendClientMessage(%0,  0xe74c3cff , "Error -{ffffff} "%1) // makro za gresku
  9.  
  10. new poljeDroge; // globalna varijabla za poljedroze
  11.  
  12.  
  13. enum infoIgraca
  14. {  
  15.     pSQLID,
  16.     pVreciceSemanja,
  17.     pNeobradjenaDroga,
  18.     pObradjenaDroga
  19. }
  20. new PlayerInfo[MAX_PLAYERS][infoIgraca]; // kao cuvamo u bazu xD
  21.  
  22. // privremene player vars
  23.  
  24. // za sadnju
  25. new drogaObjekat[MAX_PLAYERS];
  26. new Text3D:drogaLabel[MAX_PLAYERS];
  27.  
  28. // za branje
  29. new bool:posadioDrogu[MAX_PLAYERS];
  30. new drogaVreme[MAX_PLAYERS];
  31. new bool:drogaSpremna[MAX_PLAYERS];
  32.  
  33. // za preradu
  34. new drogaZaPreraditi[MAX_PLAYERS];
  35. new bool:poceoPreradu[MAX_PLAYERS];
  36. new preradaVreme[MAX_PLAYERS];
  37.  
  38. // wow enum za ceo jedan dialog xD
  39. enum dialozi
  40. {
  41.     dialog_kupovinaSemena
  42. }
  43.  
  44. main(){} // bez ovoga nece da se pokrene x)
  45.  
  46. public OnGameModeInit()
  47. {
  48.     CreateActor(24, 1637.3925, -1553.5514, 13.6062, 15.8359); // Diler za semenke  
  49.     Create3DTextLabel("Zoki\n/kupisemen\n/uzmidroguodzokija", 0x68bc1dFF, 1637.3925,-1553.5514,13.6062, 10.0, 0, 0); // label za dilera za semenke
  50.     poljeDroge = CreateDynamicRectangle(559, -585, 604, -544, -1, -1, -1, 0); // Area za polje droze
  51.  
  52.     CreateDynamicPickup(2709, 1,624.1046,-506.1797,16.3525, -1,  -1, -1, 10.0, -1, 0); // Labaratorija za preradu pickup
  53.     Create3DTextLabel("Labaratorija za preradu droge\n/preradidrogu", 0x68bc1dff, 624.1046,-506.1797,16.3525, 10.0, 0, 0);
  54.     return 1;
  55. }
  56.  
  57. public OnPlayerEnterDynamicArea(playerid, areaid)
  58. {  
  59.     if(areaid == poljeDroge)
  60.     {
  61.         SendClientMessage(playerid, -1, "Usli ste na polje droge!");
  62.     }
  63.     return 1;
  64. }
  65.  
  66. public OnPlayerDisconnect(playerid, reason)
  67. {
  68.     ResetPlayerVars(playerid);
  69. }
  70.  
  71. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  72. {
  73.     switch(dialogid)
  74.     {
  75.         case dialog_kupovinaSemena:
  76.         {
  77.             if(!response) return SendClientMessage(playerid, -1, "Odustali ste od kupovine");
  78.             if(!IsNumeric(inputtext)) return sendErrorMessage(playerid, "U dialogu se upisuje kolicina, a ne tekst");
  79.             if(strval(inputtext) + PlayerInfo[playerid][pVreciceSemanja] > 10) return sendErrorMessage(playerid, "Mozete imati samo 10 vrecica");
  80.  
  81.             PlayerInfo[playerid][pVreciceSemanja] += strval(inputtext);
  82.             GivePlayerMoney(playerid, -( strval(inputtext) * 5000));
  83.             va_SendClientMessage(playerid, 0x68bc1dff, "Kupili ste %s semena droge za %d$", inputtext, ( 5000 * strval(inputtext) ));
  84.             va_SendClientMessageToAll(-1, "debug: vreca semenja - %d", PlayerInfo[playerid][pVreciceSemanja]);
  85.             /*new kveri[72];
  86.             mysql_format(handlejebeni, kveri, sizeof(kveri), "UPDATE `zaradroza` SET `pVreciceSemanja` = '%d' WHERE `SQLID` = %d", PlayerInfo[playerid][pVreciceSemanja], PlayerInfo[plyerid][pSQLID]);
  87.             mysql_tquery(handlejebeni, kveri);*/
  88.         }
  89.     }
  90.     return 1;
  91. }
  92.  
  93. // cmds
  94.  
  95. cmd:goto(playerid, const params[])
  96. {
  97.     SetPlayerPos(playerid, 1637.3925, -1553.5514, 13.6062);
  98.     return 1;
  99. }
  100.  
  101. cmd:gotopolje(playerid, const params[])
  102. {
  103.     SetPlayerPos(playerid, 581.1686,-579.2024,18.9818);
  104.     return 1;
  105. }
  106.  
  107. cmd:gotoprerada(playerid, const params[])
  108. {
  109.     SetPlayerPos(playerid, 624.1046,-506.1797,16.3525);
  110.     return 1;
  111. }
  112.  
  113. cmd:kupiseme(playerid, const params[])
  114. {
  115.     if(!IsPlayerInRangeOfPoint(playerid, 3.0, 1637.3925,-1553.5514,13.6062)) return sendErrorMessage(playerid, "Niste pored mesta za kupovinu semena");
  116.     if(PlayerInfo[playerid][pVreciceSemanja] >= 10) return sendErrorMessage(playerid, "Imate vec 10 semena droge");
  117.  
  118.     new str[54+1]; // dialog napravljen preko http://pawn.2al.ru/
  119.     format(str, sizeof(str), "%sUpisite kolicinu semena droge koju zelite da kupite :)", str);
  120.     ShowPlayerDialog(playerid, dialog_kupovinaSemena, DIALOG_STYLE_INPUT, "Zara Gaming sistem droge", str, "Prihvati", "Odustani");
  121.     return 1;
  122. }
  123.  
  124. cmd:posadidrogu(playerid, const params[])
  125. {
  126.     if(!IsPlayerInDynamicArea(playerid, poljeDroge, 0)) return sendErrorMessage(playerid, "Niste na polju droge");
  127.     if(PlayerInfo[playerid][pVreciceSemanja] < 1) return sendErrorMessage(playerid, "Nemate seme droge");
  128.     if(posadioDrogu[playerid] == true) return sendErrorMessage(playerid, "Vec ste posadili drogu");
  129.     new Float:x, Float:y, Float:z, drogastring[30+24];
  130.     GetPlayerPos(playerid, x, y, z);
  131.     drogaObjekat[playerid] = CreateDynamicObject(19473, x, y, z-5.0, 0, 0, 0, -1, -1, -1, 300.00, 300.00 , -1, 0);
  132.     format(drogastring, sizeof(drogastring), "Stabljiga droge\n Vlasnik: %s", imeIgraca(playerid) );
  133.     drogaLabel[playerid] = CreateDynamic3DTextLabel(drogastring, 0x68bc1dff, x, y, z, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1 );
  134.  
  135.     PlayerInfo[playerid][pVreciceSemanja]--;   
  136.     posadioDrogu[playerid] = true;
  137.     drogaVreme[playerid] = 600;
  138.     drogaSpremna[playerid] = false;
  139.  
  140.     return 1;
  141. }
  142.  
  143. cmd:oberidrogu(playerid, const params[])
  144. {  
  145.     new Float:x, Float:y, Float:z;
  146.     GetDynamicObjectPos(drogaObjekat[playerid], x, y, z);
  147.     if(!IsPlayerInRangeOfPoint(playerid, 3.0, x, y ,z)) return sendErrorMessage(playerid, "Niste pored svoje stabljike droge");
  148.     if(drogaSpremna[playerid] == false) return sendErrorMessage(playerid, "Vasa droga nije spremna, sacekajte jos %d sekundi", drogaVreme[playerid]);
  149.     if(drogaVreme[playerid] == 0 && drogaSpremna[playerid] == true)
  150.     {
  151.         posadioDrogu[playerid] = false;
  152.         drogaVreme[playerid] = 0;
  153.         drogaSpremna[playerid] = false;
  154.         DestroyDynamicObject(drogaObjekat[playerid]);
  155.         DestroyDynamic3DTextLabel(drogaLabel[playerid]);
  156.         PlayerInfo[playerid][pNeobradjenaDroga] += 10;
  157.         /*new kveri[74];
  158.         mysql_format(handlejebeni, kveri, sizeof(kveri), "UPDATE `zaradroza` SET `pNeobradjenaDroga` = '%d' WHERE `SQLID` = %d", PlayerInfo[playerid][pNeobradjenaDroga], PlayerInfo[plyerid][pSQLID]);
  159.         mysql_tquery(handlejebeni, kveri);*/
  160.     }
  161.     return 1;
  162. }
  163.  
  164. cmd:preradidrogu(playerid, const params[])
  165. {
  166.     if(!IsPlayerInRangeOfPoint(playerid, 3.0, 624.1046,-506.1797,16.3525)) return sendErrorMessage(playerid, "Niste kod labaratorije za preradu droge");
  167.     if(PlayerInfo[playerid][pNeobradjenaDroga] < 1) return sendErrorMessage(playerid, "Nemate drogu koju bih preradili");
  168.  
  169.     drogaZaPreraditi[playerid] = PlayerInfo[playerid][pNeobradjenaDroga];
  170.     PlayerInfo[playerid][pNeobradjenaDroga] = 0;
  171.     poceoPreradu[playerid] = true;
  172.     preradaVreme[playerid] = 600;
  173.     SendClientMessage(playerid, -1, "Zapoceli ste preradu droge, prerada traje 10 minuta, preradjenu drogu mozete uzeti kod Zokija");
  174.     return 1;
  175. }
  176.  
  177. cmd:uzmidroguodzokija(playerid, const params[])
  178. {
  179.     if(!IsPlayerInRangeOfPoint(playerid, 3.0, 1637.3925,-1553.5514,13.6062)) return sendErrorMessage(playerid, "Niste pored mesta za uzimanje droge");
  180.     if(poceoPreradu[playerid] == false) return sendErrorMessage(playerid, "Vasa droga se jos uvek nije preradila, sacekajte jos %d sekundi",preradaVreme[playerid] );
  181.     PlayerInfo[playerid][pObradjenaDroga] += ( drogaZaPreraditi[playerid] / 5);
  182.     va_SendClientMessage(playerid, 0x68bc1dff, "Podigli ste %d preradjene droge, i sada imate %d grama", drogaZaPreraditi[playerid]/5, PlayerInfo[playerid][pObradjenaDroga]);
  183.     drogaZaPreraditi[playerid] = 0;
  184.     /*new kveri[70];
  185.     mysql_format(handlejebeni, kveri, sizeof(kveri), "UPDATE `zaradroza` SET `pObradjenaDroga` = '%d' WHERE `SQLID` = %d", PlayerInfo[playerid][pObradjenaDroga], PlayerInfo[plyerid][pSQLID]);
  186.     mysql_tquery(handlejebeni, kveri);*/
  187.  
  188.     return 1;
  189. }
  190.  
  191. cmd:givemoney(playerid, const params[])
  192. {
  193.     GivePlayerMoney(playerid, 5000);
  194.     return 1;
  195. }
  196.  
  197.  
  198. // custom funkcije i tajmeri
  199. ptask drogaRast[1000](playerid)
  200. {  
  201.     new drogastring[50+24];
  202.    
  203.     if(posadioDrogu[playerid] == false) return 1;
  204.     drogaVreme[playerid]--;
  205.     if(drogaVreme[playerid] == 0 && drogaSpremna[playerid] == false)
  206.     {
  207.         drogaSpremna[playerid] = true;         
  208.         format(drogastring, sizeof(drogastring), "Droga spremna za branje /oberidrogu\n Vlasnik: %s", imeIgraca(playerid) );                   
  209.         UpdateDynamic3DTextLabelText(drogaLabel[playerid], 0x68bc1dff, drogastring);
  210.         SendClientMessage(playerid, 0x68bc1dff, "Vasa droga je spremna idite uberite je");
  211.     }  
  212.     return 1;
  213. }
  214.  
  215. ptask preradaDroge[1000](playerid)
  216. {
  217.     if(poceoPreradu[playerid] == false) return 1;
  218.     if(poceoPreradu[playerid] == true)
  219.     {
  220.         preradaVreme[playerid]--;
  221.         if(preradaVreme[playerid] == 0)
  222.         {
  223.             SendClientMessage(playerid, 0x68bc1dff, "Vasa prerada droge je zavrsena, idite do zokija da je pokupite");
  224.             va_SendClientMessage(playerid, 0x68bc1dff, "Preradili ste %d grama i dobili ste %d grama droge", drogaZaPreraditi[playerid], drogaZaPreraditi[playerid]/5);        
  225.             poceoPreradu[playerid] = false;    
  226.         }
  227.     }
  228.     return 1;
  229. }
  230. // funkcije
  231. imeIgraca(playerid)
  232. {
  233.     new name[MAX_PLAYER_NAME];
  234.     GetPlayerName(playerid, name, sizeof(name));
  235.     return name;
  236. }
  237.  
  238. IsNumeric(const string[]) // KfirRP
  239. {
  240.     for (new i = 0, j = strlen(string); i < j; i++)
  241.     {
  242.         if (string[i] > '9' || string[i] < '0') return 0;
  243.     }
  244.     return 1;
  245. }
  246.  
  247. ResetPlayerVars(playerid)
  248. {
  249.     DestroyDynamicObject(drogaObjekat[playerid]);
  250.     DestroyDynamic3DTextLabel(drogaLabel[playerid]);
  251.  
  252.     posadioDrogu[playerid] =
  253.     poceoPreradu[playerid] =
  254.     drogaSpremna[playerid] = false;
  255.  
  256.     drogaZaPreraditi[playerid] =
  257.     drogaVreme[playerid] =
  258.     preradaVreme[playerid] = 0;
  259. }
  260.  
  261. // kao neko ucitavanje da se vidi da znam mysql
  262. /*
  263. public OnPlayerConnect(playerid)
  264. {
  265.     new kverisugavi[75+1];
  266.     mysql_format(handlejebeni, kverisugavi, sizeof(kverisugavi), "SELECT * FROM zaradroza WHERE `name` = '%e' LIMIT 1", imeIgraca(playerid));
  267.     mysql_tquery(handlejebeni, kverisugavi, "LoadPLayer", "i", playerid);
  268. }
  269. forward LoadPLayer(playerid);
  270. public LoadPlayer(playerid)
  271. {
  272.     if(cache_num_rows() > 0)
  273.     {
  274.         cache_get_value_int(0, "SQLID", PlayerInfo[playerid][pSQLID]);
  275.         cache_get_value_int(0, "pVreciceSemanja", PlayerInfo[playerid][pVreciceSemanja]);
  276.         cache_get_value_int(0, "pNeobradjenaDroga", PlayerInfo[playerid][pNeobradjenaDroga]);
  277.         cache_get_value_int(0, "pObradjenaDroga", PlayerInfo[playerid][pObradjenaDroga]);
  278.     }
  279. }
  280.  
  281. tabla
  282. CREATE TABLE `zaradroza` (
  283.   `SQLID` int(11) NOT NULL,
  284.   `pVreciceSemanja` int(11) NOT NULL DEFAULT '0',
  285.   `pNeobradjenaDroga` int(11) NOT NULL DEFAULT '0',
  286.   `pObradjenaDroga` int(11) NOT NULL DEFAULT '0'
  287. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  288.  
  289.  
  290. */
Advertisement
Add Comment
Please, Sign In to add comment