Guest User

Untitled

a guest
Apr 1st, 2011
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 24.95 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4. //#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  5. forward Servernachricht();
  6.  
  7. #define MAX_HAUS 15
  8.  
  9.  
  10. //Farb Defines
  11.  
  12. #define COLOR_RED 0xFF0000FF
  13. #define COLOR_YELLOW 0xEBFF00FF
  14. #define COLOR_WHITE 0xFEFEFEFF
  15. #define COLOR_GREEN 0x00FF14FF
  16. #define COLOR_DGREEN 0x006300FF
  17.  
  18.  
  19.  
  20. //Haus System
  21.  
  22. enum haus_info
  23. {
  24. Float:haus_x,
  25. Float:haus_y,
  26. Float:haus_z,
  27. haus_besitzer[32],
  28. haus_preis
  29. haus_pickup,
  30. haus_innenraum
  31. }
  32. new HausInfo[MAX_HAUS][haus_info];
  33.  
  34.  
  35. enum innenraum_info
  36. {
  37. Float:innen_x,
  38. Float:innen_y,
  39. Float:innen_z,
  40. innen_interior
  41. }
  42. new HausInnenraum[][innenraum_info] =
  43. {
  44. //Koordinaten hierhin
  45. //{x,y,z,interior}
  46. {2454.717041,-1700,871582,1013.5151,2)
  47. };
  48.  
  49. new inHaus[MAX_PLAYERS] = -1;
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. //Register/Login
  58.  
  59. /*enum spieler_daten
  60. {
  61. wanted,
  62. skin,
  63. Float:lastx,Float:lasty,Float:lastz,
  64. eingeloggt,
  65. AdminLevel
  66. }
  67. new Spieler[MAX_PLAYERS][spieler_daten];
  68.  
  69. #define DIALOG_LOGIN 2
  70. #define DIALOG_REG 3*/
  71.  
  72. //Navi
  73.  
  74. #define navimenu 1
  75.  
  76. main()
  77. {
  78.     print("|-------------------------------------------|");
  79.     print("Dies ist eine Gamemode von Mirko97.");
  80.     print("Die Gamemode ist in der Testphase, und wird noch sehr stark erweitert!");
  81.     print("ToDo List:");
  82.     print("Arbeits-System: [ ] | Fraktionen: [ ] | Anfangs-Tutorial: [ ] | Register/Login System: [ ] ... mehr kommt noch");
  83.     print("|-------------------------------------------|");
  84. }
  85.  
  86.  
  87.  
  88. public OnGameModeInit()
  89. {
  90.  
  91.     //Haus System
  92.    
  93.     CreatePickup(1273,23,0,0,1000,99);
  94.     for(new haus=1;haus<MAX_HAUS;haus++)
  95.     {
  96.         LoadHaus(haus);
  97.     }
  98.  
  99.     //Objekte//
  100.    
  101.    
  102.     //Stadthalle//
  103. /*CreateObject(1649,1492.19030762,-1751.24121094,16.11105537,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (1)
  104. CreateObject(1649,1492.18957520,-1751.26916504,19.36106682,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (5)
  105. CreateObject(1649,1492.18884277,-1751.26977539,22.61106682,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (6)
  106. CreateObject(1649,1492.16381836,-1751.26904297,25.86106682,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (7)
  107. CreateObject(1649,1486.64392090,-1751.25500488,16.11105537,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (8)
  108. CreateObject(1649,1486.64294434,-1751.27990723,19.33606720,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (9)
  109. CreateObject(1649,1486.64965820,-1751.26464844,22.63606644,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (10)
  110. CreateObject(1649,1486.60009766,-1751.27124023,25.61106682,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (11)
  111. CreateObject(1649,1470.20190430,-1751.31921387,16.08605576,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (12)
  112. CreateObject(1649,1470.20324707,-1751.34326172,19.31104851,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (14)
  113. CreateObject(1649,1470.20312500,-1751.34277344,22.56104851,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (15)
  114. CreateObject(1649,1470.20312500,-1751.34277344,25.81104851,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (16)
  115. CreateObject(1649,1475.67883301,-1751.30529785,16.08605576,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (17)
  116. CreateObject(1649,1475.67871094,-1751.30468750,19.33605576,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (18)
  117. CreateObject(1649,1475.67871094,-1751.30468750,22.58605576,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (19)
  118. CreateObject(1649,1475.67871094,-1751.30468750,25.86100578,0.00000000,0.00000000,0.00000000); //object(wglasssmash) (20)*/
  119. CreateObject(1257,1487.53967285,-1741.34545898,13.82606697,0.00000000,0.00000000,270.00000000); //object(bustopm) (1)
  120. CreateObject(1257,1482.81359863,-1741.39709473,13.82606697,0.00000000,0.00000000,270.00000000); //object(bustopm) (2)
  121. CreateObject(3578,1488.56921387,-1732.34350586,11.71085262,0.00000000,0.00000000,91.25000000); //object(dockbarr1_la) (1)
  122. CreateObject(3578,1477.34472656,-1732.28674316,11.71085262,0.00000000,0.00000000,90.74963379); //object(dockbarr1_la) (2)
  123. CreateObject(640,1480.25097656,-1732.27600098,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (2)
  124. CreateObject(640,1485.57983398,-1732.27587891,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (3)
  125. CreateObject(618,1488.02148438,-1732.82836914,11.63282394,0.00000000,0.00000000,353.75000000); //object(veg_treea3) (1)
  126. CreateObject(618,1478.48974609,-1732.81335449,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (2)
  127. CreateObject(640,1491.45544434,-1732.24450684,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (4)
  128. CreateObject(640,1496.70874023,-1732.27258301,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (5)
  129. CreateObject(640,1501.96020508,-1732.27734375,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (6)
  130. CreateObject(640,1507.18664551,-1732.28344727,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (7)
  131. CreateObject(640,1512.38989258,-1732.28942871,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (8)
  132. CreateObject(640,1474.37402344,-1732.28674316,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (9)
  133. CreateObject(640,1469.14746094,-1732.29492188,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (10)
  134. CreateObject(640,1463.81103516,-1732.29345703,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (11)
  135. CreateObject(640,1458.53247070,-1732.28735352,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (12)
  136. CreateObject(640,1453.33093262,-1732.28173828,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (13)
  137. CreateObject(640,1447.97619629,-1732.27917480,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (14)
  138. CreateObject(640,1442.72546387,-1732.32128906,13.07984638,0.00000000,0.00000000,270.00000000); //object(kb_planter_bush2) (15)
  139. CreateObject(618,1499.52050781,-1732.83300781,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (4)
  140. CreateObject(618,1509.82385254,-1732.81848145,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (5)
  141. CreateObject(618,1504.62219238,-1732.82189941,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (6)
  142. CreateObject(618,1494.27258301,-1732.70422363,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (7)
  143. CreateObject(618,1471.91455078,-1732.82910156,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (8)
  144. CreateObject(618,1466.49157715,-1732.82495117,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (9)
  145. CreateObject(3578,1515.40051270,-1732.04309082,11.71085262,0.00000000,0.00000000,90.49694824); //object(dockbarr1_la) (3)
  146. CreateObject(618,1461.26550293,-1732.82641602,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (11)
  147. CreateObject(618,1455.98962402,-1732.80371094,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (12)
  148. CreateObject(618,1450.73925781,-1732.80627441,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (13)
  149. CreateObject(618,1445.46447754,-1732.80834961,11.63282394,0.00000000,0.00000000,353.74877930); //object(veg_treea3) (14)
  150. CreateObject(3578,1439.82946777,-1732.28723145,11.71085262,0.00000000,0.00000000,90.74707031); //object(dockbarr1_la) (4)
  151.  
  152.  
  153.  
  154. //Cars
  155.  
  156. //Newbie Roller / SH Roller
  157.  
  158. SetVehicleNumberPlate(CreateVehicle(462,1467.85852051,-1741.39099121,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  159. SetVehicleNumberPlate(CreateVehicle(462,1468.68847656,-1741.34179688,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  160. SetVehicleNumberPlate(CreateVehicle(462,1469.43811035,-1741.36450195,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  161. SetVehicleNumberPlate(CreateVehicle(462,1470.18713379,-1741.38696289,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  162. SetVehicleNumberPlate(CreateVehicle(462,1470.93615723,-1741.40942383,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  163. SetVehicleNumberPlate(CreateVehicle(462,1471.58618164,-1741.42822266,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  164. SetVehicleNumberPlate(CreateVehicle(462,1472.23657227,-1741.44677734,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  165. SetVehicleNumberPlate(CreateVehicle(462,1472.98596191,-1741.46899414,13.21709442,0.00000000,1,1,320),"{CC001C}Newbie"); //Faggio
  166.  
  167. //Server-Nachricht
  168. SetTimer("Servernachricht",1800000,1);
  169.  
  170. UsePlayerPedAnims();
  171. DisableInteriorEnterExits();
  172. SetGameModeText("German Reallife Test");
  173. AddPlayerClass(11,1486.3182,-1748.4572,15.4453,1.5433,0,0,0,0,0,0); // SH Spawn
  174. AddPlayerClass(55,1486.3182,-1748.4572,15.4453,1.5433,0,0,0,0,0,0); // SH Spawn
  175. AddPlayerClass(91,1486.3182,-1748.4572,15.4453,1.5433,0,0,0,0,0,0); // SH Spawn
  176.    
  177.  
  178.    
  179. return 1;
  180. }
  181.  
  182. public OnGameModeExit()
  183. {
  184.     //Haus System
  185.    
  186.     for(new haus=1;haus<MAX_HAUS;haus++)
  187.     {
  188.         KillHaus(haus);
  189.     }
  190.  
  191.  
  192.     return 1;
  193. }
  194.  
  195. public OnPlayerRequestClass(playerid, classid)
  196. {
  197.     SetPlayerPos(playerid, 1243.3839,-1702.2549,15.7899);
  198.     SetPlayerCameraPos(playerid, 1243.6487,-1718.7271,13.5469);
  199.     SetPlayerCameraLookAt(playerid, 1243.3839,-1702.2549,15.7899);
  200.     SetPlayerFacingAngle(playerid,359.1296);
  201.     return 1;
  202. }
  203.  
  204. public OnPlayerConnect(playerid)
  205. {
  206.  
  207.  
  208.  
  209.     /*new pname[MAX_PLAYERS],accFormat[128];
  210.     GetPlayerName(playerid,pname,sizeof pname);
  211.     format(accFormat,sizeof accFormat,"Accounts/%s.datei",pname);
  212.     if(fexist(accFormat))
  213.     {
  214.         ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte gebe dein Passwort ein","Login","Abbrechen");
  215.         }
  216.         else
  217.         {
  218.         ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte gebe dein gewünschtes Passwort ein","Registrieren","Abbrechen");
  219.     }*/
  220.  
  221.  
  222.  
  223.    
  224.     return 1;
  225. }
  226.  
  227. public OnPlayerDisconnect(playerid, reason)
  228. {
  229.     /*new pname[MAX_PLAYERS],accFormat[128];
  230.     GetPlayerName(playerid,pname,sizeof pname);
  231.     format(accFormat,sizeof accFormat,"Accounts/%s.datei",pname);
  232.     if(fexist(accFormat) && Spieler[playerid][eingeloggt])
  233.     {
  234.         dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
  235.         dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
  236.         dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
  237.         dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
  238.         dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
  239.         dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
  240.         dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
  241.         dini_IntSet(accFormat,"AdminLevel",Spieler[playerid][AdminLevel]);
  242.     }
  243.     Spieler[playerid][eingeloggt] = 0;
  244.     Spieler[playerid][wanted] = 0;
  245.     Spieler[playerid][lastx] = (0.0);
  246.     Spieler[playerid][lasty] = (0.0);
  247.     Spieler[playerid][lastz] = (0.0);*/
  248.  
  249.     //Haus System
  250.    
  251.     inHaus[playerid] = -1;
  252.  
  253.  
  254.     return 1;
  255. }
  256.  
  257. public OnPlayerSpawn(playerid)
  258. {
  259.     return 1;
  260. }
  261.  
  262. public OnPlayerDeath(playerid, killerid, reason)
  263. {
  264.     return 1;
  265. }
  266.  
  267. public OnVehicleSpawn(vehicleid)
  268. {
  269.     return 1;
  270. }
  271.  
  272. public OnVehicleDeath(vehicleid, killerid)
  273. {
  274.     return 1;
  275. }
  276.  
  277. public OnPlayerText(playerid, text[])
  278. {
  279.     return 1;
  280. }
  281.  
  282. public OnPlayerCommandText(playerid, cmdtext[])
  283. {
  284.    
  285.  
  286.     if(strcmp("/gps", cmdtext, true, 10) == 0)
  287.     {
  288.         ShowPlayerDialog(playerid,navimenu,DIALOG_STYLE_LIST,"GPS-System","Stadthalle\nBank","Anzeigen","Abbrechen");
  289.         return 1;
  290.     }
  291.    
  292.     if(strcmp("/help", cmdtext, true, 10) == 0)
  293.     {
  294.         SendClientMessage(playerid,COLOR_YELLOW,"|-------|Server-Befehle|-------|");
  295.         SendClientMessage(playerid,COLOR_WHITE,"/gps - Ruft das Navigations Menu auf");
  296.         SendClientMessage(playerid,COLOR_RED,"Mehr Befehle sind in Arbeit!!");
  297.         SendClientMessage(playerid,COLOR_RED,"Euer GTA-Great Team");
  298.         return 1;
  299.     }
  300.    
  301.    
  302.  
  303.     return 0;
  304. }
  305.  
  306. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  307. {
  308.     return 1;
  309. }
  310.  
  311. public OnPlayerExitVehicle(playerid, vehicleid)
  312. {
  313.     return 1;
  314. }
  315.  
  316. public OnPlayerStateChange(playerid, newstate, oldstate)
  317. {
  318.     return 1;
  319. }
  320.  
  321. public OnPlayerEnterCheckpoint(playerid)
  322. {
  323.     DisablePlayerCheckpoint(playerid);
  324.     return 1;
  325. }
  326.  
  327. public OnPlayerLeaveCheckpoint(playerid)
  328. {
  329.     return 1;
  330. }
  331.  
  332. public OnPlayerEnterRaceCheckpoint(playerid)
  333. {
  334.     return 1;
  335. }
  336.  
  337. public OnPlayerLeaveRaceCheckpoint(playerid)
  338. {
  339.     return 1;
  340. }
  341.  
  342. public OnRconCommand(cmd[])
  343. {
  344.     return 1;
  345. }
  346.  
  347. public OnPlayerRequestSpawn(playerid)
  348. {
  349.     return 1;
  350. }
  351.  
  352. public OnObjectMoved(objectid)
  353. {
  354.     return 1;
  355. }
  356.  
  357. public OnPlayerObjectMoved(playerid, objectid)
  358. {
  359.     return 1;
  360. }
  361.  
  362. public OnPlayerPickUpPickup(playerid, pickupid)
  363. {
  364.     //Haus System
  365.    
  366.     for(new i=1;i<MAX_HAUS;i++)
  367.     {
  368.         if(HausInfo[i][haus_pickup] == pickupid)
  369.         {
  370.             new s[100];
  371.             format(s,100,"Besitzer: %s \n Preis: %d$",HausInfo[i][haus_besitzer],HausInfo[i][haus_preis]);
  372.             SendClientMessage(playerid,COLOR_RED,s);
  373.         }
  374.     }
  375.    
  376.  
  377.     return 1;
  378. }
  379.  
  380. public OnVehicleMod(playerid, vehicleid, componentid)
  381. {
  382.     return 1;
  383. }
  384.  
  385. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  386. {
  387.     return 1;
  388. }
  389.  
  390. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  391. {
  392.     return 1;
  393. }
  394.  
  395. public OnPlayerSelectedMenuRow(playerid, row)
  396. {
  397.     return 1;
  398. }
  399.  
  400. public OnPlayerExitedMenu(playerid)
  401. {
  402.     return 1;
  403. }
  404.  
  405. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  406. {
  407.     return 1;
  408. }
  409.  
  410. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  411. {
  412.     return 1;
  413. }
  414.  
  415. public OnRconLoginAttempt(ip[], password[], success)
  416. {
  417.     return 1;
  418. }
  419.  
  420. public OnPlayerUpdate(playerid)
  421. {
  422.     return 1;
  423. }
  424.  
  425. public OnPlayerStreamIn(playerid, forplayerid)
  426. {
  427.     return 1;
  428. }
  429.  
  430. public OnPlayerStreamOut(playerid, forplayerid)
  431. {
  432.     return 1;
  433. }
  434.  
  435. public OnVehicleStreamIn(vehicleid, forplayerid)
  436. {
  437.     return 1;
  438. }
  439.  
  440. public OnVehicleStreamOut(vehicleid, forplayerid)
  441. {
  442.     return 1;
  443. }
  444.  
  445. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  446. {
  447.    
  448.     //Register/Login
  449.    
  450.     /*new pname[MAX_PLAYERS],accFormat[128];
  451.     GetPlayerName(playerid,pname,sizeof pname);
  452.     format(accFormat,sizeof accFormat,"Accounts/%s.datei",pname);
  453.     if(response)
  454.     {
  455.         switch(dialogid)
  456.         {
  457.             case DIALOG_LOGIN:
  458.             {
  459.                 if(!strlen(inputtext))
  460.                 {
  461.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte gebe dein Passwort ein","Login","Abbrechen");
  462.                     return SendClientMessage(playerid,COLOR_RED,"Kein Passwort eingegeben!");
  463.                 }
  464.                 if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
  465.                 {
  466.                     Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
  467.                     Spieler[playerid][skin] = dini_Int(accFormat,"skin");
  468.                     Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
  469.                     Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
  470.                     Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
  471.                     GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
  472.                     SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
  473.                     Spieler[playerid][AdminLevel] = dini_Int(accFormat, "AdminLevel");
  474.                     Spieler[playerid][eingeloggt] = 1;
  475.                     SendClientMessage(playerid,COLOR_WHITE,"Du hast das richtige Passwort eingegeben!");
  476.                     SendClientMessage(playerid,COLOR_RED,"Eingeloggt!");
  477.                  }
  478.                  else
  479.                  {
  480.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte gebe dein Passwort ein","Login","Abbrechen");
  481.                     SendClientMessage(playerid,COLOR_RED,"Falsches Passwort eingegeben!");
  482.                  
  483.                  }
  484.             }
  485.             case DIALOG_REG:
  486.             {
  487.                 if(!strlen(inputtext))
  488.                 {
  489.                     ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte gebe dein gewünschtes Passwort ein","Registrieren","Abbrechen");
  490.                     return SendClientMessage(playerid,COLOR_RED,"Das Passwort ist zu kurz!");
  491.                 }
  492.                 dini_Create(accFormat);
  493.                 dini_Set(accFormat,"Passwort",inputtext);
  494.                 dini_IntSet(accFormat, "AdminLevel" , 0);
  495.                 Spieler[playerid][AdminLevel] = 0;
  496.                 Spieler[playerid][eingeloggt] = 1;
  497.                 SendClientMessage(playerid,COLOR_RED,"Account erfolgreich erstellt!");
  498.                 SendClientMessage(playerid,COLOR_WHITE,"Du wurdest automatisch eingeloggt!");
  499.                 }
  500.             }
  501.         }
  502.         else
  503.         {
  504.             switch(dialogid)
  505.             {
  506.                 case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte gebe dein Passwort ein","Login","Abbrechen");
  507.                 case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte gebe dein gewünschtes Passwort ein","Registrieren","Abbrechen");
  508.             }
  509.         }
  510.            
  511.         dcmd_setlevel(playerid,params[])
  512.         {
  513.             new pID, Level;
  514.             if(sscanf(params, "ud",pID,Level))return SendClientMessage(playerid,0xFF0000FF,"Benutze: /setlevel [ID][Level]!"); //Falls nur /setlevel eingegeben wurde
  515.             if (pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,0xFF0000FF,"Spielerid ist nicht vorhanden!");
  516.             // Falls eine falsche ID angegeben wurde, wird 0 returnt ;)
  517.             if(Spieler[playerid][AdminLevel] > 3) // Hier wird abgefragt ob das Level des Spielers der den Befehl eingegeben hat größer als 3 ist.
  518.             {
  519.                 new adminstring[128],levelsetter[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
  520.                 GetPlayerName(pID,playername,sizeof playername);
  521.                 format(adminstring,sizeof(adminstring),"Admins/%s.sav",playername);
  522.                 GetPlayerName(playerid,levelsetter,sizeof(levelsetter));
  523.                 Spieler[pID][AdminLevel] = Level; //Hier wird die Levelvariable mit dem neu eingegebenen Level überschrieben
  524.                 dini_IntSet(adminstring,"AdminLevel",Level); // Und hier das neue Level in der Datei gespeichert.
  525.                 format(adminstring,sizeof(adminstring),"%s hat dein Level auf %d gesetzt!",levelsetter, Level);
  526.                 SendClientMessage(pID,0x33FF33FF, adminstring);
  527.             }
  528.             else return SendClientMessage(playerid, 0xFF0000FF, "Dein Level reicht nicht aus!");
  529.              // Falls das Level nicht ausreicht wird dieser Text gesendet.
  530.             return 1;
  531.         }
  532.  
  533.         dcmd_kick(playerid,params[])
  534.         {
  535.             new pID, str[64];
  536.             if(sscanf(params, "uz",pID,str))return SendClientMessage(playerid,0xFF0000FF,"USAGE: /kick ID Grund");
  537.             //Falls nur /Kick eingegeben wurde
  538.             if (pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,0xFF0000FF,"Kein Spieler mit angegebener ID Online!");
  539.             //Falsche Id
  540.             if (pID == playerid)return SendClientMessage(playerid,0xFF0000FF,"Du kannst dich nicht selber kicken!");
  541.             // Falls man seine eigene ID angegeben hat ;)
  542.             if(Spieler[playerid][AdminLevel] > 0) // Wenn das Level größer ist als 0
  543.             {
  544.                 new ThePlayer[MAX_PLAYER_NAME], str2[128];
  545.                 GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
  546.                 format(str2,sizeof(str2),"%s wurde vom Server gekickt!(Grund: %s)",ThePlayer,str[0] ? str : "<Kein Grund>");
  547.                 // Falls kein Grund angegeben wird als Grund <Kein Grund> angegeben
  548.                 SendClientMessageToAll(0xFF0000FF,str);
  549.                 Kick(pID);
  550.             }
  551.             else return SendClientMessage(playerid, 0xFF0000FF, "Dein Level reicht nicht aus!");
  552.             return 1;
  553.         }
  554.  
  555.    
  556.     //Navi
  557.     if(dialogid==navimenu)
  558.     {
  559.     if(response)
  560.         {
  561.         if(listitem==0) //Stadthalle
  562.             {
  563.                 SetPlayerCheckpoint(playerid,1481.6975,-1735.3652,13.3828,3.0);
  564.             }
  565.         if(listitem==1) //Bank
  566.             {
  567.                 SetPlayerCheckpoint(playerid,1462.5588,-1030.8309,23.6563,3.0);
  568.             }
  569.         }
  570.     }*/
  571.  
  572.     return 1;
  573. }
  574.  
  575. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  576. {
  577.     return 1;
  578. }
  579.  
  580. public Servernachricht()
  581. {
  582.     new rand = random(2);
  583.     switch(rand)
  584.     {
  585.         case 0:
  586.         {
  587.             SendClientMessageToAll(COLOR_YELLOW,"|-------|Server-Nachricht|-------|");
  588.             SendClientMessageToAll(COLOR_WHITE,"Auf diesem Server wird nicht gehackt");
  589.             SendClientMessageToAll(COLOR_WHITE,"Wenn ein Hacker erwischt wird, gibt es einen Permanenten Bann");
  590.             SendClientMessageToAll(COLOR_WHITE,"Also lest euch bitte die Regeln durch. /rules");
  591.             SendClientMessageToAll(COLOR_WHITE,"Euer GTA-Great Team");
  592.             SendClientMessageToAll(COLOR_YELLOW,"|--------------------------------|");
  593.         }
  594.         case 1:
  595.         {
  596.             SendClientMessageToAll(COLOR_YELLOW,"|-------|Server-Nachricht|-------|");
  597.             SendClientMessageToAll(COLOR_WHITE,"Wenn du eine Frage an einen Admin hast, dann benutze /report");
  598.             SendClientMessageToAll(COLOR_WHITE,"Oder besuche unser Forum unter");
  599.             SendClientMessageToAll(COLOR_WHITE,"www.forum-adresse.de");
  600.             SendClientMessageToAll(COLOR_WHITE,"Wir haben auch einen TeamSpeak Server.");
  601.             SendClientMessageToAll(COLOR_WHITE,"teamspeakip:port");
  602.             SendClientMessageToAll(COLOR_YELLOW,"|--------------------------------|");
  603.         }
  604.         case 2:
  605.         {
  606.             SendClientMessageToAll(COLOR_YELLOW,"|-------|Server-Nachricht|-------|");
  607.             SendClientMessageToAll(COLOR_WHITE,"Dies ist ein Reallife Server, Sinnloses DM ist verboten!");
  608.             SendClientMessageToAll(COLOR_WHITE,"Wenn du auf DM aus bist, kannst du auf einen DM Server gehen!");
  609.             SendClientMessageToAll(COLOR_WHITE,"Wenn du jemanden siehst, der Sinnloses DM begeht, dann melde es einem Admin!");
  610.             SendClientMessageToAll(COLOR_YELLOW,"|--------------------------------|");
  611.         }
  612.     }
  613.     return 1;
  614. }
  615.  
  616. //Haus System
  617.  
  618. stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32])
  619. {
  620.     for(new haus;haus<MAX_HAUS;haus++)
  621.     {
  622.         new pfad[50];
  623.         for(new haus =1;haus<MAX_HAUS;haus++)
  624.         {
  625.             format(pfad,50,"/haus/%d.txt",haus);
  626.             if(!fexist(pfad))
  627.             {
  628.                 dini_Create(pfad);
  629.                 dini_FloatSet(pfad,"x",x);
  630.                 dini_FloatSet(pfad,"y",y);
  631.                 dini_FloatSet(pfad,"z",z);
  632.                 dini_IntSet(pfad,"preis",preis);
  633.                 dini_Set(pfad,"besitzer",besitzer);
  634.                 return LoadHaus(haus);
  635.             }
  636.         }
  637.         return 0;
  638.     }
  639.     return 1;
  640. }
  641.  
  642. stock LoadHaus(hausid)
  643. {
  644.     new pfad[50];
  645.     format(pfad,50,"/haus/%d.txt",hausid);
  646.     if(!fexist(pfad))return 0;
  647.    
  648.     HausInfo[hausid][haus_x] = dini_Float(pfad,"x");
  649.     HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
  650.     HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
  651.     HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
  652.     format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
  653.     HausInfo[hausid][haus_pickup] = CreatePickup(1273 ,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0);
  654.     return print("Das Haus wurde erfolgreich geladen");
  655.    
  656. }
  657.  
  658. stock KillHaus(hausid)
  659. {
  660.     return DestroyPickup(HausInfo[hausid][haus_pickup]);
  661. }
  662.  
  663. ocmd:erstellen(playerid,params[])
  664. {
  665.     new Float:x,Float:y,Float:z;
  666.     GetPlayerPos(playerid,x,y,z);
  667.     CreateHuas(x,y,z,100,"Keiner");
  668.     return 1;
  669. }
  670.  
  671.  
  672. ocmd:exit
  673. {
  674.     if(inHaus[playerid] == -1)return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Haus!");
  675.     new haus = inHaus[playerid];
  676.     new innenraum = HausInfo[haus][haus_innenraum];
  677.     if(!IsPlayerInRangeOfPoint(playerid,5,HausInnenraum[innenraum][innen_x],HausInnenraum[innenraum][innen_y],HausInnenraum[innenraum][innen_z]))return SendClientMessage(playerid,COLOR_RED,"Du bist nicht am Ausgang!");
  678.     SetPlayerPos(playerid,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
  679.     SetPlayerInterior(playerid,0);
  680.     SendClientMessage(playerid,COLOR_RED,"Du hast das Haus verlassen!");
  681.     inHaus[playerid] = -1;
  682.     return 1;
  683.  
  684. }
  685.  
  686.  
  687. ocmd:kaufen(playerid,params[])
  688. {
  689.     for(new haus=1;haus<MAX_HAUS;haus++)
  690.     {
  691.         if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
  692.         {
  693.             new name[MAX_PLAYER_NAME];
  694.             GetPlayerName(playerid,name,sizeof name);
  695.             if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,0x00FF00,"Dieses Haus gehört dir bereits!");
  696.             if(strcmp(HausInfo[haus][haus_besitzer],"Keiner",false))return SendClientMessage(playerid,0x00FF00,"Dieses Haus steht nicht zum Verkauf!");
  697.             // wenn das Haus frei ist dann kaufen:
  698.             if(GetPlayerMoney(playerid) < HausInfo[haus][haus_preis])return SendClientMessage(playerid,0x00FF00,"Du hast nicht genug Geld!");
  699.             GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]); // Geld abziehen
  700.             new pfad[50];
  701.             format(pfad,50,"/haus/%d.txt",haus); // Pfad formatieren
  702.             dini_Set(pfad,"besitzer",name); // Besitzer überschreiben
  703.             KillHaus(haus); // Hauspickup löschen
  704.             LoadHaus(haus); // Haus laden
  705.         }
  706.     }
  707.     return 1;
  708. }
  709.  
  710. ocmd:enter(playerid,params[])
  711. {
  712.     for(new haus=1;haus<MAX_HAUS;haus++)
  713.     {
  714.         if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
  715.         {
  716.             new name[MAX_PLAYER_NAME];
  717.             GetPlayerName(playerid,name,sizeof name);
  718.             if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
  719.             {
  720.                 new innenraum = HausInfo[haus][haus_innenraum];
  721.                 SetPlayerPos(playerid,HausInnenraum[innenraum][innen_x],HausInnenraum[innenraum][innen_y],HausInnenraum[innenraum][innen_z]);
  722.                 SetPlayerInterior(playerid,HausInnenraum[innenraum][innen_interior]);
  723.                 inHaus[playerid] = haus;
  724.             }
  725.             else SendClientMessage(playerid,COLOR_RED,"Du bist nicht Befugt das Gebäude zu betreten!");
  726.         }
  727.     }
  728.     return 1;
  729. }
Advertisement
Add Comment
Please, Sign In to add comment