Advertisement
Guest User

Untitled

a guest
Sep 13th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.88 KB | None | 0 0
  1. //Account System
  2.  
  3.  
  4. //commandtoserver('newaccount',"Elexys","snu222",2,"Commoner",);
  5.  
  6.  
  7.  
  8. $base = "Account_" @ %username;
  9.  
  10. function serverCmdnewAcc(%client,%username,%password,%gender,%class,%name,%skin,%headCode,%visorCode,%backCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype)
  11. {
  12. if($clientLoggedIn[%client] == 1)
  13. {
  14. commandToClient(%client,'AccError',"You are logged in, please log out before making a new account.");
  15. return;
  16. }
  17. else
  18. {
  19. //echo(%username @ " is username");
  20. //echo(%password @ " is password");
  21. }
  22. newaccount(%client,%username,%password,%gender,%class,%name,%skin,%headCode,%visorCode,%backCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype);
  23. }
  24.  
  25.  
  26. function newaccount(%client,%username,%password,%gender,%class)
  27. {
  28. if(strlen(%username) < 5 || strlen(%password) < 6)
  29. {
  30. commandToClient(%client,'AccError',"Sorry, but Usernames are supposed to have at least 5 characters, and Passwords are supposed to have at least 6. Please check your fields.");
  31. echo("Lol, Nope");
  32. }
  33. else
  34. {
  35. %ip = getRawIP(%client);
  36. %fileloc = "ennrp/server/scripts/MEMORY/accounts/" @ %username @ ".cs";
  37. if(isFile(%fileloc) && %username $= "" || %username $= " " || %password $= "")
  38. {
  39. error("There already is a specified profile! Please try again.");
  40. commandToClient(%client,'AccError',"There is already a profile with that name.");
  41. //accounterror(%this,%client,%username,1);
  42. }
  43. else if(!isFile(%fileloc))
  44. {
  45. //New playeraccount.cs
  46. $Account::Username[%username] = %username; //
  47. $Account::Password[%username] = %password; //Client info
  48. $Account::IP[%username] = getRawIP(%client); //
  49. $Account::BaseName[%username] = %client.nameBase; //
  50. $Account::Gender[%username] = %gender; //Acc info
  51. $Account::Class[%username] = %class; //
  52. $Account::Level[%username] = 1; //
  53. $Account::Disname[%username] = %name;
  54. $Account = new SimGroup("Account_" @ %username);
  55. DispNameAdd(%dispname);
  56. %base = "Account_" @ %username;
  57. %base = new ScriptObject("AccountObj_" @ %username);
  58. $clientNewApp[%client] = 1;
  59. {
  60. //%headCode,%visorCode,%backCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype
  61. Score = 0;
  62. Studs = 100;
  63. Gender = $Account::Gender[%username];
  64. Class = Commoner;
  65. Level = 1;
  66. Mana = 100;
  67. RecoveryAnswer = $Account::Recovery[%username];
  68. RecoveryQuestion = $Account::Recovquestion[%username];
  69. eMail = $Account::Email[%username];
  70. ClientName = %client.namebase;
  71. IP = $Account::IP[%username];
  72. Password = $Account::Password[%username];
  73. Username = $Account::Username[%username];
  74. HeadCode = "None";
  75. VisorCode = "None";
  76. BackCode = "None";
  77. HeadCodeColor = "None";
  78. VisorCodeColor = "None";
  79. BackCodeColor = "None";
  80. LeftHandCodeColor = "None";
  81. ChestDecalCode = "None";
  82. FaceDecalCode = "None";
  83. BodyType = "None";
  84. Armor = "None";
  85. };
  86. $Account.add("AccountObj_" @ %username);
  87. $Account.save("ennrp/server/scripts/Memory/accounts/" @ %username @ ".cs",False);
  88. giveAcc(%client,%username);
  89. }
  90. }
  91. }
  92.  
  93.  
  94.  
  95.  
  96.  
  97. function servercmdaccountsave(%client)
  98. {
  99. %clientname = %client.namebase;
  100. %ip = getRawIP(%client);
  101. %username = $clientUsername[%client];
  102. %studs = %client.studmoney;
  103. %score = %client.incscore;
  104. %level = $clientLevel[%client];
  105. %class = $clientClass[%client];
  106. %gender = $clientGender[%client];
  107. }
  108.  
  109.  
  110.  
  111.  
  112.  
  113. //---------- Set variables ----------\\
  114.  
  115. function setUsername(%client,%username)
  116. {
  117. $clientUsername[%client] = %username;
  118. }
  119.  
  120. function setGender(%client,%gender)
  121. {
  122. $clientGender[%client] = %gender;
  123. }
  124.  
  125. function setLevel(%client,%level)
  126. {
  127. $clientLevel[%client] = %level;
  128. }
  129.  
  130. function setClass(%client,%class)
  131. {
  132. $clientClass[%client] = %class;
  133. }
  134.  
  135. function setStuds(%client,%studs)
  136. {
  137. %client.studmoney = %studs;
  138. commandtoclient(%client,'setstudcounter',%client.studmoney);
  139. }
  140.  
  141. function setScore(%client,%score)
  142. {
  143. %client.incScore(%score);
  144. commandtoclient(%client,'setstudcounter',%client.studmoney);
  145. }
  146.  
  147.  
  148.  
  149. //---------- Update variables ----------\\
  150. //Mana
  151. //Level
  152. //Class
  153. //Gender
  154. //Studs
  155. //Score
  156.  
  157. function getUsername(%client)
  158. {
  159. %username = $clientUsername[%client];
  160. return %username;
  161. }
  162.  
  163. package updateAccount
  164. {
  165.  
  166. function updateLevel(%client,%username,%level,%type,%save)
  167. {
  168. %base = "Account_" @ %username;
  169. switch(%type)
  170. {
  171. case 1:
  172. $clientLevel[%client] = %level;
  173. case 2:
  174. $clientLevel[%client] = %level + 1;
  175. }
  176. if(%save != 1)
  177. {
  178. %base.Level = $clientLevel[%client];
  179. }
  180. else
  181. {
  182. return;
  183. }
  184. }
  185.  
  186. function updateAccount(%client,%username,%ip,%level,%class,%gender,%studs,%score)
  187. {
  188.  
  189. %sim = "Account_" @ %username;
  190. %base = "AccountObj_" @ %username;
  191. //Score, Studs, Gender, Class, Level, Mana, ClientName, IP,
  192. %base.Score = %client.incScore;
  193. %base.Studs = %client.studmoney;
  194. %base.Gender = $clientGender[%client];
  195. %base.Class = $clientClass[%client];
  196. %base.Level = $clientLevel[%client];
  197. %base.Mana = $clientMana[%client];
  198. %base.ClientName = %client.namebase;
  199. %base.IP = getRawIP(%client);
  200. %sim.save("ennrp/server/scripts/Memory/accounts/" @ %username @ ".cs",False);
  201. echo("Updated " @ %client.namebase @ "(" @ %username @ ")'s profile with: " NL %base.Score NL %base.Studs NL %base.Gender NL %base.Class NL %base.Level NL %base.Mana NL %client.namebase NL getRawIP(%client));
  202.  
  203. // exec("ennrp/server/scripts/Memory/accounts/" @ %username @ ".cs");
  204. }
  205.  
  206. };
  207. activatePackage(updateAccount);
  208.  
  209.  
  210.  
  211.  
  212. package NotNeededATM
  213. {
  214.  
  215. function accexec()
  216. {
  217. exec("ennrp/server/scripts/AccountSystem.cs");
  218. }
  219.  
  220.  
  221. function serverCmdSetLa(%client,%username)
  222. {
  223. setUsername(%client,"Testeraa");
  224. setGender(%client,1);
  225. setLevel(%client,1);
  226. }
  227. //CommandtoServer('acclogin',"Elexys","snu222");
  228. //Login CommandtoServer('accountlogin',"Username","Password");
  229.  
  230.  
  231. function serverCmdUpdateAccount(%client,%this)
  232. {
  233. //Local
  234. %ip = getRawIP(%client);
  235. %username = $clientUsername[%client];
  236. %studs = %client.studmoney;
  237. %score = %client.getScore(%this);
  238. %gender = $clientGender[%client];
  239. %name = %client.nameBase;
  240. %level = $clientLevel[%client];
  241. %class = $clientClass[%client];
  242. %password = $clientPassword[%client];
  243. %email = $clientEmail[%client];
  244. //%lastlogin = %client.LastLogin(%this,%client);
  245.  
  246.  
  247. echo("");
  248. echo("--- Client info for " @ %username SPC %client);
  249. echo("Client ID: " @ %client);
  250. echo("Username: " @ %username);
  251. echo("Password: " @ %password);
  252. echo("Name: " @ %name);
  253. echo("IP: " @ %ip);
  254. echo("--- Account info for " @ %username SPC %client);
  255. echo("Level: " @ %level);
  256. echo("Class: " @ %class);
  257. echo("Score: " @ %score);
  258. echo("Studs: " @ %studs);
  259. echo("Gender: " @ %gender);
  260. echo("");
  261. }
  262.  
  263. };
  264.  
  265. activatePackage(NotNeededATM);
  266.  
  267.  
  268.  
  269. function serverCmdEnnSuicide(%client)
  270. {
  271. EnnSuicide(%client);
  272. }
  273.  
  274. function EnnSuicide(%client)
  275. {
  276. %gender = $clientGender[%client];
  277. switch(%gender)
  278. {
  279. case 1:
  280. messageAll('MsgClientKilled','\c8%1 \c0killed himself',%client.namebase);
  281. case 2:
  282. messageAll('MsgClientKilled','\c8%1 \c0killed herself',%client.namebase);
  283. }
  284. }
  285.  
  286.  
  287. //---------- Login Methods ----------\\
  288.  
  289. function serverCmdAccountLogin(%client,%username,%password)
  290. {
  291. %base = "AccountObj_" @ %username;
  292. if(checkuser(%username) == 1)
  293. {
  294. if(checkpass(%password) == 1)
  295. {
  296. giveAcc(%client,%username);
  297. }
  298. else
  299. {
  300. CommandtoClient(%client,'AccError',"The Password is wrong.");
  301. return;
  302. }
  303. }
  304. else
  305. {
  306. CommandtoClient(%client,'AccError',"The Username is wrong.");
  307. return;
  308. }
  309. }
  310.  
  311.  
  312. function checkUser(%username)
  313. {
  314. if(!isFile("ennrp/server/scripts/Memory/accounts/" @ %username @ ".cs"))
  315. {
  316. echo("This is not a file!");
  317. return 0;
  318. }
  319. else if(isFile("ennrp/server/scripts/Memory/accounts/" @ %username @ ".cs"))
  320. {
  321. echo("This is a file!");
  322. return 1;
  323. }
  324. }
  325.  
  326. function checkPass(%pass)
  327. {
  328. %base = "AccountObj_" @ %username;
  329. if(%password !$= %base.Password)
  330. {
  331. echo("This is NOT the correct password!");
  332. return 0;
  333. }
  334. else if(%password $= %base.Password)
  335. {
  336. echo("This is the correct password!");
  337. return 1;
  338. }
  339.  
  340. }
  341.  
  342. function giveAcc(%client,%username)
  343. {
  344. exec("ennrp/server/scripts/Memory/accounts/" @ %username @ ".cs");
  345. %base = "AccountObj_" @ %username;
  346.  
  347. %username = %base.Username;
  348. %level = %base.Level;
  349. %class = %base.Class;
  350. %score = %base.Score;
  351. %gender = %base.Gender;
  352. %studs = %base.Studs;
  353. %mana = %base.Mana;
  354.  
  355.  
  356. echo(%username NL %level NL %class NL %score NL %gender NL %studs);
  357.  
  358.  
  359. $clientUsername[%client] = %username;
  360. $clientGender[%client] = %gender;
  361. $clientLevel[%client] = %level;
  362. %client.incScore(%score);
  363. %client.studmoney = %studs;
  364. commandtoclient(%client,'setstudcounter',%client.studmoney);
  365. $clientLevel[%client] = %class;
  366. $clientLoggedIn[%client] = 1;
  367. $clientNewApp[%client] = 0;
  368.  
  369. setUsername(%client,%username);
  370. setLevel(%client,%level);
  371. setClass(%client,%class);
  372. setScore(%client,%score);
  373. setStuds(%client,%studs);
  374. setGender(%client,%gender);
  375. //setMana(%mana,%client);
  376. }
  377.  
  378. function EnnAccountUpdate()
  379. {
  380. //messageAll('',"\c0Accounts are being updated, there may be some lag. \c9 NOTICE: \c0Accounts update every 5 minutes (300k miliseconds).");
  381. schedule(1000,0,"saveAccounts");
  382. }
  383.  
  384. function saveAccounts()
  385. {
  386.  
  387. //messageAll('','\c0Accounts have been saved.');
  388. return;
  389. }
  390.  
  391. // function GameConnection::onClientLeaveGame(%this,%client)
  392. // {
  393.  
  394. // Parent::onClientLeaveGame(%this);
  395. // }
  396.  
  397.  
  398. function giveClothes(%client,%username,1,%armor,%name,%color,%headCode,%visorCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype)
  399. {
  400. %player = %client.player;
  401. //Unmount
  402. %player.unMountImage($righthandslot);
  403. %player.unMountImage($lefthandslot);
  404. %player.unMountImage($backslot);
  405. %player.unMountImage($headslot);
  406. %player.unMountImage($visorslot);
  407. %player.unMountImage($chestslot);
  408. %player.unMountImage($faceslot);
  409.  
  410. //Set
  411. //%player.MountImage($faceSlot,
  412. %player.setShapeName(%name);
  413. %player.setSkinName(%color);
  414. // $RightHandSlot = 0;
  415. // $LeftHandSlot = 1;
  416. // $BackSlot = 2;
  417. // $RightFootSlot = 3;
  418. // $LeftFootSlot = 4;
  419. // $HeadSlot = 5;
  420. // $VisorSlot = 6;
  421. // $chestSlot = 3;
  422. // $faceSlot = 4;
  423.  
  424. //0 = Right | 1 is left | 2 is head | 3 is right foot | 4 is left foot | 5 is head | 6 is head
  425. //Images = 2 BackPack | 3 ChestDecal | 4 FaceDecal | 5 HelmetDecal | 6 VisorDecal
  426. }
  427.  
  428.  
  429.  
  430.  
  431. function DispNameAdd(%dispname)
  432. {
  433. %file = new FileObject();
  434. %file.OpenForAppend("ennrp/server/scripts/Memory/DispNames.txt");
  435. %file.WriteLine(%dispname);
  436. %file.close();
  437. %file.delete();
  438. }
  439.  
  440. function DispNameCheck(%dispname)
  441. {
  442. %file = new FileObject();
  443. %file.OpenForRead("ennrp/server/scripts/Memory/DispNames");
  444. while(!%file.isEOF)
  445. {
  446. if(%file.ReadLine $= %dispname)
  447. {
  448. return 0;
  449. break;
  450. }
  451. else
  452. {
  453. return 1;
  454. }
  455. }
  456. %file.close();
  457. %file.delete();
  458. }
  459. //function GameConnection::onClientEnter()
  460.  
  461.  
  462. function serverCmdLogout(%client)
  463. {
  464. %clientname = %client.namebase;
  465. %ip = getRawIP(%client);
  466. %username = $clientUsername[%client];
  467. %studs = %client.studmoney;
  468. %score = %client.incscore;
  469. %level = $clientLevel[%client];
  470. %class = $clientClass[%client];
  471. %gender = $clientGender[%client];
  472.  
  473. updateAccount(%client,%username,%ip,%level,%class,%gender,%studs,%score);
  474. Logout(%dispname);
  475. }
  476.  
  477. function Logout(%username,%dispname)
  478. {
  479. DeleteTempInfo(%client,%username);
  480. messageAll('','\4%1\c0 has logged out.',%dispname);
  481. }
  482.  
  483. function DeleteTempInfo(%client,%username)
  484. {
  485. //$clientUsername[%client], $clientGender[%client], $clientLevel[%client], $clientClass[%client]
  486. DeleteVariables($clientUsername[%client]);
  487. DeleteVariables($clientGender[%client]);
  488. DeleteVariables($clientLevel[%client]);
  489. DeleteVariables($clientClass[%client]);
  490. DeleteVariables($clientLoggedIn[%client]);
  491. DeleteVariables($clientNewApp[%client]);
  492. }
  493.  
  494. function serverCmdAppSet(%client)
  495. {
  496. if($clientNewApp[%client] != 0)
  497. {
  498. return;
  499. }
  500. else
  501. {
  502. CommandtoClient('OpenGui',"NewApp");
  503. }
  504. }
  505.  
  506. function serverCmdNewApp(%client,%name,%skin,%headCode,%visorCode,%backCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype)
  507. {
  508. if($clientNewApp[%client] == 1)
  509. {
  510. commandToClient(%client,'AccError',"You are logged in, please log out before making a new account. Also, no cheating please.");
  511. }
  512. else
  513. {
  514. if(getstrlen(trim(%name)) < 5)
  515. {
  516. commandToClient(%client,'AccError',"The Display name is under 5 characters!");
  517. }
  518. else
  519. {
  520. NewApp(%client,%name,%skin,%headCode,%visorCode,%backCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype);
  521. giveClothes(%client,%username,0,%armor,%name,%color,%headCode,%visorCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype);
  522. $clientNewApp[%client] = 0;
  523. }
  524. }
  525. }
  526.  
  527.  
  528. //function ServerCmdUpdatePrefs(%client, %name, %skin, %headCode, %visorCode, %backCode, %leftHandCode, %headCodeColor, %visorCodeColor, %backCodeColor, %leftHandCodeColor, %chestdecalcode, %facedecalcode, %bodytype)
  529. //{
  530. // return;
  531. //}
  532.  
  533. function giveClothes(%client,%username,%type,%armor,%name,%color,%headCode,%visorCode,%headCodeColor,%visorCodeColor,%backCodeColor,%leftHandCodeColor,%chestdecalcode,%facedecalcode,%bodytype)
  534. {
  535. %player = %client.player;
  536. switch(%type)
  537. {
  538. case 0:
  539. %player.unMountImage($righthandslot);
  540. %player.unMountImage($lefthandslot);
  541. %player.unMountImage($backslot);
  542. %player.unMountImage($headslot);
  543. %player.unMountImage($visorslot);
  544. %player.unMountImage($chestslot);
  545. %player.unMountImage($faceslot);
  546.  
  547. %player.setShapeName(%name);
  548. %player.setSkinName(%color);
  549.  
  550. // %player.MountImage($backslot);
  551. // %player.MountImage($chestslot);
  552. // %player.MountImage($headslot);
  553. // %player.MountImage($visorslot);
  554. // %player.MountImage($faceslot);
  555.  
  556.  
  557. case 1:
  558. %player.unMountImage($righthandslot);
  559. %player.unMountImage($lefthandslot);
  560. %player.unMountImage($backslot);
  561. %player.unMountImage($headslot);
  562. %player.unMountImage($visorslot);
  563. %player.unMountImage($chestslot);
  564. %player.unMountImage($faceslot);
  565.  
  566. if(%armor !$= "None")
  567. {
  568. %player.MountImage($chestslot);
  569. }
  570. else
  571. {
  572. %player.MountImage($chestslot);
  573. }
  574.  
  575. }
  576. //%player = %client.player;
  577. //Unmount
  578. //%player.unMountImage($righthandslot);
  579. //%player.unMountImage($lefthandslot);
  580. //%player.unMountImage($backslot);
  581. //%player.unMountImage($headslot);
  582. //%player.unMountImage($visorslot);
  583. //%player.unMountImage($chestslot);
  584. //%player.unMountImage($faceslot);
  585.  
  586. //Set
  587. //%player.MountImage($faceSlot,
  588. //%player.setShapeName(%name);
  589. //%player.setSkinName(%color);
  590. // $RightHandSlot = 0;
  591. // $LeftHandSlot = 1;
  592. // $BackSlot = 2;
  593. // $RightFootSlot = 3;
  594. // $LeftFootSlot = 4;
  595. // $HeadSlot = 5;
  596. // $VisorSlot = 6;
  597. // $chestSlot = 3;
  598. // $faceSlot = 4;
  599.  
  600. //0 = Right | 1 is left | 2 is head | 3 is right foot | 4 is left foot | 5 is head | 6 is head
  601. //Images = 2 BackPack | 3 ChestDecal | 4 FaceDecal | 5 HelmetDecal | 6 VisorDecal
  602. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement