LoriYagami

Haikal-RP

Dec 15th, 2017
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 16.03 KB | None | 0 0
  1. //Include
  2. #include <a_samp>
  3. #include <foreach>
  4. #include <dini2>
  5. #include <streamer>
  6. #include <sscanf2>
  7. #include <izcmd>
  8. #include <mSelection>
  9. #include <md5>
  10. #include <timestamptodate>
  11.  
  12. //Define
  13. #define USER_PATH "/Users/%s.ini"
  14.  
  15. #define COLOR_GRAD1         0xB4B5B7FF
  16. #define COLOR_GRAD2         0xBFC0C2FF
  17. #define COLOR_GRAD3         0xCBCCCEFF
  18. #define COLOR_GRAD4         0xD8D8D8FF
  19. #define COLOR_GRAD5         0xE3E3E3FF
  20. #define COLOR_GRAD6         0xF0F0F0FF
  21. #define COLOR_FADE1         0xE6E6E6E6
  22. #define COLOR_FADE2         0xC8C8C8C8
  23. #define COLOR_FADE3         0xAAAAAAAA
  24. #define COLOR_FADE4         0x8C8C8C8C
  25. #define COLOR_FADE5         0x6E6E6E6E
  26. #define COLOR_PURPLE        0xC2A2DAAA
  27. #define COLOR_RED           0xAA3333AA
  28. #define COLOR_GREY          0xAFAFAFAA
  29. #define COLOR_GREEN         0x33AA33AA
  30. #define COLOR_BLACK         0x000001FF
  31. #define COLOR_BLUE          0x007BD0FF
  32. #define COLOR_LIGHTORANGE   0xFFA100FF
  33. #define COLOR_FLASH         0xFF000080
  34. #define COLOR_LIGHTRED      0xFF6347AA
  35. #define COLOR_LIGHTBLUE     0x33CCFFAA
  36. #define COLOR_LIGHTGREEN    0x9ACD32AA
  37. #define COLOR_YELLOW        0xFFFF00AA
  38. #define COLOR_LIGHTYELLOW   0xFFFF91FF
  39. #define COLOR_YELLOW2       0xF5DEB3AA
  40. #define COLOR_WHITE         0xFFFFFFAA
  41. #define COLOR_ORANGE        0xFF8000FF
  42. #define COLOR_NEWBIE        0x7DAEFFFF
  43. #define COLOR_GOLD          0xF6C861AA
  44.  
  45. //Server Side Money (Money Anti-Cheat)
  46. #define GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
  47. #define ResetPlayerCash(%0) SetPVarInt(%0,"Money",0), ResetPlayerMoney(%0)
  48. #define GetPlayerCash(%0) GetPVarInt(%0,"Money")
  49.  
  50. #define DIALOG_REGISTER 1
  51. #define DIALOG_LOGIN 2
  52. #define DIALOG_GENDER 3
  53.  
  54.  
  55. //Forward
  56. forward UserRegister(playerid, password[]);
  57. forward UserLogin(playerid, password[]);
  58. forward UserSave(playerid);
  59. forward UserCheckBanned(playerid);
  60. forward SafeConnect(playerid);
  61.  
  62. //Variables
  63. new bool:loggedin[MAX_PLAYERS] = false;
  64.  
  65. //Array
  66. new MaleSkin[59] = { 1,2,4,5,6,7,14,15,20,21,22,23,24,25,26,29,30,44,46,47,48,58,59,60,66,67,72,73,98,101,134,135,136,149,170,183,184,185,186,187,212,213,217,221,222,223,235,236,240,241,242,250,261,262,290,291,299 };
  67. new FemaleSkin[39] = { 9,10,12,13,38,39,40,41,54,55,56,69,76,88,989,93,148,150,151,169,190,191,192,193,195,211,214,215,216,218,219,224,225,226,231,232,233,298 };
  68.  
  69. //Enum
  70. enum pInfo
  71. {
  72.     pPass[256],
  73.     pRegister,
  74.     pCash,
  75.     pAccount,
  76.     pLevel,
  77.     pExp,
  78.     pSkin,
  79.     pGender,
  80.     Float:pHealth,
  81.     Float:pArmour,
  82.     Float:pPosX,
  83.     Float:pPosY,
  84.     Float:pPosZ,
  85.     Float:pRot,
  86.     pInt,
  87.     pVW,
  88.     pAdmin,
  89.     pBan,
  90.     pBanEnd
  91. }
  92. new PlayerInfo[MAX_PLAYERS][pInfo];
  93.  
  94. //Stock
  95. stock GetPlayerNameEx(playerid)
  96. {
  97.     new playername[MAX_PLAYER_NAME];
  98.     GetPlayerName(playerid, playername, sizeof(playername));
  99.     return playername;
  100. }
  101.  
  102. stock ResetPlayerVariables(playerid)
  103. {
  104.     loggedin[playerid] = false;
  105.     PlayerInfo[playerid][pRegister] = 0;
  106.     PlayerInfo[playerid][pCash] = 0;
  107.     PlayerInfo[playerid][pAccount] = 0;
  108.     PlayerInfo[playerid][pLevel] = 0;
  109.     PlayerInfo[playerid][pExp] = 0;
  110.     PlayerInfo[playerid][pSkin] = 0;
  111.     PlayerInfo[playerid][pGender] = 0;
  112.     PlayerInfo[playerid][pHealth] = 0.0;
  113.     PlayerInfo[playerid][pArmour] = 0.0;
  114.     PlayerInfo[playerid][pPosX] = 0.0;
  115.     PlayerInfo[playerid][pPosY] = 0.0;
  116.     PlayerInfo[playerid][pPosZ] = 0.0;
  117.     PlayerInfo[playerid][pRot] = 0.0;
  118.     PlayerInfo[playerid][pInt] = 0;
  119.     PlayerInfo[playerid][pVW] = 0;
  120.     PlayerInfo[playerid][pAdmin] = 0;
  121.     PlayerInfo[playerid][pBan] = 0;
  122.     PlayerInfo[playerid][pBanEnd] = 0;
  123.     return 1;
  124. }
  125.  
  126. stock SetupPlayerRegister(playerid)
  127. {
  128.     loggedin[playerid] = true;
  129.     PlayerInfo[playerid][pPosX] = 1753.8188;
  130.     PlayerInfo[playerid][pPosY] = -1921.2356;
  131.     PlayerInfo[playerid][pPosZ] = 13.5722;
  132.     PlayerInfo[playerid][pRot] = 280.000;
  133.     PlayerInfo[playerid][pInt] = 0;
  134.     PlayerInfo[playerid][pVW] = 0;
  135.     SetPlayerFacingAngle(playerid, 280.0000);
  136.     SendClientMessage(playerid, COLOR_GRAD2, "Selamat datang di Haikal-Roleplay.");
  137.     SendClientMessage(playerid, COLOR_GRAD2, "Gunakan /commands untuk mengetahui informasi lebih lanjut tentang server.");
  138.     GivePlayerCash(playerid, 50000);
  139.     SetPlayerScore(playerid, 1);
  140.     PlayerInfo[playerid][pLevel] = 1;
  141.     SpawnPlayer(playerid);
  142.     return 1;
  143. }
  144.  
  145. main()
  146. {
  147.     print("\n----------------------------------");
  148.     print(" H-RP powered by Haikal Bintang");
  149.     print("----------------------------------\n");
  150. }
  151.  
  152. public OnGameModeInit()
  153. {
  154.     // Don't use these lines if it's a filterscript
  155.     DisableInteriorEnterExits();
  156.     SetGameModeText("H-RP v0.1");
  157.     return 1;
  158. }
  159.  
  160. public OnGameModeExit()
  161. {
  162.     return 1;
  163. }
  164.  
  165. public OnPlayerRequestClass(playerid, classid)
  166. {
  167.     return 1;
  168. }
  169.  
  170. public OnPlayerConnect(playerid)
  171. {
  172.     UserCheckBanned(playerid);
  173.     ResetPlayerVariables(playerid);
  174.     return 1;
  175. }
  176.  
  177. public OnPlayerDisconnect(playerid, reason)
  178. {
  179.     UserSave(playerid);
  180.     return 1;
  181. }
  182.  
  183. public OnPlayerSpawn(playerid)
  184. {
  185.     if(PlayerInfo[playerid][pRegister] == 1)
  186.     {
  187.         SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  188.         SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
  189.         SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pRot]);
  190.         SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
  191.         SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
  192.         SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
  193.     }
  194.     else
  195.     {
  196.         PlayerInfo[playerid][pRegister] = 1;
  197.         SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  198.         SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
  199.         SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pRot]);
  200.         SetPlayerInterior(playerid, PlayerInfo[playerid][pInt]);
  201.         SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
  202.     }
  203.     return 1;
  204. }
  205.  
  206. public OnPlayerDeath(playerid, killerid, reason)
  207. {
  208.     return 1;
  209. }
  210.  
  211. public OnVehicleSpawn(vehicleid)
  212. {
  213.     return 1;
  214. }
  215.  
  216. public OnVehicleDeath(vehicleid, killerid)
  217. {
  218.     return 1;
  219. }
  220.  
  221. public OnPlayerText(playerid, text[])
  222. {
  223.     return 1;
  224. }
  225.  
  226. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  227. {
  228.     return 1;
  229. }
  230.  
  231. public OnPlayerExitVehicle(playerid, vehicleid)
  232. {
  233.     return 1;
  234. }
  235.  
  236. public OnPlayerStateChange(playerid, newstate, oldstate)
  237. {
  238.     return 1;
  239. }
  240.  
  241. public OnPlayerEnterCheckpoint(playerid)
  242. {
  243.     return 1;
  244. }
  245.  
  246. public OnPlayerLeaveCheckpoint(playerid)
  247. {
  248.     return 1;
  249. }
  250.  
  251. public OnPlayerEnterRaceCheckpoint(playerid)
  252. {
  253.     return 1;
  254. }
  255.  
  256. public OnPlayerLeaveRaceCheckpoint(playerid)
  257. {
  258.     return 1;
  259. }
  260.  
  261. public OnRconCommand(cmd[])
  262. {
  263.     return 1;
  264. }
  265.  
  266. public OnPlayerRequestSpawn(playerid)
  267. {
  268.  
  269.     if(loggedin[playerid] == false)
  270.     {
  271.         Kick(playerid);
  272.     }
  273.     return 1;
  274. }
  275.  
  276. public OnObjectMoved(objectid)
  277. {
  278.     return 1;
  279. }
  280.  
  281. public OnPlayerObjectMoved(playerid, objectid)
  282. {
  283.     return 1;
  284. }
  285.  
  286. public OnPlayerPickUpPickup(playerid, pickupid)
  287. {
  288.     return 1;
  289. }
  290.  
  291. public OnVehicleMod(playerid, vehicleid, componentid)
  292. {
  293.     return 1;
  294. }
  295.  
  296. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  297. {
  298.     return 1;
  299. }
  300.  
  301. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  302. {
  303.     return 1;
  304. }
  305.  
  306. public OnPlayerSelectedMenuRow(playerid, row)
  307. {
  308.     return 1;
  309. }
  310.  
  311. public OnPlayerExitedMenu(playerid)
  312. {
  313.     return 1;
  314. }
  315.  
  316. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  317. {
  318.     return 1;
  319. }
  320.  
  321. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  322. {
  323.     return 1;
  324. }
  325.  
  326. public OnRconLoginAttempt(ip[], password[], success)
  327. {
  328.     return 1;
  329. }
  330.  
  331. public OnPlayerUpdate(playerid)
  332. {
  333.     return 1;
  334. }
  335.  
  336. public OnPlayerStreamIn(playerid, forplayerid)
  337. {
  338.     return 1;
  339. }
  340.  
  341. public OnPlayerStreamOut(playerid, forplayerid)
  342. {
  343.     return 1;
  344. }
  345.  
  346. public OnVehicleStreamIn(vehicleid, forplayerid)
  347. {
  348.     return 1;
  349. }
  350.  
  351. public OnVehicleStreamOut(vehicleid, forplayerid)
  352. {
  353.     return 1;
  354. }
  355.  
  356. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  357. {
  358.     if(dialogid == DIALOG_REGISTER)
  359.     {
  360.         if(response)
  361.         {
  362.             if(strlen(inputtext))
  363.             {
  364.                 new hashpassword[64];
  365.                 format(hashpassword, sizeof(hashpassword), "%s", MD5_Hash(inputtext));
  366.                 UserRegister(playerid, hashpassword);
  367.             }
  368.             else
  369.             {
  370.                 ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"Haikal Roleplay - Register","Password tidak boleh kosong!\nMasukan password di bawah ini:","Daftar","Keluar");
  371.             }
  372.         }
  373.         else
  374.         {
  375.             Kick(playerid);
  376.         }
  377.     }
  378.     if(dialogid == DIALOG_LOGIN)
  379.     {
  380.         if(response)
  381.         {
  382.             if(strlen(inputtext))
  383.             {
  384.                 new hashpassword[64];
  385.                 format(hashpassword, sizeof(hashpassword), "%s", MD5_Hash(inputtext));
  386.                 UserLogin(playerid, hashpassword);
  387.             }
  388.             else
  389.             {
  390.                 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Haikal Roleplay - Login","Password tidak boleh kosong!\nMasukan password di bawah ini:","Masuk","Keluar");
  391.             }
  392.         }
  393.         else
  394.         {
  395.             Kick(playerid);
  396.         }
  397.     }
  398.     if(dialogid == DIALOG_GENDER)
  399.     {
  400.         if(response)
  401.         {
  402.             PlayerInfo[playerid][pGender] = 1;
  403.             PlayerInfo[playerid][pSkin] = MaleSkin[random(sizeof(MaleSkin))];
  404.             SendClientMessage(playerid, COLOR_WHITE, "Kamu adalah seorang {2BFF00}Pria{FFFFFF}.");
  405.             GameTextForPlayer(playerid, "~r~Pilih ~w~Skin", 5000, 5);
  406.             SetupPlayerRegister(playerid);
  407.         }
  408.         else
  409.         {
  410.             PlayerInfo[playerid][pGender] = 2;
  411.             PlayerInfo[playerid][pSkin] = FemaleSkin[random(sizeof(FemaleSkin))];
  412.             SendClientMessage(playerid, COLOR_WHITE, "Kamu adalah seorang {2BFF00}Wanita{FFFFFF}.");
  413.             GameTextForPlayer(playerid, "~r~Pilih ~w~Skin", 5000, 5);
  414.             SetupPlayerRegister(playerid);
  415.         }
  416.     }
  417.     return 1;
  418. }
  419.  
  420. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  421. {
  422.     return 1;
  423. }
  424.  
  425. //Unofficial Public
  426. public UserRegister(playerid, password[])
  427. {
  428.     if(IsPlayerConnected(playerid))
  429.     {
  430.         new file[64];
  431.         format(file, sizeof(file), USER_PATH, GetPlayerNameEx(playerid));
  432.         if(!dini_Exists(file))
  433.         {
  434.             dini_Create(file);
  435.             format(PlayerInfo[playerid][pPass], 255, "%s", password);
  436.             dini_Set(file, "Password", PlayerInfo[playerid][pPass]);
  437.             dini_IntSet(file, "Register", PlayerInfo[playerid][pRegister]);
  438.             dini_IntSet(file, "Cash", PlayerInfo[playerid][pCash]);
  439.             dini_IntSet(file, "Account", PlayerInfo[playerid][pAccount]);
  440.             dini_IntSet(file, "Level", PlayerInfo[playerid][pLevel]);
  441.             dini_IntSet(file, "Exp", PlayerInfo[playerid][pExp]);
  442.             dini_IntSet(file, "Skin", PlayerInfo[playerid][pSkin]);
  443.             dini_IntSet(file, "Gender", PlayerInfo[playerid][pGender]);
  444.             dini_FloatSet(file, "Health", PlayerInfo[playerid][pHealth]);
  445.             dini_FloatSet(file, "Armour", PlayerInfo[playerid][pArmour]);
  446.             dini_FloatSet(file, "PosX", PlayerInfo[playerid][pPosX]);
  447.             dini_FloatSet(file, "PosY", PlayerInfo[playerid][pPosY]);
  448.             dini_FloatSet(file, "PosZ", PlayerInfo[playerid][pPosZ]);
  449.             dini_FloatSet(file, "Rot", PlayerInfo[playerid][pRot]);
  450.             dini_IntSet(file, "Interior", PlayerInfo[playerid][pInt]);
  451.             dini_IntSet(file, "VW", PlayerInfo[playerid][pVW]);
  452.             dini_IntSet(file, "Admin", PlayerInfo[playerid][pAdmin]);
  453.             dini_IntSet(file, "Ban", PlayerInfo[playerid][pBan]);
  454.             dini_IntSet(file, "BanEnd", PlayerInfo[playerid][pBanEnd]);
  455.             ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Haikal Roleplay - Login","Masukan password untuk bergabung ke dalam server:","Masuk","Keluar");
  456.         }
  457.     }
  458.     return 1;
  459. }
  460.  
  461. public UserLogin(playerid, password[])
  462. {
  463.     new file[64];
  464.     format(file, sizeof(file), USER_PATH, GetPlayerNameEx(playerid));
  465.     if(dini_Exists(file))
  466.     {
  467.         if(strcmp(dini_Get(file, "Password"), password, false) == 0)
  468.         {
  469.             PlayerInfo[playerid][pRegister] = dini_Int(file, "Register");
  470.             PlayerInfo[playerid][pCash] = dini_Int(file, "Cash");
  471.             PlayerInfo[playerid][pAccount] = dini_Int(file, "Acccount");
  472.             PlayerInfo[playerid][pLevel] = dini_Int(file, "Level");
  473.             PlayerInfo[playerid][pExp] = dini_Int(file, "Exp");
  474.             PlayerInfo[playerid][pSkin] = dini_Int(file, "Skin");
  475.             PlayerInfo[playerid][pGender] = dini_Int(file, "Gender");
  476.             PlayerInfo[playerid][pHealth] = dini_Float(file, "Health");
  477.             PlayerInfo[playerid][pArmour] = dini_Float(file, "Armour");
  478.             PlayerInfo[playerid][pPosX] = dini_Float(file, "PosX");
  479.             PlayerInfo[playerid][pPosY] = dini_Float(file, "PosY");
  480.             PlayerInfo[playerid][pPosZ] = dini_Float(file, "PosZ");
  481.             PlayerInfo[playerid][pRot] = dini_Float(file, "Rot");
  482.             PlayerInfo[playerid][pInt] = dini_Int(file, "Interior");
  483.             PlayerInfo[playerid][pVW] = dini_Int(file, "VW");
  484.             PlayerInfo[playerid][pAdmin] = dini_Int(file, "Admin");
  485.             PlayerInfo[playerid][pBan] = dini_Int(file, "Ban");
  486.             PlayerInfo[playerid][pBanEnd] = dini_Int(file, "BanEnd");
  487.             if(dini_Int(file, "Register") == 0)
  488.             {
  489.                 ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Haikal Roleplay - Gender", "Pilih jenis kelamin anda:", "Pria", "Wanita");
  490.             }
  491.             else
  492.             {
  493.                 loggedin[playerid] = true;
  494.                 GivePlayerCash(playerid, PlayerInfo[playerid][pCash]);
  495.                 SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  496.                 SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pRot], -1, -1, -1, -1, -1, -1);
  497.                 SpawnPlayer(playerid);
  498.             }
  499.         }
  500.         else
  501.         {
  502.             ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Republic Kingdom - Login","Masukan password untuk bergabung ke dalam server:","Masuk","Keluar");
  503.         }
  504.     }
  505.     return 1;
  506. }
  507.  
  508. public UserSave(playerid)
  509. {
  510.     if(IsPlayerConnected(playerid))
  511.     {
  512.         if(loggedin[playerid] == true)
  513.         {
  514.             new file[64], Float:X, Float:Y, Float:Z, Float:Rot, Float:Health, Float:Armour;
  515.             format(file, sizeof(file), USER_PATH, GetPlayerNameEx(playerid));
  516.             GetPlayerPos(playerid, X, Y, Z);
  517.             GetPlayerFacingAngle(playerid, Rot);
  518.             GetPlayerHealth(playerid, Health);
  519.             GetPlayerArmour(playerid, Armour);
  520.             dini_IntSet(file, "Register", PlayerInfo[playerid][pRegister]);
  521.             dini_IntSet(file, "Cash", GetPlayerCash(playerid));
  522.             dini_IntSet(file, "Account", PlayerInfo[playerid][pAccount]);
  523.             dini_IntSet(file, "Level", PlayerInfo[playerid][pLevel]);
  524.             dini_IntSet(file, "Exp", PlayerInfo[playerid][pExp]);
  525.             dini_IntSet(file, "Skin", PlayerInfo[playerid][pSkin]);
  526.             dini_IntSet(file, "Gender", PlayerInfo[playerid][pGender]);
  527.             dini_FloatSet(file, "Health", Health);
  528.             dini_FloatSet(file, "Armour", Armour);
  529.             dini_FloatSet(file, "PosX", X);
  530.             dini_FloatSet(file, "PosY", Y);
  531.             dini_FloatSet(file, "PosZ", Z);
  532.             dini_FloatSet(file, "Rot", Rot);
  533.             dini_IntSet(file, "Interior", GetPlayerInterior(playerid));
  534.             dini_IntSet(file, "VW", GetPlayerVirtualWorld(playerid));
  535.             dini_IntSet(file, "Admin", PlayerInfo[playerid][pAdmin]);
  536.             dini_IntSet(file, "Ban", PlayerInfo[playerid][pBan]);
  537.             dini_IntSet(file, "BanEnd", PlayerInfo[playerid][pBanEnd]);
  538.         }
  539.     }
  540.     return 1;
  541. }
  542.  
  543. public UserCheckBanned(playerid)
  544. {
  545.     new string[128], playername[MAX_PLAYER_NAME], file[64], date[6];
  546.     GetPlayerName(playerid, playername, sizeof(playername));
  547.     format(file, sizeof(file), USER_PATH, playername);
  548.     if(dini_Exists(file))
  549.     {
  550.         if(PlayerInfo[playerid][pBan] == 1)
  551.         {
  552.             if(gettime() > dini_Int(file, "BanEnd"))
  553.             {  
  554.                 PlayerInfo[playerid][pBan] = 0;
  555.                 PlayerInfo[playerid][pBanEnd] = 0;
  556.                 SendClientMessage(playerid, COLOR_WHITE, "[INFO]: Masa bannedmu telah berakhir, silahkan masukan password untuk login ke dalam server.");
  557.                 SafeConnect(playerid);
  558.             }
  559.             else
  560.             {
  561.                 TimestampToDate(dini_Int(file, "BanEnd"), date[0],date[1],date[2],date[3],date[4],date[5],7);
  562.                 format(string, sizeof(string), "[WARNING]: Kamu masih di banned dari server ini. Akunmu akan di unban pada tanggal %02d/%02d/%02d.", date[2], date[1], date[0]);
  563.                 SendClientMessage(playerid, COLOR_LIGHTRED, string);
  564.             }
  565.         }
  566.         else
  567.         {
  568.             SafeConnect(playerid);
  569.         }
  570.     }
  571.     else
  572.     {
  573.         SafeConnect(playerid);
  574.     }
  575.     return 1;
  576. }
  577.  
  578. public SafeConnect(playerid)
  579. {
  580.     new file[64], playername[MAX_PLAYER_NAME];
  581.     GetPlayerName(playerid, playername, sizeof(playername));
  582.     format(file, sizeof(file), USER_PATH, playername);
  583.     if(dini_Exists(file))
  584.     {
  585.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Haikal Roleplay - Login","Masukan password untuk bergabung ke dalam server:","Masuk","Keluar");
  586.     }
  587.     else
  588.     {
  589.         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"Haikal Roleplay - Register","Masukan password untuk mendaftar ke dalam server:","Daftar","Keluar");
  590.     }
  591.     return 1;
  592. }
Advertisement
Add Comment
Please, Sign In to add comment