Advertisement
Maki187

Dinamican Stan Sistem v0.1 R1

Apr 16th, 2012
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 18.24 KB | None | 0 0
  1. /* Dinamican Stan Sistem
  2. Credits: Maki187 (Marko_Dimitrijevic) - izrada cele FS
  3. CuervO_NegrO - prema njegovoj komandi napravljena je i ovde za postavljanje stana
  4. |=============[v0.1 - 15.2.2012 - 3.3.2012]============|
  5. Izrada cele FS(sa pauzama)
  6. Komande: /pstan(rcon) | /astan (rcon) | /editcenu (rcon) | /kupistan | /prodajstan |/slock | /sinfo | /stakemoney | /sputmoney | /shelp
  7. */
  8. #define FILTERSCRIPT
  9.  
  10. #include <a_samp>
  11. #include <float>
  12. #include <zcmd>
  13. #include <foreach>
  14. #include <Dini>
  15. #include <Streamer>
  16. #include <sscanf2>
  17.  
  18. #define ZUTA 0xDABB3EAA
  19. #define BELA 0xFFFFFFAA
  20. #define CRVENA 0xFF0000FF
  21. #define SIVA 0xBFC0C2FF
  22. #define PRESSED(%0) \
  23.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  24.  
  25. enum Stanovi
  26. {
  27.     Float:sUlaZx,
  28.     Float:sUlaZy,
  29.     Float:sUlaZz,
  30.     Float:sIzlaZx,
  31.     Float:sIzlaZy,
  32.     Float:sIzlaZz,
  33.     sVlasnik[MAX_PLAYER_NAME],
  34.     sOpis[MAX_PLAYER_NAME],
  35.     sPosedovan,
  36.     sPostavljen,
  37.     sZakljucan,
  38.     sNovac,
  39.     sCena,
  40.     sWorld,
  41.     sPoruka,
  42.     sInt
  43. };
  44.  
  45. new StanInfo[500][Stanovi]; // broj 500 je max broj stanova, menjajte po zelji, al onda morate i dalje u skripti!
  46. new UsoUStan[MAX_PLAYERS]; // provera jel igrac u stanu
  47. new StanPickup[sizeof(StanInfo)]; // pickup od stana
  48. new Text3D:StanLabel[sizeof(StanInfo)]; // 3d text ispred vrata
  49. new imeigraca[MAX_PLAYER_NAME]; // za proveru imena igraca
  50.  
  51. public OnFilterScriptInit()
  52. {
  53.     print("\n--------------------------------------");
  54.     print(" Dinamican Stan Sistem by: Maki187 (Marko_Dimitrijevic)");
  55.     print(" Dinamican Stan Sistem v0.1");
  56.     print(" Balkan Rising - www.balkan-rising.info");
  57.     print(" Alfa Games - www.alfa-gaming.info");
  58.     print(" -------------[PRIJATELJI]------------");
  59.     print(" Bestbalkandj.com - www.bestbalkandj.com");
  60.     print(" Serbian Warez - www.serbian-warez.in.rs");
  61.     print(" Balkan Undergorund - www.bu-rp.info");
  62.     print(" Egrotusi TDM - www.egrotusi-tdm.game.ba");
  63.     print("--------------------------------------\n");
  64.     UcitajStanove();
  65.     new string[828];
  66.     for(new s = 0; s < sizeof(StanInfo); s++)
  67.     {
  68.         if(StanInfo[s][sPostavljen] == 1)
  69.         {
  70.             if(StanInfo[s][sPosedovan] == 0)
  71.             {
  72.                 format(string,sizeof(string),"{458B00}Na prodaju! \n {458B00}Adresa: {FFFFFF}%d \n {458B00}Cena: {FFFFFF}$%d \n {458B00}Opis: {FFFFFF}%s",StanInfo[s][sWorld], StanInfo[s][sCena],StanInfo[s][sOpis]);
  73.                 StanLabel[s] = Create3DTextLabel(string ,0x00FF00AA,StanInfo[s][sUlaZx], StanInfo[s][sUlaZy], StanInfo[s][sUlaZz],25, 0, 1);
  74.                 StanPickup[s] = CreateDynamicPickup(1273, 1, StanInfo[s][sUlaZx], StanInfo[s][sUlaZy], StanInfo[s][sUlaZz]);
  75.             }
  76.             if(StanInfo[s][sPosedovan] == 1)
  77.             {
  78.                 format(string,sizeof(string)," {458B00}Vlasnik: {FFFFFF}%s \n {458B00}Adresa: {FFFFFF}%d \n {458B00}Opis: {FFFFFF}%s",StanInfo[s][sVlasnik],StanInfo[s][sWorld], StanInfo[s][sOpis]);
  79.                 StanLabel[s] = Create3DTextLabel(string ,0x00FFFFAA,StanInfo[s][sUlaZx], StanInfo[s][sUlaZy], StanInfo[s][sUlaZz],25, 0, 1);
  80.                 StanPickup[s] = CreateDynamicPickup(1273, 1, StanInfo[s][sUlaZx], StanInfo[s][sUlaZy], StanInfo[s][sUlaZz]);
  81.             }
  82.         }
  83.     }
  84.     return 1;
  85. }
  86. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  87. {
  88.     if(PRESSED(KEY_SECONDARY_ATTACK))
  89.     {
  90.         for(new i = 0; i < sizeof(StanInfo); i++)
  91.         {
  92.             if (IsPlayerInRangeOfPoint(playerid, 3,StanInfo[i][sUlaZx], StanInfo[i][sUlaZy], StanInfo[i][sUlaZz]))
  93.             {
  94.                 GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  95.                 if(StanInfo[i][sZakljucan] == 0|| strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  96.                 {
  97.                     SetPlayerInterior(playerid,StanInfo[i][sInt]); SetPlayerVirtualWorld(playerid,StanInfo[i][sWorld]);
  98.                     SetPlayerPos(playerid,StanInfo[i][sIzlaZx],StanInfo[i][sIzlaZy],StanInfo[i][sIzlaZz]);
  99.                     UsoUStan[playerid] = i;
  100.                 }
  101.                 else
  102.                 {
  103.                     GameTextForPlayer(playerid, "~r~Zakljucano", 5000, 1);
  104.                     return 1;
  105.                 }
  106.             }
  107.         }
  108.         if(UsoUStan[playerid] != 501)
  109.         {
  110.             new i = UsoUStan[playerid];
  111.             if(IsPlayerInRangeOfPoint(playerid, 3,StanInfo[i][sIzlaZx], StanInfo[i][sIzlaZy], StanInfo[i][sIzlaZz]))
  112.             {
  113.                 SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  114.                 SetPlayerPos(playerid,StanInfo[i][sUlaZx],StanInfo[i][sUlaZy],StanInfo[i][sUlaZz]);
  115.                 UsoUStan[playerid] = 501;
  116.                 return 1;
  117.             }
  118.         }
  119.     }
  120.     return 1;
  121. }
  122. public OnFilterScriptExit()
  123. {
  124.     return 1;
  125. }
  126. stock SacuvajStan(idstana)
  127. {
  128.     new stan[64];
  129.     format(stan, sizeof(stan),"Stanovi/%d.ini",idstana);
  130.     if(dini_Exists(stan))
  131.     {
  132.         if(StanInfo[idstana][sPosedovan] >= 0)
  133.         {
  134.             dini_FloatSet(stan,"Ulaz_X",StanInfo[idstana][sUlaZx]);
  135.             dini_FloatSet(stan,"Ulaz_Y",StanInfo[idstana][sUlaZy]);
  136.             dini_FloatSet(stan,"Ulaz_Z",StanInfo[idstana][sUlaZz]);
  137.             dini_FloatSet(stan,"Izlaz_X",StanInfo[idstana][sIzlaZx]);
  138.             dini_FloatSet(stan,"Izlaz_Y",StanInfo[idstana][sIzlaZy]);
  139.             dini_FloatSet(stan,"Izlaz_Z",StanInfo[idstana][sIzlaZz]);
  140.             dini_Set(stan,"Vlasnik",StanInfo[idstana][sVlasnik]);
  141.             dini_Set(stan,"Opis",StanInfo[idstana][sOpis]);
  142.             dini_IntSet(stan,"Posedovan",StanInfo[idstana][sPosedovan]);
  143.             dini_IntSet(stan,"Postavljen",StanInfo[idstana][sPostavljen]);
  144.             dini_IntSet(stan,"Zakljucan",StanInfo[idstana][sZakljucan]);
  145.             dini_IntSet(stan,"Novac",StanInfo[idstana][sNovac]);
  146.             dini_IntSet(stan,"Cena",StanInfo[idstana][sCena]);
  147.             dini_IntSet(stan,"World",StanInfo[idstana][sWorld]);
  148.             dini_Set(stan,"Poruka",StanInfo[idstana][sPoruka]);
  149.             dini_IntSet(stan,"Int",StanInfo[idstana][sInt]);
  150.         }
  151.     }
  152. }
  153. stock UcitajStanove()
  154. {
  155.     new stan[128];
  156.     for(new idstana = 0; idstana < sizeof(StanInfo) ; idstana++)
  157.     {
  158.         format(stan, sizeof(stan),"Stanovi/%d.ini", idstana);
  159.         if(dini_Exists(stan))
  160.         {
  161.             StanInfo[idstana][sUlaZx] = dini_Float(stan,"Ulaz_X");
  162.             StanInfo[idstana][sUlaZy] = dini_Float(stan,"Ulaz_Y");
  163.             StanInfo[idstana][sUlaZz] = dini_Float(stan,"Ulaz_Z");
  164.             StanInfo[idstana][sIzlaZx] = dini_Float(stan,"Izlaz_X");
  165.             StanInfo[idstana][sIzlaZy] = dini_Float(stan,"Izlaz_Y");
  166.             StanInfo[idstana][sIzlaZz] = dini_Float(stan,"Izlaz_Z");
  167.             strmid(StanInfo[idstana][sVlasnik], dini_Get(stan,"Vlasnik"), 0, strlen(dini_Get(stan,"Vlasnik")), 255);
  168.             strmid(StanInfo[idstana][sPoruka], dini_Get(stan,"Poruka"), 0, strlen(dini_Get(stan,"Poruka")), 255);
  169.             strmid(StanInfo[idstana][sOpis], dini_Get(stan,"Opis"), 0, strlen(dini_Get(stan,"Opis")), 255);
  170.             StanInfo[idstana][sPosedovan] = dini_Int(stan,"Posedovan");
  171.             StanInfo[idstana][sPostavljen] = dini_Int(stan,"Postavljen");
  172.             StanInfo[idstana][sZakljucan] = dini_Int(stan,"Zakljucan");
  173.             StanInfo[idstana][sNovac] = dini_Int(stan,"Novac");
  174.             StanInfo[idstana][sCena] = dini_Int(stan,"Cena");
  175.             StanInfo[idstana][sWorld] = dini_Int(stan,"World");
  176.             StanInfo[idstana][sInt] = dini_Int(stan,"Int");
  177.         }
  178.     }
  179.     return 1;
  180. }
  181. stock LabelIPickup(idstana)
  182. {
  183.     new string[828];
  184.     if(StanInfo[idstana][sPosedovan] == 0)
  185.     {
  186.         Delete3DTextLabel(StanLabel[idstana]);
  187.         format(string,sizeof(string),"{458B00}Na prodaju! \n {458B00}Adresa:{FFFFFF} %d \n {458B00}Cena:{FFFFFF} $%d \n{458B00}Opis: {FFFFFF}%s",StanInfo[idstana][sWorld], StanInfo[idstana][sCena],StanInfo[idstana][sOpis]);
  188.         StanLabel[idstana] = Create3DTextLabel(string ,0x00FF00AA,StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz],25, 0, 1);
  189.     }
  190.     if(StanInfo[idstana][sPosedovan] == 1)
  191.     {
  192.         Delete3DTextLabel(StanLabel[idstana]);
  193.         format(string,sizeof(string),"{458B00}Vlasnik: {FFFFFF}%s \n {458B00}Adresa: {FFFFFF}%d \n {458B00}Opis: {FFFFFF}%s",StanInfo[idstana][sVlasnik],StanInfo[idstana][sWorld], StanInfo[idstana][sOpis]);
  194.         StanLabel[idstana] = Create3DTextLabel(string ,0x00FFFFAA,StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz],25, 0, 1);
  195.     }
  196.     DestroyDynamicPickup(StanPickup[idstana]);
  197.     StanPickup[idstana] = CreateDynamicPickup(1273, 1, StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz]);
  198. }
  199. //======================[CMD]==============================
  200. CMD:slock(playerid, params[]) // zakljucavanje i otkljucavanje stana
  201. {
  202.     for(new i = 0; i < sizeof(StanInfo); i++)
  203.     {
  204.         if(IsPlayerInRangeOfPoint(playerid, 3,StanInfo[i][sUlaZx], StanInfo[i][sUlaZy], StanInfo[i][sUlaZz]) && UsoUStan[playerid] == 501)
  205.         {
  206.             GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  207.             if(strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  208.             {
  209.                 if(StanInfo[i][sZakljucan] == 1)
  210.                 {
  211.                     GameTextForPlayer(playerid, "~g~Otkljucano", 5000, 6);
  212.                     StanInfo[i][sZakljucan] = 0;
  213.                     return 1;
  214.                 }
  215.                 if(StanInfo[i][sZakljucan] == 0)
  216.                 {
  217.                     GameTextForPlayer(playerid, "~r~Zakljucano", 5000, 6);
  218.                     StanInfo[i][sZakljucan] = 1;
  219.                     return 1;
  220.                 }
  221.             }
  222.         }
  223.         if(IsPlayerInRangeOfPoint(playerid, 25,StanInfo[i][sIzlaZx], StanInfo[i][sIzlaZy], StanInfo[i][sIzlaZz]))
  224.         {
  225.             if(IsPlayerInRangeOfPoint(playerid, 3,StanInfo[i][sIzlaZx], StanInfo[i][sIzlaZy], StanInfo[i][sIzlaZz]) && UsoUStan[playerid] != 501)
  226.             {
  227.                 GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  228.                 if(strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  229.                 {
  230.                     if(StanInfo[i][sZakljucan] == 1)
  231.                     {
  232.                         GameTextForPlayer(playerid, "~g~Otkljucano", 5000, 6);
  233.                         StanInfo[i][sZakljucan] = 0;
  234.                         return 1;
  235.                     }
  236.                     if(StanInfo[i][sZakljucan] == 0)
  237.                     {
  238.                         GameTextForPlayer(playerid, "~r~Zakljucano", 5000, 6);
  239.                         StanInfo[i][sZakljucan] = 1;
  240.                         return 1;
  241.                     }
  242.                 }
  243.             }
  244.             else { SendClientMessage(playerid, BELA,"Nisi ispred vrata svog stana!"); return 1; }
  245.         }
  246.     }
  247.     return 1;
  248. }
  249. CMD:kupistan(playerid, params[]) // kupovina stana
  250. {
  251.     for(new i = 0; i < sizeof(StanInfo); i++)
  252.     {
  253.         GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  254.         if(strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  255.         {
  256.             SendClientMessage(playerid, BELA, "Vec imas stan!");
  257.             return 1;
  258.         }
  259.         if(IsPlayerInRangeOfPoint(playerid, 3,StanInfo[i][sUlaZx], StanInfo[i][sUlaZy], StanInfo[i][sUlaZz]) && StanInfo[i][sPosedovan] == 0)
  260.         {
  261.             if(GetPlayerMoney(playerid) > StanInfo[i][sCena])
  262.             {
  263.                 strmid(StanInfo[i][sVlasnik], imeigraca, 0, strlen(imeigraca), 255);
  264.                 StanInfo[i][sPosedovan] = 1;
  265.                 GivePlayerMoney(playerid,-StanInfo[i][sCena]);
  266.                 SendClientMessage(playerid, BELA, "Cestitamo na kupovini novog stana, kucajte /shelp da saznate komande!");
  267.                 strmid(StanInfo[i][sVlasnik], imeigraca, 0, strlen(imeigraca), 255);
  268.                 LabelIPickup(i);
  269.                 SacuvajStan(i);
  270.                 return 1;
  271.             }
  272.             else { SendClientMessage(playerid, SIVA, "Nemas dovoljno para!"); return 1; }
  273.         }
  274.     }
  275.     return 1;
  276. }
  277. CMD:prodajstan(playerid, params[]) // prodaja stana
  278. {
  279.     for(new i = 0; i < sizeof(StanInfo); i++)
  280.     {
  281.         GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  282.         if(IsPlayerInRangeOfPoint(playerid, 3,StanInfo[i][sUlaZx], StanInfo[i][sUlaZy], StanInfo[i][sUlaZz]) && strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  283.         {
  284.             strmid(StanInfo[i][sVlasnik], "Drzava", 0, strlen("Drzava"), 255);
  285.             StanInfo[i][sPosedovan] = 0;
  286.             StanInfo[i][sZakljucan] = 1;
  287.             GivePlayerMoney(playerid,StanInfo[i][sCena]);
  288.             SendClientMessage(playerid, BELA, "Uspesno ste prodali stan!");
  289.             LabelIPickup(i);
  290.             SacuvajStan(i);
  291.             return 1;
  292.         }
  293.     }
  294.     return 1;
  295. }
  296. CMD:sputmoney(playerid, params[])// stavljate novac u stan
  297. {
  298.     new novac; new string[500];
  299.     if(sscanf(params, "i", novac))
  300.     {
  301.         SendClientMessage(playerid, BELA, "/sputmoney [novac]");
  302.         return 1;
  303.     }
  304.     for(new i = 0; i < sizeof(StanInfo); i++)
  305.     {
  306.         GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  307.         if(IsPlayerInRangeOfPoint(playerid, 10,StanInfo[i][sIzlaZx], StanInfo[i][sIzlaZy], StanInfo[i][sIzlaZz]) && strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  308.         {
  309.             if(GetPlayerMoney(playerid) >= novac)
  310.             {
  311.                 StanInfo[i][sNovac] += novac;
  312.                 GivePlayerMoney(playerid,-novac);
  313.                 format(string, sizeof(string), "Stavio si %d $ u sef, pa sad ima: %d", novac, StanInfo[i][sNovac]);
  314.                 SendClientMessage(playerid, ZUTA, string);
  315.                 SacuvajStan(i);
  316.                 return 1;
  317.             }
  318.             else { SendClientMessage(playerid,SIVA,"Nemas dovoljno para!"); return 1; }
  319.         }
  320.     }
  321.     return 1;
  322. }
  323. CMD:stakemoney(playerid, params[]) // uzimate novac iz stana
  324. {
  325.     new novac; new string[500];
  326.     if(sscanf(params, "i", novac))
  327.     {
  328.         SendClientMessage(playerid, BELA, "/stakemoney [novac]");
  329.         return 1;
  330.     }
  331.     for(new i = 0; i < sizeof(StanInfo); i++)
  332.     {
  333.         GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
  334.         if(IsPlayerInRangeOfPoint(playerid, 10,StanInfo[i][sIzlaZx], StanInfo[i][sIzlaZy], StanInfo[i][sIzlaZz]) && strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  335.         {
  336.             if(StanInfo[i][sNovac] >= novac)
  337.             {
  338.                 StanInfo[i][sNovac] -= novac;
  339.                 GivePlayerMoney(playerid,novac);
  340.                 format(string, sizeof(string), "Uzeo si %d $ iz sefa, ostalo je jos: %d $", novac, StanInfo[i][sNovac]);
  341.                 SendClientMessage(playerid, ZUTA, string);
  342.                 SacuvajStan(i);
  343.                 return 1;
  344.             }
  345.             else { SendClientMessage(playerid,SIVA,"Nemas dovoljno para!"); return 1; }
  346.         }
  347.     }
  348.     return 1;
  349. }
  350. CMD:sinfo(playerid, params[]) // prikazuje stanje kuce
  351. {
  352.     for(new i = 0; i < sizeof(StanInfo); i++)
  353.     {
  354.         new string[500];
  355.         if(IsPlayerInRangeOfPoint(playerid, 10,StanInfo[i][sIzlaZx], StanInfo[i][sIzlaZy], StanInfo[i][sIzlaZz]) && strcmp(StanInfo[i][sVlasnik], imeigraca, false ) == 0)
  356.         {
  357.             SendClientMessage(playerid, ZUTA, "|========================================|");
  358.             if(StanInfo[i][sZakljucan] == 1)
  359.             {
  360.                 SendClientMessage(playerid, BELA, "Zakljucan: Da");
  361.             }
  362.             if(StanInfo[i][sZakljucan] == 0)
  363.             {
  364.                 SendClientMessage(playerid, BELA, "Zakljucan: Ne");
  365.             }
  366.             format(string, sizeof(string), "Novac u sefu: %d $", StanInfo[i][sNovac]);
  367.             SendClientMessage(playerid, BELA, string);
  368.             format(string, sizeof(string), "Vrednost kuce: %d $", StanInfo[i][sCena]);
  369.             SendClientMessage(playerid, BELA, string);
  370.             SendClientMessage(playerid, ZUTA, "|========================================|");
  371.             return 1;
  372.         }
  373.     }
  374.     return 1;
  375. }
  376. CMD:shelp(playerid, params[]) // prikazuje listu komandi igracu
  377. {
  378.     if(IsPlayerAdmin(playerid))
  379.     {
  380.         SendClientMessage(playerid, BELA, "Admin Komande: /pstan | /astan");
  381.     }
  382.     SendClientMessage(playerid, BELA, "Komande: /kupistan | /prodajstan | /sinfo | /slock | /sputmoney | /stakemoney");
  383.     return 1;
  384. }
  385. //======================[ADMIN CMD]=============================
  386. CMD:pstan(playerid, params[]) // postavlja stan IG (SAMO RCON)
  387. {
  388.     if(IsPlayerAdmin(playerid))
  389.     {
  390.         new Float:X, Float:Y, Float:Z; new string[828]; new stanid = 0;
  391.         GetPlayerPos(playerid, X,Y,Z);
  392.         for(new s = 0; s < sizeof(StanInfo); s++)
  393.         {
  394.             if(StanInfo[s][sPostavljen] == 1)
  395.             {
  396.                 stanid = s + 1;
  397.             }
  398.         }
  399.         format(string, sizeof(string),"Stanovi/%d.ini",stanid);
  400.         dini_Create(string);
  401.         StanInfo[stanid][sUlaZx] = X;
  402.         StanInfo[stanid][sUlaZy] = Y;
  403.         StanInfo[stanid][sUlaZz] = Z;
  404.         StanInfo[stanid][sIzlaZx] = 225.756989;
  405.         StanInfo[stanid][sIzlaZy] = 1240.000000;
  406.         StanInfo[stanid][sIzlaZz] = 1082.149902;
  407.         StanInfo[stanid][sCena] = 38000;
  408.         StanInfo[stanid][sWorld] = stanid;
  409.         StanInfo[stanid][sInt] = 2;
  410.         StanInfo[stanid][sPosedovan] = 0;
  411.         StanInfo[stanid][sPostavljen] = 1;
  412.         StanInfo[stanid][sZakljucan] = 1;
  413.         strmid(StanInfo[stanid][sVlasnik],"Drzava",0,strlen("Drzava"),255);
  414.         strmid(StanInfo[stanid][sOpis], "Stan", 0, strlen("Stan"), 255);
  415.         strmid(StanInfo[stanid][sPoruka],"Na prodaju",0,strlen("Na prodaju"),255);
  416.         format(string,sizeof(string),"{458B00}Na prodaju! \n {458B00}Adresa: {FFFFFF}%d \n {458B00}Cena: {FFFFFF}%d $ \n {458B00}Opis: {FFFFFF}%s",StanInfo[stanid][sWorld], StanInfo[stanid][sCena],StanInfo[stanid][sOpis]);
  417.         StanLabel[stanid] = Create3DTextLabel(string ,0x00FF00AA,X,Y,Z,25, 0, 1);
  418.         StanPickup[stanid] = CreateDynamicPickup(1273, 1, StanInfo[stanid][sUlaZx], StanInfo[stanid][sUlaZy], StanInfo[stanid][sUlaZz]);
  419.         format(string, sizeof(string),"Napravio si stan ID: %d",stanid);
  420.         SendClientMessage(playerid, CRVENA, string);
  421.         LabelIPickup(stanid);
  422.         StanInfo[stanid][sInt]=2;
  423.         SacuvajStan(stanid);
  424.         return 1;
  425.     }
  426.     else { SendClientMessage(playerid,SIVA,"Nisi Admin(RCON)!!"); return 1; }
  427. }
  428. CMD:unististan(playerid, params[]) // unistavanje stana (SAMO RCON)
  429. {
  430.     if(IsPlayerAdmin(playerid))
  431.     {
  432.         new stanid;
  433.         if(sscanf(params, "i", stanid))
  434.         {
  435.             SendClientMessage(playerid, BELA, "/unististan [id stana]");
  436.             return 1;
  437.         }
  438.         if(StanInfo[stanid][sPostavljen] == 1)
  439.         {
  440.             new string[500]; new fajl[500];
  441.             StanInfo[stanid][sPostavljen] = 0;
  442.             Delete3DTextLabel(StanLabel[stanid]);
  443.             DestroyDynamicPickup(StanPickup[stanid]);
  444.             SacuvajStan(stanid);
  445.             format(string, sizeof(string),"Unistio si stan id: %d",stanid);
  446.             SendClientMessage(playerid, CRVENA, string);
  447.             format(fajl,sizeof(fajl),"Stanovi/%d.ini",stanid);
  448.             fremove(fajl);
  449.             return 1;
  450.         }
  451.         else
  452.         {
  453.             SendClientMessage(playerid, SIVA, "Taj stan nepostoji!");
  454.             return 1;
  455.         }
  456.     }
  457.     else { SendClientMessage(playerid,SIVA,"Nisi Admin(RCON)!!"); return 1; }
  458. }
  459. CMD:astan(playerid, params[]) // teleportuje u stan (SAMO RCON)
  460. {
  461.     if(IsPlayerAdmin(playerid))
  462.     {
  463.         new stan;
  464.         if(sscanf(params, "i", stan))
  465.         {
  466.             SendClientMessage(playerid, BELA, "/astan [id stana]");
  467.             return 1;
  468.         }
  469.         SetPlayerInterior(playerid,StanInfo[stan][sInt]);
  470.         SetPlayerVirtualWorld(playerid,StanInfo[stan][sWorld]);
  471.         SetPlayerPos(playerid,StanInfo[stan][sIzlaZx],StanInfo[stan][sIzlaZy],StanInfo[stan][sIzlaZz]);
  472.         UsoUStan[playerid] = stan;
  473.         return 1;
  474.     }
  475.     else { SendClientMessage(playerid,SIVA,"Nisi Admin(RCON)!!"); return 1; }
  476. }
  477. CMD:editcenu(playerid, params[]) // editovanje cene stana (SAMO RCON)
  478. {
  479.     if(IsPlayerAdmin(playerid))
  480.     {
  481.         new cena;
  482.         if(sscanf(params, "i", cena))
  483.         {
  484.             SendClientMessage(playerid, BELA, "/editcenu [cena stana]");
  485.             return 1;
  486.         }
  487.         for(new i = 0; i < sizeof(StanInfo); i++)
  488.         {
  489.             new string[500];
  490.             if(IsPlayerInRangeOfPoint(playerid, 2,StanInfo[i][sUlaZx], StanInfo[i][sUlaZy], StanInfo[i][sUlaZz]))
  491.             {
  492.                 StanInfo[i][sCena] = cena;
  493.                 format(string, sizeof(string), "Promenio si cenu kuce ID: %d u %d $", i, cena);
  494.                 SendClientMessage(playerid, BELA, string);
  495.                 LabelIPickup(i);
  496.                 SacuvajStan(i);
  497.             }
  498.         }
  499.         return 1;
  500.     }
  501.     else { SendClientMessage(playerid,SIVA,"Nisi Admin(RCON)!!"); return 1; }
  502. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement