Guest User

Dovydas. GM

a guest
Sep 14th, 2013
433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.99 KB | None | 0 0
  1. /* *******************************************************************
  2.  
  3.             MODIFIKACIJOS AUTORIUS: DOVYDAS.
  4.             MODIFIKACIJA PATOBULINO: KAROLISK( skype: karoljekaz )
  5.             Dovydas. (c) 2013
  6.  
  7. ******************************************************************** */
  8.  
  9. #include <a_samp>
  10. #include <Dini>
  11. #include <foreach>
  12. #include <zcmd>
  13. #include <dudb>
  14. #pragma unused ret_memcpy
  15.  
  16. /* Defines */
  17. #define WHITE                   0xFFFFFFAA
  18. #define Kick_(%0)   SetTimerEx("Kick_Public",100,false,"d",%0)
  19.  
  20. /* Registracijos defines */
  21.  
  22. #define PRADINIAI_PINIGAI       100
  23. #define PRADINIAI_XP            10
  24. #define PRADINE_POZICIJA        -1972.8463,137.9732,27.6875
  25. #define PRADINIS_VYRO_SKIN      2
  26. #define PRADINIS_MOTERS_SKIN    55  
  27.  
  28. /* Public - Forward */
  29. forward Saugojimas( playerid );
  30. forward Uzkraunam( playerid );
  31. forward TaskuPridejimas(playerid);
  32.  
  33. forward Kick_Public( playerid );
  34. public Kick_Public( playerid ){ Kick( playerid ); }
  35.  
  36. //kintamieji
  37.  
  38.  
  39. enum pData{
  40.     bool:Logged,
  41.     bool:Naujokas,
  42.     Lytis,
  43.     Admin
  44. };
  45.  
  46. new player[ MAX_PLAYERS ][ pData ];
  47.  
  48.  
  49.  
  50. public OnGameModeInit()
  51. {
  52.     SetGameModeText("LifeFierRP 0.1.00");
  53.     SendRconCommand("mapname SAN FIERRO");
  54.     AddPlayerClass(0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0);
  55.     AddPlayerClass(1, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0);
  56.     return 1;
  57. }
  58.  
  59. public OnGameModeExit()
  60. {
  61.     SendClientMessageToAll( -1, "Serveris išjungiamas, prisijunk vėliau. ");
  62.     for( new i; i < MAX_PLAYERS; i++ )
  63.     {
  64.         Saugojimas( i );
  65.     }
  66.     return 1;
  67. }
  68.  
  69. public OnPlayerRequestClass(playerid, classid)
  70. {
  71.     return 1;
  72. }
  73.  
  74. public OnPlayerConnect(playerid)
  75. {
  76.     player[playerid][Logged] = false; //tikrinam ar zaidejas prisijunges
  77.     player[playerid][Lytis] = false; //nustatom, kad zaidejas nepasirinkes lyties
  78.     player[playerid][Admin] = false; //nustatom, kad zaidejas prisijunges netaptu adminu
  79.  
  80.     new name[MAX_PLAYER_NAME],file[128];
  81.     GetPlayerName(playerid,name,sizeof(name));
  82.     format(file,sizeof(file),"vartotojai/%s.ini",name);
  83.     if(!dini_Exists(file))
  84.     {
  85.         ShowPlayerDialog(playerid,0, DIALOG_STYLE_PASSWORD, "LifeFierRP registracija", "Prašome įvesti slaptažodį,\n{FF0000}>  {FFFFFF}Slaptodis turi būti sudarytas minimaliai iš 3 skaitemų.\n{FF0000}>  {FFFFFF}Norint apsaugoti paskyrą, dėkite sunku slaptažodį.", "Registuotis", "Atsijungti");
  86.     }
  87.     else if(dini_Exists(file))
  88.     {
  89.         ShowPlayerDialog(playerid,1, DIALOG_STYLE_PASSWORD, "LifeFierRP prisijungimas", "Prašome įvesti slaptažodį,\n{FF0000}>  {FFFFFF}Kuri užrašėte registruodamėsi.", "Prisijungti", "Atsijungti");
  90.     }
  91.  
  92.     //prisijungimo tekstai
  93.     SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Sveikas atvykęs į LifeFierRP serverį!");
  94.     SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Mūsų projekto tinklapis: LifeFierRP.US.lt !");
  95.     SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Serverio kūrėjas: Johan_Fozzy !");
  96.     SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Serverio SAVININKAI: Johan_Fozzy ; Micheal_Shadow !");
  97.     return 1;
  98. }
  99.  
  100. public OnPlayerDisconnect(playerid, reason)
  101. {
  102.     Saugojimas( playerid );
  103.     return 1;
  104. }
  105.  
  106. public OnPlayerSpawn(playerid)
  107. {
  108.     Uzkraunam(playerid);
  109.    
  110.     new name[MAX_PLAYER_NAME],file[128];
  111.     GetPlayerName(playerid,name,sizeof(name));
  112.     format(file,sizeof(file),"saves/users/%s.ini",name);
  113.     //lyties tikrinimas
  114.     if(player[playerid][Lytis] == 1)
  115.     {
  116.         SetPlayerSkin(playerid, 188);
  117.     }
  118.     else if (player[playerid][Lytis] == 0)
  119.     {
  120.         SetPlayerSkin(playerid, 93);
  121.     }
  122.  
  123.  
  124.     //tikrinam ar naujokas, jei taip duodam pinigus, nustatom pozicija ir skiriam lyti
  125.     if(player[playerid][Naujokas] == true)
  126.     {
  127.         GivePlayerMoney(playerid, PRADINIAI_PINIGAI);
  128.         SetPlayerPos(playerid, PRADINE_POZICIJA);
  129.     }
  130.  
  131.     if(player[playerid][Naujokas] == true)
  132.     {
  133.         ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Lyties pasirinkimas","Prašome pasirinkti žaidimo lytį, lyties žaidime pasikeisti negalėsite,\nsiūlome rinktis savo tikrąją lyti!","Vaikinas","Mergina");
  134.     }
  135.  
  136.     //tikrinam ar adminas
  137.     if(player[playerid][Admin] == 1)
  138.     {
  139.         SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Sveiki prisijungę prie serverio, mūsų serverio {006600}Administratoriau !{ffffff} .");
  140.     }
  141.  
  142.     SetTimerEx("TaskuPridejimas", 61000, true, "i", playerid); //nustatau taimeri kad kiltu xp
  143.     return 1;
  144. }
  145.  
  146. public OnPlayerDeath(playerid, killerid, reason)
  147. {
  148.     return 1;
  149. }
  150.  
  151. public OnVehicleSpawn(vehicleid)
  152. {
  153.     return 1;
  154. }
  155.  
  156. public OnVehicleDeath(vehicleid, killerid)
  157. {
  158.     return 1;
  159. }
  160.  
  161. public OnPlayerText(playerid, text[])
  162. {
  163.     new vardas[ 24 ], stringas[ 158 ];
  164.     GetPlayerName( playerid, vardas, 24 );
  165.     format( stringas, 158, "{99FF00}%s{ffffff} %s", vardas, text);
  166.     SendClientMessage( playerid, -1, stringas);
  167.     return 0;
  168. }
  169.  
  170.  
  171. public OnPlayerCommandText(playerid, cmdtext[])
  172. {
  173.     return 1;
  174. }
  175.  
  176.        
  177. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  178. {
  179.     return 1;
  180. }
  181.  
  182. public OnPlayerExitVehicle(playerid, vehicleid)
  183. {
  184.     return 1;
  185. }
  186.  
  187. public OnPlayerStateChange(playerid, newstate, oldstate)
  188. {
  189.     return 1;
  190. }
  191.  
  192. public OnPlayerEnterCheckpoint(playerid)
  193. {
  194.     return 1;
  195. }
  196.  
  197. public OnPlayerLeaveCheckpoint(playerid)
  198. {
  199.     return 1;
  200. }
  201.  
  202. public OnPlayerEnterRaceCheckpoint(playerid)
  203. {
  204.     return 1;
  205. }
  206.  
  207. public OnPlayerLeaveRaceCheckpoint(playerid)
  208. {
  209.     return 1;
  210. }
  211.  
  212. public OnRconCommand(cmd[])
  213. {
  214.     return 1;
  215. }
  216.  
  217. public OnPlayerRequestSpawn(playerid)
  218. {
  219.     if(player[playerid][Logged] == false && player[playerid][Naujokas] == false)
  220.     {
  221.         SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Pirmiausia prisijungite!");
  222.         return 0;
  223.     }
  224.     return 1;
  225. }
  226.  
  227. public OnObjectMoved(objectid)
  228. {
  229.     return 1;
  230. }
  231.  
  232. public OnPlayerObjectMoved(playerid, objectid)
  233. {
  234.     return 1;
  235. }
  236.  
  237. public OnPlayerPickUpPickup(playerid, pickupid)
  238. {
  239.     return 1;
  240. }
  241.  
  242. public OnVehicleMod(playerid, vehicleid, componentid)
  243. {
  244.     return 1;
  245. }
  246.  
  247. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  248. {
  249.     return 1;
  250. }
  251.  
  252. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  253. {
  254.     return 1;
  255. }
  256.  
  257. public OnPlayerSelectedMenuRow(playerid, row)
  258. {
  259.     return 1;
  260. }
  261.  
  262. public OnPlayerExitedMenu(playerid)
  263. {
  264.     return 1;
  265. }
  266.  
  267. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  268. {
  269.     return 1;
  270. }
  271.  
  272. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  273. {
  274.     return 1;
  275. }
  276.  
  277. public OnRconLoginAttempt(ip[], password[], success)
  278. {
  279.     return 1;
  280. }
  281.  
  282. public OnPlayerUpdate(playerid)
  283. {
  284.     return 1;
  285. }
  286.  
  287. public OnPlayerStreamIn(playerid, forplayerid)
  288. {
  289.     return 1;
  290. }
  291.  
  292. public OnPlayerStreamOut(playerid, forplayerid)
  293. {
  294.     return 1;
  295. }
  296.  
  297. public OnVehicleStreamIn(vehicleid, forplayerid)
  298. {
  299.     return 1;
  300. }
  301.  
  302. public OnVehicleStreamOut(vehicleid, forplayerid)
  303. {
  304.     return 1;
  305. }
  306.  
  307. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  308. {
  309.     if(dialogid == 0) //registracija
  310.     {
  311.         if(response) //jeigu paspaude registruotis
  312.         {
  313.             if(strlen(inputtext) < 3)
  314.             {
  315.                 SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Slaptodis turi būti nemažesnis nei trijų skaitmenų.");
  316.                 ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "LifeFierRP registracija", "Prašome įvesti slaptažodį,\n{FF0000}>  {FFFFFF}Slaptodis turi būti sudarytas minimaliai iš 3 skaitemų.\n{FF0000}>  {FFFFFF}Norint apsaugoti paskyrą, dėkite sunku slaptažodį.", "Registuotis", "Atsijungti");
  317.             }
  318.             else
  319.             {
  320.                 new name[MAX_PLAYER_NAME],file[128];
  321.                 GetPlayerName(playerid,name,sizeof(name));
  322.                 format(file,sizeof(file),"vartotojai/%s.ini",name);
  323.                 dini_Create(file);
  324.                 dini_IntSet(file,"slaptazodis",udb_hash(inputtext));
  325.                 format(file,sizeof(file),"{EE5555}***{ffffff}  Jūs užsiregistravote, jūsų slaptažodis( %s ), Spauskite SPAWN kad pradėti toliau žaidimą",inputtext);
  326.                 SendClientMessage(playerid,WHITE,file);
  327.                 player[playerid][Naujokas] = true;
  328.             }
  329.         }
  330.         else if(!response)
  331.         {
  332.             Kick_(playerid);
  333.             SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Jūs esate išspirtas iš serverio.");
  334.         }
  335.     }
  336.  
  337.     if(dialogid == 1) // prisijungimas
  338.     {
  339.         if(response) // jeigu paspaude prisijungti
  340.         {
  341.             new file[128], name[128], pass[256]; // kintamieji
  342.             GetPlayerName(playerid, name, 128); // gaunam slapyvardi
  343.             format(file,sizeof(file),"vartotojai/%s.ini",name);
  344.             pass = dini_Get(file,"slaptazodis"); // Gaunam zaidejo tikra slaptazodi.
  345.             if(udb_hash(inputtext) != strval(pass)) // Jai zaidejo irasytas slaptazodis neatitinka tikram slaptazodziui.
  346.             {
  347.                 ShowPlayerDialog(playerid,1, DIALOG_STYLE_PASSWORD, "Prisijungimas", "Jūsų suvestas slaptažodis neteisingas", "Prisijungti", "Atsijungti");
  348.             }
  349.             else
  350.             {
  351.                 player[playerid][Logged] = true;
  352.                 SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Sveikiname prisijungus prie serverio, geros dienos.");
  353.             }
  354.         }
  355.         else if(!response)
  356.         {
  357.             Kick_(playerid);
  358.             SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Jūs esate išspirtas iš serverio.");
  359.         }
  360.     }
  361.  
  362.     if(dialogid == 2) // lyties pasirinkimas
  363.     {
  364.         if(response)
  365.         {
  366.             SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Jūs pasirinkote {EE5555}VAIKINO{ffffff} lyti, gero žaidimo jums linki {EE5555}Serverio administracija{ffffff}.");
  367.             SetPlayerSkin(playerid, PRADINIS_VYRO_SKIN);
  368.             player[playerid][Lytis] = true;
  369.         }
  370.         if(!response)
  371.         {
  372.             SendClientMessage(playerid,WHITE,"{EE5555}***{ffffff}  Jūs pasirinkote {EE5555}MERGINOS{ffffff} lyti, gero žaidimo jums linki {EE5555}Serverio administracija{ffffff}.");
  373.             SetPlayerSkin(playerid, PRADINIS_MOTERS_SKIN);
  374.             player[playerid][Lytis] = false;
  375.         }
  376.     }
  377.     return 1;
  378. }
  379.  
  380. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  381. {
  382.     return 1;
  383. }
  384.  
  385.  
  386.  
  387. stock CheckPass(file[],password[])
  388. {
  389.    if(!strcmp(dini_Get(file,"slaptazodis"), password, true )) return true;
  390.    return false;
  391. }
  392.  
  393. public Saugojimas(playerid)
  394. {
  395.     new Float:coo[3], weps[2][12];
  396.     new name[MAX_PLAYER_NAME], file[256];
  397.     GetPlayerName(playerid, name, sizeof(name));
  398.     format(file, sizeof(file), "vartotojai/%s.ini", name);
  399.     if(!fexist(file)){dini_Create(file);}
  400.     GetPlayerPos(playerid,coo[0],coo[1],coo[2]);
  401.     dini_IntSet(file,"Xp",GetPlayerScore(playerid));
  402.     dini_IntSet(file,"Pinigai",GetPlayerMoney(playerid));
  403.     dini_IntSet(file,"Lytis",player[playerid][Lytis]);
  404.     dini_IntSet(file,"Admin",player[playerid][Admin]);
  405.     for (new tmp=0; tmp<12; tmp++) GetPlayerWeaponData(playerid,tmp,weps[0][tmp],weps[1][tmp]);
  406.     dini_IntSet(file,"Ginklas0",weps[0][0]); dini_IntSet(file,"Ammo0",weps[1][0]);
  407.     dini_IntSet(file,"Ginklas1",weps[0][1]); dini_IntSet(file,"Ammo1",weps[1][1]);
  408.     dini_IntSet(file,"Ginklas2",weps[0][2]); dini_IntSet(file,"Ammo2",weps[1][2]);
  409.     dini_IntSet(file,"Ginklas3",weps[0][3]); dini_IntSet(file,"Ammo3",weps[1][3]);
  410.     dini_IntSet(file,"Ginklas4",weps[0][4]); dini_IntSet(file,"Ammo4",weps[1][4]);
  411.     dini_IntSet(file,"Ginklas5",weps[0][5]); dini_IntSet(file,"Ammo5",weps[1][5]);
  412.     dini_IntSet(file,"Ginklas6",weps[0][6]); dini_IntSet(file,"Ammo6",weps[1][6]);
  413.     dini_IntSet(file,"Ginklas7",weps[0][7]); dini_IntSet(file,"Ammo7",weps[1][7]);
  414.     dini_IntSet(file,"Ginklas8",weps[0][8]); dini_IntSet(file,"Ammo8",weps[1][8]);
  415.     dini_IntSet(file,"Ginklas9",weps[0][9]); dini_IntSet(file,"Ammo9",weps[1][9]);
  416.     dini_IntSet(file,"Ginklas10",weps[0][10]); dini_IntSet(file,"Ammo10",weps[1][10]);
  417.     dini_IntSet(file,"Ginklas11",weps[0][11]); dini_IntSet(file,"Ammo11",weps[1][11]);
  418.     dini_FloatSet(file,"pos_X",coo[0]);     dini_FloatSet(file,"pos_Y",coo[1]);     dini_FloatSet(file,"pos_Z",coo[2]);
  419.     return 1;
  420. }
  421.  
  422. public Uzkraunam(playerid)
  423. {
  424.     new name[MAX_PLAYER_NAME],file[128];
  425.     GetPlayerName(playerid,name,sizeof(name));
  426.     format(file,sizeof(file),"vartotojai/%s.ini",name);
  427.     new tmpxp = dini_Int(file,"Xp");
  428.        
  429.     SetPlayerScore(playerid,tmpxp);
  430.     GivePlayerMoney(playerid, dini_Int(file,"Pinigai"));
  431.     player[playerid][Lytis] = dini_Int(file, "Lytis");
  432.     player[playerid][Admin] = dini_Int(file, "Admin");
  433.     SetPlayerPos(playerid,dini_Float(file,"pos_X"),dini_Float(file,"pos_Y"),dini_Float(file,"pos_Z"));
  434.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas0"),dini_Int(file,"Ammo0"));
  435.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas1"),dini_Int(file,"Ammo1"));
  436.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas2"),dini_Int(file,"Ammo2"));
  437.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas3"),dini_Int(file,"Ammo3"));
  438.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas4"),dini_Int(file,"Ammo4"));
  439.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas5"),dini_Int(file,"Ammo5"));
  440.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas6"),dini_Int(file,"Ammo6"));
  441.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas7"),dini_Int(file,"Ammo7"));
  442.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas8"),dini_Int(file,"Ammo8"));
  443.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas9"),dini_Int(file,"Ammo9"));
  444.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas10"),dini_Int(file,"Ammo10"));
  445.     GivePlayerWeapon(playerid,dini_Int(file,"Ginklas11"),dini_Int(file,"Ammo11"));
  446.     return;
  447. }
  448.  
  449. public TaskuPridejimas(playerid)
  450. {
  451.     SetPlayerScore(playerid, GetPlayerScore(playerid) + 2);
  452.     return 1;
  453. }
Advertisement
Add Comment
Please, Sign In to add comment