Advertisement
Guest User

Untitled

a guest
Jun 6th, 2015
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 10.70 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3. #include <zcmd>
  4. #include <sscanf2>
  5. #include <iploc>
  6. #include <YSI\y_ini>
  7.  
  8. native WP_Hash(buffer[],len,const str[]);
  9.  
  10. //------------------------PM STUFF------------------
  11. new bool:togglepmon[MAX_PLAYERS];
  12.  
  13.  
  14. //------------------- Login & Register System ----------------------
  15. #define DIALOG_REGISTER 1
  16. #define DIALOG_LOGIN 2
  17. #define DIALOG_SUCCESS_1 3
  18. #define DIALOG_SUCCESS_2 4
  19. #define PATH "/Users/%s.ini" //Users Path
  20.  
  21. //------------------- Login & Register System ----------------------
  22. enum pInfo
  23. {
  24.     pPass,
  25.     pCash,
  26.     pAdmin,
  27.     pKills,
  28.     pDeaths,
  29.     pVip
  30. }
  31. new PlayerInfo[MAX_PLAYERS][pInfo];
  32.  
  33. forward LoadUser_data(playerid,name[],value[]);
  34. public LoadUser_data(playerid,name[],value[])
  35. {
  36.     INI_Int("Password",PlayerInfo[playerid][pPass]);
  37.     INI_Int("Cash",PlayerInfo[playerid][pCash]);
  38.     INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  39.     INI_Int("Kills",PlayerInfo[playerid][pKills]);
  40.     INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
  41.     INI_Int("Vip",PlayerInfo[playerid][pVip]);
  42.     return 1;
  43. }
  44.  
  45. stock UserPath(playerid)
  46. {
  47.     new string[128],playername[MAX_PLAYER_NAME];
  48.     GetPlayerName(playerid,playername,sizeof(playername));
  49.     format(string,sizeof(string),PATH,playername);
  50.     return string;
  51. }
  52.  
  53. main()
  54. {
  55.     print("\n----------------------------------");
  56.     print("->>>>>>>>>>>>>>>>>>>>> Multimod Ver 1.2 Fully Loaded <<<<<<<<<<<<<<<<<<<<<");
  57.     print("----------------------------------\n");
  58. }
  59.  
  60.  
  61. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  62. {
  63.      switch( dialogid )
  64.     {
  65.         case DIALOG_REGISTER:
  66.         {
  67.             if (!response) return Kick(playerid);
  68.             if(response)
  69.             {
  70.                 if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registering...","You have entered an invalid password.\nType your password below to register a new account.","Register","Quit");
  71.                 new hashpass[129];
  72.                 WP_Hash(hashpass,sizeof(hashpass),inputtext);
  73.                 new INI:File = INI_Open(UserPath(playerid));
  74.                 INI_SetTag(File,"data");
  75.                 INI_WriteString(File,"Password",hashpass);
  76.                 INI_WriteInt(File,"Cash",0);
  77.                 INI_WriteInt(File,"Admin",0);
  78.                 INI_WriteInt(File,"Kills",0);
  79.                 INI_WriteInt(File,"Deaths",0);
  80.                 INI_WriteInt(File,"Vip",0);
  81.                 INI_Close(File);
  82.  
  83.                 SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  84.                 SpawnPlayer(playerid);
  85.             }
  86.         }
  87.  
  88.         case DIALOG_LOGIN:
  89.         {
  90.             if ( !response ) return Kick ( playerid );
  91.             if( response )
  92.             {
  93.                new hashpass[129];
  94.                WP_Hash(hashpass,sizeof(hashpass),inputtext);
  95.                if(!strcmp(hashpass, PlayerInfo[playerid][pPass], false))
  96.                 {
  97.                     INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  98.                     GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
  99.                     ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,"Success!","You have successfully logged in!","Ok","");
  100.                 }
  101.                 else
  102.                 {
  103.                     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login","You have entered an incorrect password.\nType your password below to login.","Login","Quit");
  104.                 }
  105.                 return 1;
  106.             }
  107.         }
  108.     }
  109.     return 1;
  110. }
  111.  
  112. public OnPlayerDisconnect(playerid, reason)
  113. {
  114.     new INI:File = INI_Open(UserPath(playerid));
  115.     INI_SetTag(File,"data");
  116.     INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
  117.     INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  118.     INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
  119.     INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
  120.     INI_WriteInt(File,"Vip",PlayerInfo[playerid][pVip]);
  121.     INI_Close(File);
  122.     return 1;
  123. }
  124.  
  125.  
  126.  
  127.  
  128. public OnGameModeInit()
  129. {
  130.     // Don't use these lines if it's a filterscript
  131.     SetGameModeText("Multimod Ver1.0");
  132.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  133.     return 1;
  134. }
  135.  
  136. public OnGameModeExit()
  137. {
  138.     return 1;
  139. }
  140.  
  141. public OnPlayerRequestClass(playerid, classid)
  142. {
  143.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  144.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  145.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  146.     return 1;
  147. }
  148.  
  149. public OnRetrieveIpLocation(playerid, country[])
  150. {
  151.     new szStr[256];
  152.     GetPlayerName(playerid, szStr, MAX_PLAYER_NAME);
  153.     format( szStr, sizeof( szStr ), "[SERVER] {FF6600}%s{FFFFFF}(%i) Has Join The Server From {FFAC75}%s", szStr, playerid, country);
  154.     SendClientMessageToAll( -1, szStr );
  155.     return 1;
  156. }
  157.  
  158. public OnPlayerConnect(playerid)
  159. {
  160.     if(fexist(UserPath(playerid)))
  161.     {
  162.         INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  163.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login","Type your password below to login.","Login","Quit");
  164.     }
  165.     else
  166.     {
  167.         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registering...","Type your password below to register a new account.","Register","Quit");
  168.     }
  169.     new string[256], pname[MAX_PLAYER_NAME];
  170.     GetPlayerName(playerid, pname, sizeof(pname));
  171.     format( string, sizeof(string), "Welcome To {66CCFF}Cyber {FFFF99}Malaysian {99FF66}Army,  {FF6600}%s{FFFFFF}", pname);
  172.     SendClientMessage(playerid, 0xFFFFFFFF, string);
  173.     return 1;
  174. }
  175.  
  176. public OnPlayerDeath(playerid, killerid, reason)
  177. {
  178.     PlayerInfo[killerid][pKills]++;
  179.     PlayerInfo[playerid][pDeaths]++;
  180.     return 1;
  181. }
  182.  
  183. public OnPlayerSpawn(playerid)
  184. {
  185.     return 1;
  186. }
  187.  
  188. public OnVehicleSpawn(vehicleid)
  189. {
  190.     return 1;
  191. }
  192.  
  193. public OnVehicleDeath(vehicleid, killerid)
  194. {
  195.     return 1;
  196. }
  197.  
  198. public OnPlayerText(playerid, text[])
  199. {
  200.     return 1;
  201. }
  202.  
  203. public OnPlayerCommandText(playerid, cmdtext[])
  204. {
  205.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  206.     {
  207.         // Do something here
  208.         return 1;
  209.     }
  210.     return 0;
  211. }
  212.  
  213. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  214. {
  215.     return 1;
  216. }
  217.  
  218. public OnPlayerExitVehicle(playerid, vehicleid)
  219. {
  220.     return 1;
  221. }
  222.  
  223. public OnPlayerStateChange(playerid, newstate, oldstate)
  224. {
  225.     return 1;
  226. }
  227.  
  228. public OnPlayerEnterCheckpoint(playerid)
  229. {
  230.     return 1;
  231. }
  232.  
  233. public OnPlayerLeaveCheckpoint(playerid)
  234. {
  235.     return 1;
  236. }
  237.  
  238. public OnPlayerEnterRaceCheckpoint(playerid)
  239. {
  240.     return 1;
  241. }
  242.  
  243. public OnPlayerLeaveRaceCheckpoint(playerid)
  244. {
  245.     return 1;
  246. }
  247.  
  248. public OnRconCommand(cmd[])
  249. {
  250.     return 1;
  251. }
  252.  
  253. public OnPlayerRequestSpawn(playerid)
  254. {
  255.     return 1;
  256. }
  257.  
  258. public OnObjectMoved(objectid)
  259. {
  260.     return 1;
  261. }
  262.  
  263. public OnPlayerObjectMoved(playerid, objectid)
  264. {
  265.     return 1;
  266. }
  267.  
  268. public OnPlayerPickUpPickup(playerid, pickupid)
  269. {
  270.     return 1;
  271. }
  272.  
  273. public OnVehicleMod(playerid, vehicleid, componentid)
  274. {
  275.     return 1;
  276. }
  277.  
  278. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  279. {
  280.     return 1;
  281. }
  282.  
  283. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  284. {
  285.     return 1;
  286. }
  287.  
  288. public OnPlayerSelectedMenuRow(playerid, row)
  289. {
  290.     return 1;
  291. }
  292.  
  293. public OnPlayerExitedMenu(playerid)
  294. {
  295.     return 1;
  296. }
  297.  
  298. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  299. {
  300.     return 1;
  301. }
  302.  
  303. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  304. {
  305.     return 1;
  306. }
  307.  
  308. public OnRconLoginAttempt(ip[], password[], success)
  309. {
  310.     return 1;
  311. }
  312.  
  313. public OnPlayerUpdate(playerid)
  314. {
  315.     return 1;
  316. }
  317.  
  318. public OnPlayerStreamIn(playerid, forplayerid)
  319. {
  320.     return 1;
  321. }
  322.  
  323. public OnPlayerStreamOut(playerid, forplayerid)
  324. {
  325.     return 1;
  326. }
  327.  
  328. public OnVehicleStreamIn(vehicleid, forplayerid)
  329. {
  330.     return 1;
  331. }
  332.  
  333. public OnVehicleStreamOut(vehicleid, forplayerid)
  334. {
  335.     return 1;
  336. }
  337.  
  338.  
  339.  
  340. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  341. {
  342.     return 1;
  343. }
  344.  
  345. CMD:pm(playerid, params[])
  346. {
  347.         new str[256], msg[256], id, pname[MAX_PLAYER_NAME], preceive[MAX_PLAYER_NAME];
  348.         GetPlayerName(playerid,pname,sizeof(pname));
  349.         if(sscanf(params,"rs", id, msg))
  350.         {
  351.             SendClientMessage(playerid, 0xFF0000, "{FF0000}[USAGE]: /pm <id> <text>");
  352.             return 1;
  353.         }
  354.         if(playerid == id) return SendClientMessage(playerid, 0xFF0000, "{FF0000}[ERROR]: You Can't PM Yourself");
  355.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000, "{FF0000}[ERROR]: The Player You Want To PM Is Not Connected");
  356.         if(togglepmon[id])
  357.         {
  358.             SendClientMessage(playerid, 0xCCA37A, "[SYSTEM]The Player Is Currently Not Available Right Now.");
  359.         }
  360.         else
  361.         {
  362.             GetPlayerName(id, preceive, sizeof(preceive));
  363.             format(str, sizeof(str), "{CCA37A}You Have Sent The Message To %s(%i) :%s", preceive, id, msg);
  364.             SendClientMessage(playerid, 0xFF0000FF, str);
  365.             format(str, sizeof(str), "{FFFF00}---------------------------------------------- \n{FFFFFF}PM From %s(%d) :%s {FFFF00}\n----------------------------------------------", pname, playerid, msg);
  366.             SendClientMessage(id, 0xFF6600, str);
  367.         }
  368.         return 1;
  369. }
  370.  
  371. CMD:togglepm(playerid, params[])
  372. {
  373.     if(!togglepmon[playerid])
  374.     {
  375.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 10.0);
  376.         SendClientMessage(playerid, 0xFFFFFF, "[SYSTEM]{CCA37A}TogglePM is {00FF00}ON{CCA37A}.You Will Not Receive Any PM From Other Player.");
  377.         togglepmon[playerid]=true;
  378.     }
  379.     else
  380.     {
  381.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 10.0);
  382.         SendClientMessage(playerid, 0xFFFFFF, "[SYSTEM]{CCA37A}TogglePM is {FF0000}OFF{CCA37A}.You Will Receive Any PM From Other Player.");
  383.         togglepmon[playerid]=false;
  384.     }
  385.     return 1;
  386. }
  387.  
  388.        
  389. CMD:me(playerid, params[])
  390. {
  391.         new string[256],msg[256],pname[MAX_PLAYER_NAME];
  392.         if(sscanf(params,"s", msg)) return SendClientMessage(playerid, 0xFF0000, "{FF0000}[USAGE]: /me <text>");
  393.         GetPlayerName(playerid, pname, sizeof(pname));
  394.         format(string,sizeof(string),"%s %s", pname, msg);
  395.         SendClientMessageToAll(0x99CCFF, string);
  396.         return 1;
  397. }
  398.  
  399. CMD:flip(playerid, params[])
  400. {
  401.  if(IsPlayerInAnyVehicle(playerid))
  402.   {
  403.     new currentveh;
  404.     new Float:angle;
  405.     currentveh = GetPlayerVehicleID(playerid);
  406.     GetVehicleZAngle(currentveh, angle);
  407.     SetVehicleZAngle(currentveh, angle);
  408.     SendClientMessage(playerid, 0xFFFFFFFF, "[SYSTEM]{CCA37A}Your Vehicle Has Been Flipped.");
  409.     return 1;
  410.   }
  411.   else
  412.   {
  413.     SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}[ERROR]You Are Not In Any Vehicle.");
  414.     return 1;
  415.   }
  416. }
  417.    
  418.  
  419.  
  420. //-----------------------------------Draco's Blue Stuff------------------------
  421. /**
  422.  * Sets a string's value to source.
  423.  * @param  dest
  424.  *      source
  425.  *      count
  426.  */
  427. stock set(dest[],source[]) {
  428.     new count = strlen(source);
  429.     new i=0;
  430.     for (i=0;i<count;i++) {
  431.         dest[i]=source[i];
  432.     }
  433.     dest[count]=0;
  434. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement