Advertisement
Guest User

xsL33p Script

a guest
Sep 18th, 2013
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.24 KB | None | 0 0
  1.  
  2.  
  3. #include <a_samp>
  4. #include <dini>
  5. #include <ocmd>
  6.  
  7. #define 0xAF0000FF AMeldung
  8. #define 0x002DFFFF FMeldung
  9.  
  10.  
  11. #define DIALOG_LOGIN 1
  12. #define DIALOG_REGISTER 2
  13.  
  14.  
  15.  
  16. main()
  17. {
  18. print("\n----------------------------------");
  19. print(" Blank Gamemode by your name here");
  20. print("----------------------------------\n");
  21. }
  22.  
  23.  
  24. public OnGameModeInit()
  25. {
  26. SetGameModeText("xsL33p");
  27. return 1;
  28. }
  29.  
  30. public OnGameModeExit()
  31. {
  32. return 1;
  33. }
  34.  
  35. public OnPlayerRequestClass(playerid, classid)
  36. {
  37. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  38. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  39. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  40. return 1;
  41. }
  42.  
  43. public OnPlayerConnect(playerid)
  44. {
  45. new Playerdatei[128];
  46. new name[MAX_PLAYER_NAME];
  47. GetPlayerName(playerid,name,sizeof(name));
  48. format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  49. if(dini_Exists(Playerdatei))
  50. {
  51. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Logge dich bitte ein:","Gebe bitte nun dein Passwort ein","Einloggen","Abbrechen");
  52. }
  53. else
  54. {
  55. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Regestrierung:","Bitte wähle ein Passwort aus","Register","Abbrechen");
  56. }
  57. return 1;
  58. }
  59.  
  60. public OnPlayerDisconnect(playerid, reason)
  61. {
  62. if(GetPVarInt(playerid,"Eingeloggt")==1)
  63. {
  64. SpielerSpeichern(playerid);
  65. }
  66. return 1;
  67. }
  68.  
  69. public OnPlayerSpawn(playerid)
  70. {
  71. return 1;
  72. }
  73.  
  74. public OnPlayerDeath(playerid, killerid, reason)
  75. {
  76. return 1;
  77. }
  78.  
  79. public OnVehicleSpawn(vehicleid)
  80. {
  81. return 1;
  82. }
  83.  
  84. public OnVehicleDeath(vehicleid, killerid)
  85. {
  86. return 1;
  87. }
  88.  
  89. public OnPlayerText(playerid, text[])
  90. {
  91. return 1;
  92. }
  93.  
  94. public OnPlayerCommandText(playerid, cmdtext[])
  95. {
  96. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  97. {
  98. // Do something here
  99. return 1;
  100. }
  101. return 0;
  102. }
  103.  
  104. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  105. {
  106. return 1;
  107. }
  108.  
  109. public OnPlayerExitVehicle(playerid, vehicleid)
  110. {
  111. return 1;
  112. }
  113.  
  114. public OnPlayerStateChange(playerid, newstate, oldstate)
  115. {
  116. return 1;
  117. }
  118.  
  119. public OnPlayerEnterCheckpoint(playerid)
  120. {
  121. return 1;
  122. }
  123.  
  124. public OnPlayerLeaveCheckpoint(playerid)
  125. {
  126. return 1;
  127. }
  128.  
  129. public OnPlayerEnterRaceCheckpoint(playerid)
  130. {
  131. return 1;
  132. }
  133.  
  134. public OnPlayerLeaveRaceCheckpoint(playerid)
  135. {
  136. return 1;
  137. }
  138.  
  139. public OnRconCommand(cmd[])
  140. {
  141. return 1;
  142. }
  143.  
  144. public OnPlayerRequestSpawn(playerid)
  145. {
  146. return 1;
  147. }
  148.  
  149. public OnObjectMoved(objectid)
  150. {
  151. return 1;
  152. }
  153.  
  154. public OnPlayerObjectMoved(playerid, objectid)
  155. {
  156. return 1;
  157. }
  158.  
  159. public OnPlayerPickUpPickup(playerid, pickupid)
  160. {
  161. return 1;
  162. }
  163.  
  164. public OnVehicleMod(playerid, vehicleid, componentid)
  165. {
  166. return 1;
  167. }
  168.  
  169. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  170. {
  171. return 1;
  172. }
  173.  
  174. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  175. {
  176. return 1;
  177. }
  178.  
  179. public OnPlayerSelectedMenuRow(playerid, row)
  180. {
  181. return 1;
  182. }
  183.  
  184. public OnPlayerExitedMenu(playerid)
  185. {
  186. return 1;
  187. }
  188.  
  189. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  190. {
  191. return 1;
  192. }
  193.  
  194. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  195. {
  196. return 1;
  197. }
  198.  
  199. public OnRconLoginAttempt(ip[], password[], success)
  200. {
  201. return 1;
  202. }
  203.  
  204. public OnPlayerUpdate(playerid)
  205. {
  206. return 1;
  207. }
  208.  
  209. public OnPlayerStreamIn(playerid, forplayerid)
  210. {
  211. return 1;
  212. }
  213.  
  214. public OnPlayerStreamOut(playerid, forplayerid)
  215. {
  216. return 1;
  217. }
  218.  
  219. public OnVehicleStreamIn(vehicleid, forplayerid)
  220. {
  221. return 1;
  222. }
  223.  
  224. public OnVehicleStreamOut(vehicleid, forplayerid)
  225. {
  226. return 1;
  227. }
  228.  
  229. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  230. {
  231. if(dialogid==DIALOG_LOGIN)
  232. {
  233. if(response==0)
  234. {
  235. SendClientMessage(playerid,AMeldung,"Du hast den Login Vorgang abgebrochen!");
  236. Kick(playerid);
  237. return 1;
  238. }
  239. if(response==1)
  240. {
  241. if(!strlen(inputtext))
  242. {
  243. SendClientMessage(playerid,AMeldung,"Dein eingegebenes Passwort war nicht lang genug!");
  244. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Loggin","Dein Account wurde gefunden!\nBitte gib dein Passwort ein! ","Login","Abbrechen");
  245. return 1;
  246. }
  247. else
  248. {
  249. Login(playerid,inputtext);
  250. return 1;
  251. }
  252. }
  253. }
  254. return 1;
  255. }
  256. if(dialogid==DIALOG_REGISTER)
  257. {
  258. if(response==0)
  259. {
  260. SendClientMessage(playerid,AMeldung,"Du hast die Registration abgebrochen!");
  261. Kick(playerid);
  262. return 1;
  263. }
  264. if(response==1)
  265. {
  266. if(!strlen(inputtext))
  267. {
  268. SendClientMessage(playerid,AMeldung,"Dein eingegebenes Passwort war nicht lang genug!");
  269. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren auf sL33p Reallife","Willkommen auf sL33p Reallife!\n Bitte gib nun dein gewünschtes Passwort ein :","Regestrieren","Abbrechen");
  270. return 1;
  271. }
  272. else
  273. {
  274. Register(playerid,inputtext);
  275. return 1;
  276. }
  277. }
  278. }
  279. return 1;
  280.  
  281. }
  282.  
  283. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  284. {
  285. return 1;
  286. }
  287.  
  288. stock Register(playerid,key[])
  289. {
  290. new Playerdatei[128];
  291. new name[MAX_PLAYER_NAME];
  292. GetPlayerName(playerid,name,sizeof(name));
  293. format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  294. dini_Create(Playerdatei);
  295. dini_Set(Playerdatei,"Passwort",key);
  296. SendClientMessage(playerid,FMeldung,"Du hast dich erfolgreich eingeloggt.");
  297. SetPlayerScore(playerid,0);
  298. dini_IntSet(Playerdatei,"Adminlevel",0);
  299. SetPVarInt(playerid,"Eingeloggt",1);
  300. return 1;
  301. }
  302.  
  303.  
  304. stock Login(playerid,key[])
  305. {
  306. new Playerdatei[128];
  307. new name[MAX_PLAYER_NAME];
  308. GetPlayerName(playerid,name,sizeof(name));
  309. format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  310. if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
  311. {
  312. AccountLaden(playerid);// Dazu werden wir gleich wieder einen stock erstellen
  313. SendClientMessage(playerid,FMeldung,"Du hast dich erfolgreich eingeloggt.");
  314. }
  315. else
  316. {
  317. SendClientMessage(playerid,AMeldung,"Dein hast ein falsches Passwort eingegeben!");
  318. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","LogIn", "Abbrechen");
  319. }
  320. return 1;
  321. }
  322.  
  323.  
  324. stock AccountLaden(playerid)
  325. {
  326. new Playerdatei[128];
  327. new name[MAX_PLAYER_NAME];
  328. GetPlayerName(playerid,name,sizeof(name));
  329. format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  330. SetPlayerScore(playerid,dini_Int(Playerdatei,"Level"));
  331. GivePlayerMoney(playerid,dini_Int(Playerdatei,"Geld"));
  332. SetPVarInt(playerid,"Adminlevel",dini_Int(Playerdatei,"Adminlevel"));
  333. SetPVarInt(playerid,"Eingeloggt",1);
  334. if(GetPVarInt(playerid,"Baned")==1)
  335. {
  336. SendClientMessage(playerid,AMeldung,"Du bist vom Server gebannt!");
  337. SendClientMessage(
  338. Kick(playerid);
  339. }
  340. return 1;
  341. }
  342.  
  343.  
  344. stock SpielerSpeichern(playerid)
  345. {
  346. if(GetPVarInt(playerid,"Eingeloggt")==1)
  347. {
  348. new Playerdatei[128];
  349. new name[MAX_PLAYER_NAME];
  350. GetPlayerName(playerid,name,sizeof(name));
  351. format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  352. dini_IntSet(Playerdatei,"Level",GetPlayerScore(playerid));
  353. dini_IntSet(Playerdatei,"Geld",GetPlayerMoney(playerid));
  354. dini_IntSet(Playerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  355. dini_IntSet(Playerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  356. }
  357. }
  358.  
  359.  
  360. stock IstSpielerEinAdmin(playerid,rang);
  361. {
  362. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  363. return 0;
  364. }
  365.  
  366.  
  367. stock SpielerName(playerid)
  368. {
  369. new name[MAX_PLAYER_NAME];
  370. GetPlayerName(playerid,name,sizeof(name));
  371. return name;
  372. }
  373.  
  374.  
  375. stock sscanf(string[], format[], {Float,_}:...)
  376. {
  377. #if defined isnull
  378. if (isnull(string))
  379. #else
  380. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  381. #endif
  382. {
  383. return format[0];
  384. }
  385. #pragma tabsize 4
  386. new
  387. formatPos = 0,
  388. stringPos = 0,
  389. paramPos = 2,
  390. paramCount = numargs(),
  391. delim = ' ';
  392. while (string[stringPos] && string[stringPos] <= ' ')
  393. {
  394. stringPos++;
  395. }
  396. while (paramPos < paramCount && string[stringPos])
  397. {
  398. switch (format[formatPos++])
  399. {
  400. case '\0':
  401. {
  402. return 0;
  403. }
  404. case 'i', 'd':
  405. {
  406. new
  407. neg = 1,
  408. num = 0,
  409. ch = string[stringPos];
  410. if (ch == '-')
  411. {
  412. neg = -1;
  413. ch = string[++stringPos];
  414. }
  415. do
  416. {
  417. stringPos++;
  418. if ('0' <= ch <= '9')
  419. {
  420. num = (num * 10) + (ch - '0');
  421. }
  422. else
  423. {
  424. return -1;
  425. }
  426. }
  427. while ((ch = string[stringPos]) > ' ' && ch != delim);
  428. setarg(paramPos, 0, num * neg);
  429. }
  430. case 'h', 'x':
  431. {
  432. new
  433. num = 0,
  434. ch = string[stringPos];
  435. do
  436. {
  437. stringPos++;
  438. switch (ch)
  439. {
  440. case 'x', 'X':
  441. {
  442. num = 0;
  443. continue;
  444. }
  445. case '0' .. '9':
  446. {
  447. num = (num << 4) | (ch - '0');
  448. }
  449. case 'a' .. 'f':
  450. {
  451. num = (num << 4) | (ch - ('a' - 10));
  452. }
  453. case 'A' .. 'F':
  454. {
  455. num = (num << 4) | (ch - ('A' - 10));
  456. }
  457. default:
  458. {
  459. return -1;
  460. }
  461. }
  462. }
  463. while ((ch = string[stringPos]) > ' ' && ch != delim);
  464. setarg(paramPos, 0, num);
  465. }
  466. case 'c':
  467. {
  468. setarg(paramPos, 0, string[stringPos++]);
  469. }
  470. case 'f':
  471. {
  472.  
  473. new changestr[16], changepos = 0, strpos = stringPos;
  474. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  475. {
  476. changestr[changepos++] = string[strpos++];
  477. }
  478. changestr[changepos] = '\0';
  479. setarg(paramPos,0,_:floatstr(changestr));
  480. }
  481. case 'p':
  482. {
  483. delim = format[formatPos++];
  484. continue;
  485. }
  486. case '\'':
  487. {
  488. new
  489. end = formatPos - 1,
  490. ch;
  491. while ((ch = format[++end]) && ch != '\'') {}
  492. if (!ch)
  493. {
  494. return -1;
  495. }
  496. format[end] = '\0';
  497. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  498. {
  499. if (format[end + 1])
  500. {
  501. return -1;
  502. }
  503. return 0;
  504. }
  505. format[end] = '\'';
  506. stringPos = ch + (end - formatPos);
  507. formatPos = end + 1;
  508. }
  509. case 'u':
  510. {
  511. new
  512. end = stringPos - 1,
  513. id = 0,
  514. bool:num = true,
  515. ch;
  516. while ((ch = string[++end]) && ch != delim)
  517. {
  518. if (num)
  519. {
  520. if ('0' <= ch <= '9')
  521. {
  522. id = (id * 10) + (ch - '0');
  523. }
  524. else
  525. {
  526. num = false;
  527. }
  528. }
  529. }
  530. if (num && IsPlayerConnected(id))
  531. {
  532. setarg(paramPos, 0, id);
  533. }
  534. else
  535. {
  536. #if !defined foreach
  537. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  538. #define __SSCANF_FOREACH__
  539. #endif
  540. string[end] = '\0';
  541. num = false;
  542. new
  543. name[MAX_PLAYER_NAME];
  544. id = end - stringPos;
  545. foreach (Player, playerid)
  546. {
  547. GetPlayerName(playerid, name, sizeof (name));
  548. if (!strcmp(name, string[stringPos], true, id))
  549. {
  550. setarg(paramPos, 0, playerid);
  551. num = true;
  552. break;
  553. }
  554. }
  555. if (!num)
  556. {
  557. setarg(paramPos, 0, INVALID_PLAYER_ID);
  558. }
  559. string[end] = ch;
  560. #if defined __SSCANF_FOREACH__
  561. #undef foreach
  562. #undef __SSCANF_FOREACH__
  563. #endif
  564. }
  565. stringPos = end;
  566. }
  567. case 's', 'z':
  568. {
  569. new
  570. i = 0,
  571. ch;
  572. if (format[formatPos])
  573. {
  574. while ((ch = string[stringPos++]) && ch != delim)
  575. {
  576. setarg(paramPos, i++, ch);
  577. }
  578. if (!i)
  579. {
  580. return -1;
  581. }
  582. }
  583. else
  584. {
  585. while ((ch = string[stringPos++]))
  586. {
  587. setarg(paramPos, i++, ch);
  588. }
  589. }
  590. stringPos--;
  591. setarg(paramPos, i, '\0');
  592. }
  593. default:
  594. {
  595. continue;
  596. }
  597. }
  598. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  599. {
  600. stringPos++;
  601. }
  602. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  603. {
  604. stringPos++;
  605. }
  606. paramPos++;
  607. }
  608. do
  609. {
  610. if ((delim = format[formatPos++]) > ' ')
  611. {
  612. if (delim == '\'')
  613. {
  614. while ((delim = format[formatPos++]) && delim != '\'') {}
  615. }
  616. else if (delim != 'z')
  617. {
  618. return delim;
  619. }
  620. }
  621. }
  622. while (delim > ' ');
  623. return 0;
  624. }
  625.  
  626.  
  627. ocmd:kick(playerid,params[])
  628. {
  629. new pID, Grund[128], string[128];
  630. if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,AMeldung,"Du bist kein Admin!");
  631. if(sscanf(params,"us",pID,Grund))return SendClientMessage(playerid,FMeldung,"Benutzung: /kick [ID] [Grund]");
  632. format(string,sizeof(string),"AdminSystem : %s wurde von Admin %s gekickt! Grund : %s",SpielerName(pID),SpielerName(playerid),Grund);
  633. SendClientMessageToAll(AMeldung,string);
  634. GameTextForPlayer(playerid,"~r~ GEKICKT!",50000,3);
  635. TogglePlayerControllable(pID,0);
  636. Kick(playerid);
  637. return1;
  638. }
  639.  
  640.  
  641. ocmd:ban(playerid,params[])
  642. {
  643. new pID, reason[128], string[128];
  644. if(!IstSpielerEinAdmin(playerid,1))return SendClientMessage(playerid,AMeldung,"Du bist kein Admin!");
  645. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,FMeldung,"Benutzung: /ban [ID] [Grund]");
  646. format(string,sizeof(string),"AdminCMD: %s wurde von %s gebannt! Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  647. SendClientMessage(playerid,AMeldung,string);
  648. GameTextForPlayer(playerid,"~r~ GEBANNT!",50000,3);
  649. TogglePlayerControllable(playerid,0);
  650. SetPVarInt(pID,"Baned",1);
  651. Ban(pID);
  652. }
  653.  
  654.  
  655. ocmd:makeadmin(playerid,params[])
  656. {
  657. new pID, rang, string[128];
  658. if(!IstSpielerEinAdmin(playerid,1337))return SendClientMessage(playerid,AMeldung,"Du bist kein Admin!");
  659. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,FMeldung,"Benutzung: /makeadmin [ID] [Rank]");
  660. if(rank < 0 || rank > 5000)return SendClientMessage(playerid,AMeldung,"Der Rang darf nicht 0 oder unter 0 oder über 5000 sein!");
  661. SetPVarInt(pID,"Adminlevel",rank);
  662. format(string,sizeof(string),"Du hast %s zu einem Admin Rank %d gemacht.",SpielerName(pID),rank);
  663. SendClientMessage(playerid,AMeldung,string);
  664. format(string,sizeof(string),"Admin %s hat dich zu einem Admin Rank %d gemacht!",SpielerName(playerid),rank);
  665. SendClientMessage(pID,AMeldung,string);
  666. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement