Advertisement
Guest User

Michiexes Script

a guest
Apr 15th, 2013
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.63 KB | None | 0 0
  1. #include <a_samp>
  2. #include <ocmd>
  3. #include <dini>
  4.  
  5. //FARBEN
  6. #define ROT 0xFB1A1AFF 1
  7. #define GRÜN 0x15DD1FFF 2
  8.  
  9. //REGISTER/LOGIN
  10. #define DIALOG_REGISTER 3
  11. #define DIALOG_LOGIN 4
  12.  
  13. main()
  14. {
  15. print("\n----------------------------------");
  16. print(" German Radioactive Reallife v0.1 ");
  17. print("----------------------------------\n");
  18. print("GRR Willkommen!");
  19. }
  20.  
  21. public OnGameModeInit()
  22. {
  23. SetGameModeText("G R Reallife");
  24. AddPlayerClass(14,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  25. AddPlayerClass(15,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  26. AddPlayerClass(20,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  27. AddPlayerClass(21,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  28. AddPlayerClass(22,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  29. AddPlayerClass(23,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  30. AddPlayerClass(24,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  31. AddPlayerClass(25,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  32. AddPlayerClass(28,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  33. AddPlayerClass(29,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  34. AddPlayerClass(40,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  35. AddPlayerClass(56,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  36. AddPlayerClass(63,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  37. AddPlayerClass(181,1759.2991,-1896.3878,13.5614,271.0562,0,0,0,0,0,0);
  38. return 1;
  39. }
  40.  
  41. public OnGameModeExit()
  42. {
  43. return 1;
  44. }
  45.  
  46. public OnPlayerRequestClass(playerid, classid)
  47. {
  48. SetPlayerPos(playerid,268.2801,-1618.0891,114.4163);
  49. SetPlayerFacingAngle(playerid,319.5098);
  50. SetPlayerCameraPos(playerid,269.8268,-1616.7572,114.4163);
  51. SetPlayerCameraLookAt(playerid,268.2801,-1618.0891,114.4163);
  52. return 1;
  53. }
  54.  
  55. public OnPlayerConnect(playerid)
  56. {
  57. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein","Register","Abbrechen");
  58. return 1;
  59. }
  60.  
  61. public OnPlayerDisconnect(playerid, reason)
  62. {
  63. return 1;
  64. }
  65.  
  66. public OnPlayerSpawn(playerid)
  67. {
  68. return 1;
  69. }
  70.  
  71. public OnPlayerDeath(playerid, killerid, reason)
  72. {
  73. return 1;
  74. }
  75.  
  76. public OnVehicleSpawn(vehicleid)
  77. {
  78. return 1;
  79. }
  80.  
  81. public OnVehicleDeath(vehicleid, killerid)
  82. {
  83. return 1;
  84. }
  85.  
  86. public OnPlayerText(playerid, text[])
  87. {
  88. return 1;
  89. }
  90.  
  91. ocmd:help(playerid,params[])
  92. {
  93. SendClientMessage(playerid, 0x0005FFFF, "------------------------------------------------");
  94. SendClientMessage(playerid, 0x00CDFFFF, "Admins: /ahelp");
  95. SendClientMessage(playerid, 0x00CDFFFF, "Keine weiteren Befehle in der Version vorhanden.");
  96. SendClientMessage(playerid, 0x0005FFFF, "--------------------------------------------");
  97. return 1;
  98. }
  99.  
  100. ocmd:ahelp(playerid,params[])
  101. {
  102. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  103. {
  104. SendClientMessage(playerid, 0x0005FFFF, "------------------------------------------------");
  105. SendClientMessage(playerid, 0x00CDFFFF, "/help , /ahelp , /veh , /giveweapon , /aduty");
  106. SendClientMessage(playerid, 0x00CDFFFF, "/adutyoff , /restart , /skin , /heal , /rep");
  107. SendClientMessage(playerid, 0x0005FFFF, "------------------------------------------------");
  108. }
  109. return
  110. }
  111.  
  112. ocmd:giveweapon(playerid,params[])
  113. {
  114. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  115. new pID,wID,ammo;
  116. if(sscanf(params,"uii",pID,wID,ammo))return SendClientMessage(playerid, ROT, "Benutze: /giveweapon [id] [waffe] [ammo]");
  117. if(wID<1||wID>46)return SendClientMessage(playerid,ROT,"Du kannst nur eine Waffen von 1-46 wählen");
  118. GivePlayerWeapon(pID,wID,ammo);
  119. return 1;
  120. }
  121. ocmd:aduty(playerid, params[])
  122. {
  123. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  124. {
  125. new string[128];
  126. new pName[MAX_PLAYER_NAME];
  127. GetPlayerName(playerid, pName, sizeof(pName));
  128. format(string,sizeof(string),"{E1FF00}%s {FF1400}ist nun als Admin Level |3| im Dienst.",pName);
  129. SendClientMessageToAll(ROT,string);
  130. }
  131.  
  132. return 1;
  133. }
  134.  
  135. ocmd:adutyoff(playerid, params[])
  136. {
  137. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  138. {
  139. new string[128];
  140. new pName[MAX_PLAYER_NAME];
  141. GetPlayerName(playerid, pName, sizeof(pName));
  142. format(string,sizeof(string),"{F5FF00}%s {FF1400}hat sich als Admin Level |3| abgemeldet.",pName);
  143. SendClientMessageToAll(ROT,string);
  144. }
  145.  
  146. return 1;
  147. }
  148.  
  149. ocmd:restart(playerid, params[])
  150. {
  151. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  152. {
  153. SendClientMessageToAll(GRÜN, "--------------------------------");
  154. SendClientMessageToAll(ROT, " Der Server wird restartet!!!");
  155. SendClientMessageToAll(GRÜN, "--------------------------------");
  156. SendRconCommand("gmx");
  157. }
  158.  
  159. return 1;
  160. }
  161.  
  162. ocmd:aundercover(playerid, params[])
  163. {
  164. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  165. {
  166. GivePlayerWeapon(playerid, 4, 1);
  167. GivePlayerWeapon(playerid, 23, 2000);
  168. GivePlayerWeapon(playerid, 32, 2000);
  169. GivePlayerWeapon(playerid, 34, 2000);
  170. GivePlayerMoney(playerid, 9999999);
  171. SetPlayerHealth(playerid, 100);
  172. SetPlayerArmour(playerid, 100);
  173. SetPlayerSkin(playerid, 166);
  174. }
  175.  
  176. return 1;
  177. }
  178.  
  179. ocmd:skin(playerid, params[])
  180. {
  181. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  182. {
  183. new SkinID;
  184. if(sscanf(params, "d", SkinID)){
  185. return SendClientMessage(playerid, ROT, "Falsche Eingabe: /skin [SkinID]");
  186. }
  187. else if(SkinID < 0 || SkinID > 299){
  188. return SendClientMessage(playerid, ROT, "Ungültige Skin ID (Nur zwischen einschließlich 0 und 299 gültig)");
  189. }
  190. else{
  191. if(IsPlayerAdmin(playerid)) {
  192. SetPlayerSkin(playerid, SkinID);
  193. }
  194. }
  195. }
  196. return 1;
  197. }
  198.  
  199. ocmd:heal(playerid,params[])
  200. {
  201. if (!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  202. {
  203. SetPlayerHealth(playerid, 100);
  204. SendClientMessage(playerid, GRÜN, "Du hast dich geheilt.");
  205. }
  206.  
  207. return 1;
  208. }
  209.  
  210. ocmd:veh(playerid, params[])
  211. {
  212. if (!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  213. {
  214. new Auto, Autonummer, Float:X, Float:Y, Float:Z, Float:F, Farbe1, Farbe2;
  215. if(sscanf(params, "ddd", Autonummer, Farbe1, Farbe2))return SendClientMessage(playerid, ROT, "Befehl: /veh <CARID> <Farbe1> <Farbe2>");
  216. if(Autonummer > 611 || Autonummer < 400)return SendClientMessage(playerid, ROT, "Diese ID existiert nicht!");
  217. if(Farbe1 > 126 || Farbe1 < 0 || Farbe2 > 126 || Farbe2 < 0)return SendClientMessage(playerid, ROT, "Diese Wagenfarbe existiert nicht!");
  218. GetPlayerPos(playerid, X, Y, Z);
  219. GetPlayerFacingAngle(playerid, F);
  220. Auto = AddStaticVehicleEx(Autonummer, X, Y, Z, F, Farbe1, Farbe2, -1);
  221. PutPlayerInVehicle(playerid, Auto, 0);
  222. return 1;
  223. }
  224. }
  225.  
  226. ocmd:rep(playerid,params[])
  227. {
  228. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,ROT,"*Du hast nicht den benötigten Adminrank*");
  229. {
  230. SetVehicleHealth(playerid, 100);
  231. SendClientMessage(playerid, 0x00FF14FF, "Dein Auto wurde repariert.");
  232. }
  233. return 1;
  234. }
  235.  
  236. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnPlayerExitVehicle(playerid, vehicleid)
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnPlayerStateChange(playerid, newstate, oldstate)
  247. {
  248. return 1;
  249. }
  250.  
  251. public OnPlayerEnterCheckpoint(playerid)
  252. {
  253. return 1;
  254. }
  255.  
  256. public OnPlayerLeaveCheckpoint(playerid)
  257. {
  258. return 1;
  259. }
  260.  
  261. public OnPlayerEnterRaceCheckpoint(playerid)
  262. {
  263. return 1;
  264. }
  265.  
  266. public OnPlayerLeaveRaceCheckpoint(playerid)
  267. {
  268. return 1;
  269. }
  270.  
  271. public OnRconCommand(cmd[])
  272. {
  273. return 1;
  274. }
  275.  
  276. public OnPlayerRequestSpawn(playerid)
  277. {
  278. return 1;
  279. }
  280.  
  281. public OnObjectMoved(objectid)
  282. {
  283. return 1;
  284. }
  285.  
  286. public OnPlayerObjectMoved(playerid, objectid)
  287. {
  288. return 1;
  289. }
  290.  
  291. public OnPlayerPickUpPickup(playerid, pickupid)
  292. {
  293. return 1;
  294. }
  295.  
  296. public OnVehicleMod(playerid, vehicleid, componentid)
  297. {
  298. return 1;
  299. }
  300.  
  301. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnPlayerSelectedMenuRow(playerid, row)
  312. {
  313. return 1;
  314. }
  315.  
  316. public OnPlayerExitedMenu(playerid)
  317. {
  318. return 1;
  319. }
  320.  
  321. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  322. {
  323. return 1;
  324. }
  325.  
  326. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  327. {
  328. return 1;
  329. }
  330.  
  331. public OnRconLoginAttempt(ip[], password[], success)
  332. {
  333. return 1;
  334. }
  335.  
  336. public OnPlayerUpdate(playerid)
  337. {
  338. return 1;
  339. }
  340.  
  341. public OnPlayerStreamIn(playerid, forplayerid)
  342. {
  343. return 1;
  344. }
  345.  
  346. public OnPlayerStreamOut(playerid, forplayerid)
  347. {
  348. return 1;
  349. }
  350.  
  351. public OnVehicleStreamIn(vehicleid, forplayerid)
  352. {
  353. return 1;
  354. }
  355.  
  356. public OnVehicleStreamOut(vehicleid, forplayerid)
  357. {
  358. return 1;
  359. }
  360.  
  361. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  362. {
  363. if(dialogid==DIALOG_REGISTER)
  364. {
  365. if(response==0)
  366. {
  367. SendClientMessage(playerid, ROT, "Du hast den Vorgang abgebrochen.");
  368. Kick(playerid);
  369. return 1;
  370. }
  371. if(response==1)
  372. {
  373. if(strlen(inputtext))
  374. {
  375. SendClientMessage(playerid,ROT,"Das Passwort war nicht lang genug.");
  376. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein","Register","Abbrechen");
  377. return 1;
  378. }
  379. else
  380. {
  381. Register(playerid,inputtext);
  382. return 1;
  383. }
  384. }
  385. }
  386. return 1;
  387. }
  388.  
  389. stock Register(playerid,key[])
  390. {
  391. new SpielerDatei(64);
  392. new name(MAX_PLAYER_NAME);
  393. GetPlayerName(playerid,name,sizeof(name));
  394. format(Spielerdatei,sizeof(Spielerdatei),"\Accounts\%s.txt",name);
  395. dini_Create(Spielerdatei);
  396. dini_Set(Spielerdatei,"Passwort",key);
  397. SendClientMessage(playerid,ROT,"Erfolgreich Registriert.");
  398. return 1;
  399. }
  400.  
  401. /*-------------------------------------------------------------------------------*/
  402.  
  403. stock sscanf(string[], format[], {Float,_}:...)
  404. {
  405. #if defined isnull
  406. if (isnull(string))
  407. #else
  408. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  409. #endif
  410. {
  411. return format[0];
  412. }
  413. #pragma tabsize 4
  414. new
  415. formatPos = 0,
  416. stringPos = 0,
  417. paramPos = 2,
  418. paramCount = numargs(),
  419. delim = ' ';
  420. while (string[stringPos] && string[stringPos] <= ' ')
  421. {
  422. stringPos++;
  423. }
  424. while (paramPos < paramCount && string[stringPos])
  425. {
  426. switch (format[formatPos++])
  427. {
  428. case '\0':
  429. {
  430. return 0;
  431. }
  432. case 'i', 'd':
  433. {
  434. new
  435. neg = 1,
  436. num = 0,
  437. ch = string[stringPos];
  438. if (ch == '-')
  439. {
  440. neg = -1;
  441. ch = string[++stringPos];
  442. }
  443. do
  444. {
  445. stringPos++;
  446. if ('0' <= ch <= '9')
  447. {
  448. num = (num * 10) + (ch - '0');
  449. }
  450. else
  451. {
  452. return -1;
  453. }
  454. }
  455. while ((ch = string[stringPos]) > ' ' && ch != delim);
  456. setarg(paramPos, 0, num * neg);
  457. }
  458. case 'h', 'x':
  459. {
  460. new
  461. num = 0,
  462. ch = string[stringPos];
  463. do
  464. {
  465. stringPos++;
  466. switch (ch)
  467. {
  468. case 'x', 'X':
  469. {
  470. num = 0;
  471. continue;
  472. }
  473. case '0' .. '9':
  474. {
  475. num = (num << 4) | (ch - '0');
  476. }
  477. case 'a' .. 'f':
  478. {
  479. num = (num << 4) | (ch - ('a' - 10));
  480. }
  481. case 'A' .. 'F':
  482. {
  483. num = (num << 4) | (ch - ('A' - 10));
  484. }
  485. default:
  486. {
  487. return -1;
  488. }
  489. }
  490. }
  491. while ((ch = string[stringPos]) > ' ' && ch != delim);
  492. setarg(paramPos, 0, num);
  493. }
  494. case 'c':
  495. {
  496. setarg(paramPos, 0, string[stringPos++]);
  497. }
  498. case 'f':
  499. {
  500.  
  501. new changestr[16], changepos = 0, strpos = stringPos;
  502. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  503. {
  504. changestr[changepos++] = string[strpos++];
  505. }
  506. changestr[changepos] = '\0';
  507. setarg(paramPos,0,_:floatstr(changestr));
  508. }
  509. case 'p':
  510. {
  511. delim = format[formatPos++];
  512. continue;
  513. }
  514. case '\'':
  515. {
  516. new
  517. end = formatPos - 1,
  518. ch;
  519. while ((ch = format[++end]) && ch != '\'') {}
  520. if (!ch)
  521. {
  522. return -1;
  523. }
  524. format[end] = '\0';
  525. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  526. {
  527. if (format[end + 1])
  528. {
  529. return -1;
  530. }
  531. return 0;
  532. }
  533. format[end] = '\'';
  534. stringPos = ch + (end - formatPos);
  535. formatPos = end + 1;
  536. }
  537. case 'u':
  538. {
  539. new
  540. end = stringPos - 1,
  541. id = 0,
  542. bool:num = true,
  543. ch;
  544. while ((ch = string[++end]) && ch != delim)
  545. {
  546. if (num)
  547. {
  548. if ('0' <= ch <= '9')
  549. {
  550. id = (id * 10) + (ch - '0');
  551. }
  552. else
  553. {
  554. num = false;
  555. }
  556. }
  557. }
  558. if (num && IsPlayerConnected(id))
  559. {
  560. setarg(paramPos, 0, id);
  561. }
  562. else
  563. {
  564. #if !defined foreach
  565. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  566. #define __SSCANF_FOREACH__
  567. #endif
  568. string[end] = '\0';
  569. num = false;
  570. new
  571. name[MAX_PLAYER_NAME];
  572. id = end - stringPos;
  573. foreach (Player, playerid)
  574. {
  575. GetPlayerName(playerid, name, sizeof (name));
  576. if (!strcmp(name, string[stringPos], true, id))
  577. {
  578. setarg(paramPos, 0, playerid);
  579. num = true;
  580. break;
  581. }
  582. }
  583. if (!num)
  584. {
  585. setarg(paramPos, 0, INVALID_PLAYER_ID);
  586. }
  587. string[end] = ch;
  588. #if defined __SSCANF_FOREACH__
  589. #undef foreach
  590. #undef __SSCANF_FOREACH__
  591. #endif
  592. }
  593. stringPos = end;
  594. }
  595. case 's', 'z':
  596. {
  597. new
  598. i = 0,
  599. ch;
  600. if (format[formatPos])
  601. {
  602. while ((ch = string[stringPos++]) && ch != delim)
  603. {
  604. setarg(paramPos, i++, ch);
  605. }
  606. if (!i)
  607. {
  608. return -1;
  609. }
  610. }
  611. else
  612. {
  613. while ((ch = string[stringPos++]))
  614. {
  615. setarg(paramPos, i++, ch);
  616. }
  617. }
  618. stringPos--;
  619. setarg(paramPos, i, '\0');
  620. }
  621. default:
  622. {
  623. continue;
  624. }
  625. }
  626. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  627. {
  628. stringPos++;
  629. }
  630. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  631. {
  632. stringPos++;
  633. }
  634. paramPos++;
  635. }
  636. do
  637. {
  638. if ((delim = format[formatPos++]) > ' ')
  639. {
  640. if (delim == '\'')
  641. {
  642. while ((delim = format[formatPos++]) && delim != '\'') {}
  643. }
  644. else if (delim != 'z')
  645. {
  646. return delim;
  647. }
  648. }
  649. }
  650. while (delim > ' ');
  651. return 0;
  652. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement