Advertisement
Dandys

Tráva - upravená na požádání

Feb 21st, 2015
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.07 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  4.  
  5. #define Color 0x03D687FF
  6. #define COLOR_RED 0xAA3333AA
  7.  
  8. new trava;
  9. new trava1;
  10. new trava2;
  11. new trava3;
  12. new gramy[MAX_PLAYERS];
  13. new cena[MAX_PLAYERS];
  14. new Prodava[MAX_PLAYERS];
  15. new Trava[MAX_PLAYERS];
  16.  
  17. public OnFilterScriptInit()
  18. {
  19.     trava = CreatePickup(1279, 1, -1062.2738, -1637.0222, 76.3672, -1);
  20.     trava1 = CreatePickup(1279, 1, -1062.1720,-1632.3475,76.3672, -1);
  21.     trava2 = CreatePickup(1279, 1, -1061.8340,-1626.4373,76.3672, -1);
  22.     trava3 = CreatePickup(1279, 1, -1062.2264,-1621.5592,76.3672, -1);
  23.     SetTimer("CallConnect",1,0);
  24.     return 1;
  25. }
  26. forward CallConnect(playerid);
  27. public CallConnect(playerid)
  28. {
  29.     OnPlayerConnect(playerid);
  30.     return 1;
  31. }
  32. public OnPlayerConnect(playerid)
  33. {
  34.     Prodava[playerid] = 0;
  35.     new file[100],pName[MAX_PLAYER_NAME];
  36.     GetPlayerName(playerid,pName,24);
  37.     format(file,sizeof(file),"Trava\%s.ini",pName);
  38.  
  39.     if(!dini_Exists(file))
  40.     {
  41.         dini_Create(file);
  42.         dini_IntSet(file,"Trava",Trava[playerid]);
  43.     }
  44.     else
  45.     {
  46.         Trava[playerid] = dini_Int(file,"Trava");
  47.     }
  48.    
  49.     return 1;
  50. }
  51.  
  52. public OnPlayerCommandText(playerid, cmdtext[])
  53. {
  54.     dcmd(itrava, 6, cmdtext);
  55.     dcmd(prodat, 6, cmdtext);
  56.     dcmd(koupit, 6, cmdtext);
  57.     return 1;
  58. }
  59. public OnPlayerPickUpPickup(playerid, pickupid)
  60. {
  61.     if(pickupid == trava)
  62.         ShowPlayerDialog(playerid,548,DIALOG_STYLE_LIST,"Pestovanie Marihuany","Marihuana\t","vypestovat","nic");
  63.     if(pickupid == trava1)
  64.         ShowPlayerDialog(playerid,548,DIALOG_STYLE_LIST,"Pestovanie Marihuany","Marihuana\t","vypestovat","nic");
  65.     if(pickupid == trava2)
  66.         ShowPlayerDialog(playerid,548,DIALOG_STYLE_LIST,"Pestovanie Marihuany","Marihuana\t","vypestovat","nic");
  67.     if(pickupid == trava3)
  68.         ShowPlayerDialog(playerid,548,DIALOG_STYLE_LIST,"Pestovanie Marihuany","Marihuana\t","vypestovat","nic");
  69.     return 1;
  70. }
  71.  
  72. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  73. {
  74.     if(dialogid == 548 && response)
  75.     {
  76.         switch(listitem)
  77.         {
  78.             case 0://marihuana
  79.             {
  80.                 Trava[playerid] += 5;
  81.                 GameTextForPlayer(playerid,"~g~5g+",2000,1);
  82.             }
  83.         }
  84.     }
  85.     if(dialogid == 1598 && response)
  86.     {
  87.         if(!response) return 0;
  88.         if(response)
  89.         {
  90.             if(Trava[playerid] >= 1)
  91.             {
  92.                 if(Prodava[playerid] == 1) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš se sfajčit, když prodáváš trávu... Mohl by si ji všechnu vykouřit !");
  93.  
  94.                 SendClientMessage(playerid,Color,"Sfajčil si sa jak rus,effect prejde za minutu.");
  95.                 new Float:Health,Float:Armour; GetPlayerHealth(playerid,Health); GetPlayerArmour(playerid,Armour);
  96.                 ApplyAnimation(playerid,"ped","Smoke_in_car",4.1,1,1,1,1,1);
  97.                 SetTimerEx("Walkanim",6000,0,"i",playerid);
  98.                 SetTimerEx("EffectGone",60000,0,"i",playerid);
  99.                 Trava[playerid] -= 1;
  100.                 SetPlayerDrunkLevel (playerid, 50000);
  101.             }
  102.         }
  103.     }
  104.     return 1;
  105. }
  106.  
  107. dcmd_itrava(playerid, params[])
  108. {
  109.     #pragma unused params
  110.     new string[128];
  111.     format(string,sizeof(string),"Tvoja trava : %d Gramoch",Trava[playerid]);
  112.     ShowPlayerDialog(playerid,1598,DIALOG_STYLE_MSGBOX,"Trava",string,"Sfajcit","Cancel");
  113.     return 1;
  114. }
  115.  
  116. dcmd_prodat(playerid, params[])
  117. {
  118.     new string[128], string2[128] ,pName[26];
  119.     new bool: Zrusit = false;
  120.     gramy[playerid] = strval(params);
  121.     cena[playerid] = chrfind(' ',params) + 1;
  122.     GetPlayerName(playerid,pName,26);
  123.     if(Zrusit == false)
  124.     {
  125.         if(!strlen(params) || !strlen(params[cena[playerid]])) return SendClientMessage(playerid, -1, "[ ! ] Použití: /prodat [gramy_trávy] [cena]");
  126.         else if(strval(params) > Trava[playerid]) return SendClientMessage(playerid, -1, "[ ! ] Nedostatečné množství trávy, použij /itrava pro zjištění množství gramů trávy !");
  127.         else if(strlen(params)|| strlen(params[cena[playerid]]) <= 0) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš zadat 0 nebo zápornou hodnotu!");
  128.         {
  129.             format(string,sizeof(string),"Hráč %s prodává %d gramů trávy za $%d ! ( /koupit [id] )",pName, gramy[playerid], cena[playerid]);
  130.             SendClientMessageToAll(Color, string);
  131.             SendClientMessage(playerid, -1,"[ ! ] Pro zrušení nabídky zopakuj příkaz /prodat !");
  132.             Prodava[playerid] = 1;
  133.             Zrusit = true;
  134.         }
  135.     }
  136.     else
  137.     {
  138.         format(string2,sizeof(string2),"Hráč %s zrušil svojí nabídku prodeje trávy ! ",pName);
  139.         SendClientMessageToAll(Color, string2);
  140.         SendClientMessage(playerid, -1, "[ ! ] Zrušili jste svojí nabídku !");
  141.         Prodava[playerid] = 0;
  142.         Zrusit = false;
  143.  
  144.     }
  145.     return 1;
  146. }
  147.  
  148. dcmd_koupit(playerid, params[])
  149. {
  150.     #pragma unused params
  151.     new id = strval(params);
  152.     new string[128], pName2[26];
  153.     if(!strlen(params)) return SendClientMessage(playerid, -1, "[ ! ] Použití: /koupit [id_prodavajiciho]");
  154.     else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "[ ! ] Tento hráč není připojen !");
  155.     else if(Prodava[id] == 0) return SendClientMessage(playerid, -1, "[ ! ] Tento hráč neprodává žádné drogy!");
  156.     else if(GetPlayerMoney(playerid) < cena[id]) return SendClientMessage(playerid, -1, "[ ! ] Nemáš dostatek peněz na nákup drog !");
  157.     else if(playerid == strval(params)) return SendClientMessage(playerid, -1, "[ ! ] Nemůžeš koupit drogy sám od sebe !");
  158.     {
  159.         GetPlayerName(id, pName2, 26);
  160.         format(string,sizeof(string),"Koupil si od hráče %s %d gramů trávy za $%d !",pName2, gramy[id], cena[id]);
  161.         SendClientMessage(playerid, Color, string);
  162.         Trava[id] -= gramy[id];
  163.         Trava[playerid] += gramy[id];
  164.         GivePlayerMoney(playerid, GetPlayerMoney(playerid)-cena[id]);
  165.         GivePlayerMoney(id, GetPlayerMoney(id)+cena[id]);
  166.         Prodava[id] = 0;
  167.     }
  168.     return 1;
  169. }
  170.  
  171. forward Walkanim(playerid);
  172. public Walkanim(playerid)
  173. {
  174.     ApplyAnimation(playerid,"ped","WALK_drunk",4.1,1,1,1,1,1);
  175.     return 1;
  176. }
  177.  
  178. forward EffectGone(playerid);
  179. public EffectGone(playerid)
  180. {
  181.     SetPlayerDrunkLevel(playerid,0);
  182.     return 1;
  183. }
  184.  
  185. chrfind(n,h[],s=0)
  186. {
  187.     new l=strlen(h);
  188.     while(s<l)
  189.     {
  190.         if(h[s]==n)
  191.         return s;s++;
  192.     }
  193.     return -1;
  194. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement