Advertisement
JeffryUGP

Code - FerienFreak

Feb 5th, 2014
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 24.87 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4.  
  5.  
  6. #define BLAU 0x0087FFFF
  7. #define ROT 0xE10000FF
  8.  
  9. #define DIALOG_TUTORIAL 1
  10. #define DIALOG_REGISTER 2
  11. #define DIALOG_LOGIN 3
  12.  
  13.  
  14. main()
  15. {
  16.     print("\n----------------------------------");
  17.     print("United Deathmatch");
  18.     print("----------------------------------\n");
  19. }
  20.  
  21.  
  22. public OnGameModeInit()
  23. {
  24.  
  25.     DisableInteriorEnterExits();
  26.     SetGameModeText("United Deathmatch");
  27.     AddPlayerClass(18,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  28.     AddPlayerClass(19,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  29.     AddPlayerClass(21,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  30.     AddPlayerClass(22,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  31.     AddPlayerClass(23,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  32.     AddPlayerClass(24,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  33.     AddPlayerClass(25,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  34.     AddPlayerClass(28,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  35.     AddPlayerClass(29,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  36.     AddPlayerClass(30,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  37.     AddPlayerClass(45,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  38.     AddPlayerClass(56,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  39.     AddPlayerClass(57,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  40.     AddPlayerClass(58,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  41.     AddPlayerClass(59,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  42.     AddPlayerClass(60,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  43.     AddPlayerClass(61,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  44.     AddPlayerClass(62,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  45.     AddPlayerClass(63,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  46.     AddPlayerClass(64,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  47.     AddPlayerClass(65,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  48.     AddPlayerClass(66,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  49.     AddPlayerClass(70,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  50.     AddPlayerClass(71,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  51.     AddPlayerClass(86,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  52.     AddPlayerClass(93,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  53.     AddPlayerClass(97,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  54.     AddPlayerClass(98,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  55.     AddPlayerClass(102,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  56.     AddPlayerClass(103,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  57.     AddPlayerClass(104,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  58.     AddPlayerClass(105,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  59.     AddPlayerClass(106,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  60.     AddPlayerClass(107,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  61.     AddPlayerClass(108,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  62.     AddPlayerClass(109,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  63.     AddPlayerClass(110,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  64.     AddPlayerClass(111,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  65.     AddPlayerClass(112,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  66.     AddPlayerClass(113,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  67.     AddPlayerClass(114,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  68.     AddPlayerClass(115,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  69.     AddPlayerClass(116,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  70.     AddPlayerClass(117,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  71.     AddPlayerClass(118,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  72.     AddPlayerClass(119,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  73.     AddPlayerClass(120,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  74.     AddPlayerClass(121,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  75.     AddPlayerClass(122,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  76.     AddPlayerClass(123,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  77.     AddPlayerClass(124,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  78.     AddPlayerClass(125,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  79.     AddPlayerClass(126,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  80.     AddPlayerClass(127,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  81.     AddPlayerClass(137,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  82.     AddPlayerClass(163,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  83.     AddPlayerClass(164,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  84.     AddPlayerClass(165,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  85.     AddPlayerClass(166,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  86.     AddPlayerClass(169,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  87.     AddPlayerClass(170,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  88.     AddPlayerClass(171,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  89.     AddPlayerClass(172,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  90.     AddPlayerClass(173,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  91.     AddPlayerClass(174,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  92.     AddPlayerClass(175,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  93.     AddPlayerClass(176,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  94.     AddPlayerClass(177,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  95.     AddPlayerClass(184,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  96.     AddPlayerClass(185,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  97.     AddPlayerClass(186,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  98.     AddPlayerClass(187,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  99.     AddPlayerClass(188,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  100.     AddPlayerClass(189,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  101.     AddPlayerClass(190,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  102.     AddPlayerClass(203,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  103.     AddPlayerClass(204,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  104.     AddPlayerClass(211,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  105.     AddPlayerClass(265,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  106.     AddPlayerClass(266,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  107.     AddPlayerClass(267,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  108.     AddPlayerClass(268,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  109.     AddPlayerClass(269,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  110.     AddPlayerClass(270,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  111.     AddPlayerClass(271,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  112.     AddPlayerClass(272,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  113.     AddPlayerClass(273,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  114.     AddPlayerClass(274,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  115.     AddPlayerClass(275,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  116.     AddPlayerClass(276,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  117.     AddPlayerClass(277,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  118.     AddPlayerClass(278,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  119.     AddPlayerClass(279,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  120.     AddPlayerClass(280,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  121.     AddPlayerClass(281,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  122.     AddPlayerClass(282,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  123.     AddPlayerClass(283,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  124.     AddPlayerClass(284,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  125.     AddPlayerClass(285,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  126.     AddPlayerClass(286,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  127.     AddPlayerClass(287,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  128.     AddPlayerClass(288,1760.7014,-1895.7239,13.5614,270.5402,0,0,0,0,0,0); // Spielerposition
  129.  
  130.     return 1;
  131. }
  132.  
  133. public OnGameModeExit()
  134. {
  135.     return 1;
  136. }
  137.  
  138. public OnPlayerRequestClass(playerid, classid)
  139. {
  140.     if(IsPlayerNPC(playerid))return 1;
  141.     SetPlayerPos(playerid,1760.7014,-1895.7239,13.5614);
  142.     SetPlayerFacingAngle(playerid,270.5402);
  143.     SetPlayerCameraPos(playerid,1765.0925,-1895.6631,13.5625);
  144.     SetPlayerCameraLookAt(playerid,1755.2832,-1895.7673,13.5567);
  145.     return 1;
  146. }
  147.  
  148. public OnPlayerConnect(playerid)
  149. {
  150.     new name[MAX_PLAYER_NAME], pfad[64];
  151.     GetPlayerName(playerid,name,sizeof(name));
  152.     format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
  153.     if(dini_Exists(pfad))
  154.     {
  155.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  156.     }
  157.     else
  158.     {
  159.         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  160.     }
  161.     new str[144];
  162.     format(str, sizeof(str),"Willkommen zurück, %s",name);
  163.     SendClientMessage(playerid,BLAU,str);
  164.     return 1;
  165. }
  166.  
  167. public OnPlayerDisconnect(playerid, reason)
  168. {
  169.     if(GetPVarInt(playerid,"loggedin")==1)
  170.     {
  171.         SpielerSpeichern(playerid);
  172.     }
  173.     return 1;
  174. }
  175.  
  176. public OnPlayerSpawn(playerid)
  177. {
  178.     return 1;
  179. }
  180.  
  181. public OnPlayerDeath(playerid, killerid, reason)
  182. {
  183.     return 1;
  184. }
  185.  
  186. public OnVehicleSpawn(vehicleid)
  187. {
  188.     return 1;
  189. }
  190.  
  191. public OnVehicleDeath(vehicleid, killerid)
  192. {
  193.     return 1;
  194. }
  195.  
  196. public OnPlayerText(playerid, text[])
  197. {
  198.     return 1;
  199. }
  200.  
  201. ocmd:tban(playerid,params[])
  202. {
  203.     if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
  204.     new pID, time, grund[128];
  205.     if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,BLAU,"/tban [playerid] [zeit] [grund]");
  206.     if(IsPlayerConnected(pID))
  207.     {
  208.         if(time>0&&time<1000)
  209.         {
  210.             new string[128];
  211.             format(string,sizeof(string),"%s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
  212.             SendClientMessageToAll(ROT,string);
  213.             new wert;
  214.  
  215.             wert=gettime()+(60*time);
  216.  
  217.             SetPVarInt(pID,"timeban",wert);
  218.  
  219.             Kick(pID);
  220.             return 1;
  221.         }
  222.         SendClientMessage(playerid,ROT,"Ungültige Zeit.");
  223.         return 1;
  224.     }
  225.     SendClientMessage(playerid,ROT,"Spieler ist nicht online.");
  226.     return 1;
  227. }
  228.  
  229.  
  230. ocmd:setadmin(playerid,params[])
  231. {
  232.     if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  233.     new pID, rank;
  234.     if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
  235.     if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
  236.     SetPVarInt(pID,"Adminlevel",rank);
  237.     SpielerSpeichern(pID);
  238.     SendClientMessageToAll(BLAU,"");
  239.     return 1;
  240. }
  241. ocmd:ban(playerid,params[])
  242. {
  243.     if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  244.     new pID, reason[128],string[128];
  245.     if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]");
  246.     format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  247.     SendClientMessageToAll(ROT,string);
  248.     SetPVarInt(pID,"Baned",1);
  249.     Kick(pID);
  250.     return 1;
  251. }
  252. ocmd:kick(playerid,params[])
  253. {
  254.     if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  255.     new pID, reason[128],string[128];
  256.     if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
  257.     format(string,sizeof(string),"%s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  258.     SendClientMessageToAll(ROT,string);
  259.     Kick(pID);
  260.     return 1;
  261. }
  262.  
  263. public OnPlayerCommandText(playerid, cmdtext[])
  264. {
  265.     if(strcmp(cmdtext,"/spawn",true)==0)
  266.     {
  267.         if(isPlayerAnAdmin(playerid,3))
  268.         {
  269.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"Spawn","Möchten sie wirklich Respawnen?","JA","NEIN");
  270.             return 1;
  271.         }
  272.         SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  273.         return 1;
  274.     }
  275.     if(strcmp(cmdtext,"/kill",true)==0)
  276.     {
  277.         SetPlayerHealth(playerid,0);
  278.         return 1;
  279.     }
  280.     if(strcmp(cmdtext,"/restart",true)==0)
  281.     {
  282.         if(isPlayerAnAdmin(playerid,5))
  283.         {
  284.             SendRconCommand("gmx");
  285.             return 1;
  286.         }
  287.         SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  288.         return 1;
  289.     }
  290.     if(strcmp(cmdtext,"/stats",true)==0)
  291.     {
  292.         return 1;
  293.     }
  294.     return 0;
  295. }
  296.  
  297. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  298. {
  299.     return 1;
  300. }
  301.  
  302. public OnPlayerExitVehicle(playerid, vehicleid)
  303. {
  304.     return 1;
  305. }
  306.  
  307. public OnPlayerStateChange(playerid, newstate, oldstate)
  308. {
  309.     return 1;
  310. }
  311.  
  312. public OnPlayerEnterCheckpoint(playerid)
  313. {
  314.     return 1;
  315. }
  316.  
  317. public OnPlayerLeaveCheckpoint(playerid)
  318. {
  319.     return 1;
  320. }
  321.  
  322. public OnPlayerEnterRaceCheckpoint(playerid)
  323. {
  324.     return 1;
  325. }
  326.  
  327. public OnPlayerLeaveRaceCheckpoint(playerid)
  328. {
  329.     return 1;
  330. }
  331.  
  332. public OnRconCommand(cmd[])
  333. {
  334.     return 1;
  335. }
  336.  
  337. public OnPlayerRequestSpawn(playerid)
  338. {
  339.     return 1;
  340. }
  341.  
  342. public OnObjectMoved(objectid)
  343. {
  344.     return 1;
  345. }
  346.  
  347. public OnPlayerObjectMoved(playerid, objectid)
  348. {
  349.     return 1;
  350. }
  351.  
  352. public OnPlayerPickUpPickup(playerid, pickupid)
  353. {
  354.     return 1;
  355. }
  356.  
  357. public OnVehicleMod(playerid, vehicleid, componentid)
  358. {
  359.     return 1;
  360. }
  361.  
  362. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  363. {
  364.     return 1;
  365. }
  366.  
  367. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  368. {
  369.     return 1;
  370. }
  371.  
  372. public OnPlayerSelectedMenuRow(playerid, row)
  373. {
  374.     return 1;
  375. }
  376.  
  377. public OnPlayerExitedMenu(playerid)
  378. {
  379.     return 1;
  380. }
  381.  
  382. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  383. {
  384.     return 1;
  385. }
  386.  
  387. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  388. {
  389.     return 1;
  390. }
  391.  
  392. public OnRconLoginAttempt(ip[], password[], success)
  393. {
  394.     return 1;
  395. }
  396.  
  397. public OnPlayerUpdate(playerid)
  398. {
  399.     return 1;
  400. }
  401.  
  402. public OnPlayerStreamIn(playerid, forplayerid)
  403. {
  404.     return 1;
  405. }
  406.  
  407. public OnPlayerStreamOut(playerid, forplayerid)
  408. {
  409.     return 1;
  410. }
  411.  
  412. public OnVehicleStreamIn(vehicleid, forplayerid)
  413. {
  414.     return 1;
  415. }
  416.  
  417. public OnVehicleStreamOut(vehicleid, forplayerid)
  418. {
  419.     return 1;
  420. }
  421.  
  422. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  423. {
  424.     if(dialogid==DIALOG_LOGIN)
  425.     {
  426.         if(response==0)
  427.         {
  428.             SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  429.             Kick(playerid);
  430.             return 1;
  431.         }
  432.         if(response==1)
  433.         {
  434.             if(!strlen(inputtext))
  435.             {
  436.                 SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  437.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  438.                 return 1;
  439.             }
  440.             else
  441.             {
  442.                 Login(playerid,inputtext);
  443.                 return 1;
  444.             }
  445.         }
  446.     }
  447.     if(dialogid==DIALOG_REGISTER)
  448.     {
  449.         if(response==0)
  450.         {
  451.             SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  452.             Kick(playerid);
  453.             return 1;
  454.         }
  455.         if(response==1)
  456.         {
  457.             if(!strlen(inputtext))
  458.             {
  459.                 SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  460.                 ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  461.                 return 1;
  462.             }
  463.             else
  464.             {
  465.                 Register(playerid,inputtext);
  466.                 return 1;
  467.             }
  468.         }
  469.     }
  470.     if(dialogid==DIALOG_TUTORIAL)
  471.     {
  472.         if(response==1)
  473.         {
  474.             SetPlayerPos(playerid,1760.7014,-1895.7239,13.5614);
  475.             SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
  476.         }
  477.         if(response==0)
  478.         {
  479.             SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
  480.         }
  481.     }
  482.     return 1;
  483. }
  484.  
  485. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  486. {
  487.     return 1;
  488. }
  489.  
  490.  
  491. stock Register(playerid,key[])
  492. {
  493.     new name[MAX_PLAYER_NAME], pfad[64];
  494.     GetPlayerName(playerid,name,sizeof(name));
  495.     format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
  496.     dini_Create(pfad);
  497.     dini_Set(pfad,"Passwort",key);
  498.     SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
  499.     SetPlayerScore(playerid,0);
  500.     SetPVarInt(playerid,"loggedin",1);
  501.     return 1;
  502. }
  503.  
  504. stock Login(playerid,key[])
  505. {
  506.     new name[MAX_PLAYER_NAME], pfad[64];
  507.     GetPlayerName(playerid,name,sizeof(name));
  508.     format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
  509.  
  510.     if(gettime()<dini_Int(pfad,"timeban"))
  511.     {
  512.         SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
  513.         Kick(playerid);
  514.         return 1;
  515.     }
  516.  
  517.     if(!strcmp(key,dini_Get(pfad,"Passwort"),false))
  518.     {
  519.         LoadAccount(playerid);
  520.         SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
  521.         return 1;
  522.     }
  523.     else
  524.     {
  525.         SendClientMessage(playerid,BLAU,"Falsches Passwort.");
  526.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  527.         return 1;
  528.     }
  529. }
  530.  
  531. stock LoadAccount(playerid)
  532. {
  533.     new name[MAX_PLAYER_NAME], pfad[64];
  534.     GetPlayerName(playerid,name,sizeof(name));
  535.     format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
  536.     SetPlayerScore(playerid,dini_Int(pfad,"Level"));
  537.     GivePlayerMoney(playerid,dini_Int(pfad,"Geld"));
  538.     SetPVarInt(playerid,"Adminlevel",dini_Int(pfad,"Adminlevel"));
  539.     SetPVarInt(playerid,"Fraktion",dini_Int(pfad,"Fraktion"));
  540.     SetPVarInt(playerid,"Baned",dini_Int(pfad,"Baned"));
  541.     if(GetPVarInt(playerid,"Baned")==1)
  542.     {
  543.         SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
  544.         Kick(playerid);
  545.     }
  546.     SetPVarInt(playerid,"loggedin",1);
  547.     return 1;
  548. }
  549.  
  550. stock SpielerSpeichern(playerid)
  551. {
  552.     if(GetPVarInt(playerid,"loggedin")==1)
  553.     {
  554.         new name[MAX_PLAYER_NAME], pfad[64];
  555.         GetPlayerName(playerid,name,sizeof(name));
  556.         format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
  557.         dini_IntSet(pfad,"Level",GetPlayerScore(playerid));
  558.         dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
  559.         dini_IntSet(pfad,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  560.         dini_IntSet(pfad,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  561.         dini_IntSet(pfad,"Baned",GetPVarInt(playerid,"Baned"));
  562.         dini_IntSet(pfad,"timeban",GetPVarInt(playerid,"timeban"));
  563.     }
  564.     return 1;
  565. }
  566.  
  567. stock isPlayerInFrakt(playerid,fraktid)
  568. {
  569.     if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
  570.     return 0;
  571. }
  572.  
  573. stock isPlayerAnAdmin(playerid,rang)
  574. {
  575.     if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  576.     return 0;
  577. }
  578.  
  579. stock SpielerName(playerid)
  580. {
  581.     new r_name[MAX_PLAYER_NAME];
  582.     GetPlayerName(playerid, r_name, sizeof(r_name));
  583.     return r_name;
  584. }
  585.  
  586. stock sscanf(sstring[], format[], {Float,_}:...)
  587. {
  588.     #if defined isnull
  589.         if (isnull(sstring))
  590.     #else
  591.         if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  592.     #endif
  593.         {
  594.             return format[0];
  595.         }
  596.     #pragma tabsize 4
  597.     new
  598.         formatPos = 0,
  599.         sstringPos = 0,
  600.         paramPos = 2,
  601.         paramCount = numargs(),
  602.         delim = ' ';
  603.     while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  604.     {
  605.         sstringPos++;
  606.     }
  607.     while (paramPos < paramCount && sstring[sstringPos])
  608.     {
  609.         switch (format[formatPos++])
  610.         {
  611.             case '\0':
  612.             {
  613.                 return 0;
  614.             }
  615.             case 'i', 'd':
  616.             {
  617.                 new
  618.                     neg = 1,
  619.                     num = 0,
  620.                     ch = sstring[sstringPos];
  621.                 if (ch == '-')
  622.                 {
  623.                     neg = -1;
  624.                     ch = sstring[++sstringPos];
  625.                 }
  626.                 do
  627.                 {
  628.                     sstringPos++;
  629.                     if ('0' <= ch <= '9')
  630.                     {
  631.                         num = (num * 10) + (ch - '0');
  632.                     }
  633.                     else
  634.                     {
  635.                         return -1;
  636.                     }
  637.                 }
  638.                 while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  639.                 setarg(paramPos, 0, num * neg);
  640.             }
  641.             case 'h', 'x':
  642.             {
  643.                 new
  644.                     num = 0,
  645.                     ch = sstring[sstringPos];
  646.                 do
  647.                 {
  648.                     sstringPos++;
  649.                     switch (ch)
  650.                     {
  651.                         case 'x', 'X':
  652.                         {
  653.                             num = 0;
  654.                             continue;
  655.                         }
  656.                         case '0' .. '9':
  657.                         {
  658.                             num = (num << 4) | (ch - '0');
  659.                         }
  660.                         case 'a' .. 'f':
  661.                         {
  662.                             num = (num << 4) | (ch - ('a' - 10));
  663.                         }
  664.                         case 'A' .. 'F':
  665.                         {
  666.                             num = (num << 4) | (ch - ('A' - 10));
  667.                         }
  668.                         default:
  669.                         {
  670.                             return -1;
  671.                         }
  672.                     }
  673.                 }
  674.                 while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  675.                 setarg(paramPos, 0, num);
  676.             }
  677.             case 'c':
  678.             {
  679.                 setarg(paramPos, 0, sstring[sstringPos++]);
  680.             }
  681.             case 'f':
  682.             {
  683.  
  684.                 new changestr[16], changepos = 0, strpos = sstringPos;
  685.                 while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  686.                 {
  687.                     changestr[changepos++] = sstring[strpos++];
  688.                     }
  689.                 changestr[changepos] = '\0';
  690.                 setarg(paramPos,0,_:floatstr(changestr));
  691.             }
  692.             case 'p':
  693.             {
  694.                 delim = format[formatPos++];
  695.                 continue;
  696.             }
  697.             case '\'':
  698.             {
  699.                 new
  700.                     end = formatPos - 1,
  701.                     ch;
  702.                 while ((ch = format[++end]) && ch != '\'') {}
  703.                 if (!ch)
  704.                 {
  705.                     return -1;
  706.                 }
  707.                 format[end] = '\0';
  708.                 if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  709.                 {
  710.                     if (format[end + 1])
  711.                     {
  712.                         return -1;
  713.                     }
  714.                     return 0;
  715.                 }
  716.                 format[end] = '\'';
  717.                 sstringPos = ch + (end - formatPos);
  718.                 formatPos = end + 1;
  719.             }
  720.             case 'u':
  721.             {
  722.                 new
  723.                     end = sstringPos - 1,
  724.                     id = 0,
  725.                     bool:num = true,
  726.                     ch;
  727.                 while ((ch = sstring[++end]) && ch != delim)
  728.                 {
  729.                     if (num)
  730.                     {
  731.                         if ('0' <= ch <= '9')
  732.                         {
  733.                             id = (id * 10) + (ch - '0');
  734.                         }
  735.                         else
  736.                         {
  737.                             num = false;
  738.                         }
  739.                     }
  740.                 }
  741.                 if (num && IsPlayerConnected(id))
  742.                 {
  743.                     setarg(paramPos, 0, id);
  744.                 }
  745.                 else
  746.                 {
  747.                     #if !defined foreach
  748.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  749.                         #define __SSCANF_FOREACH__
  750.                     #endif
  751.                     sstring[end] = '\0';
  752.                     num = false;
  753.                     new
  754.                         name[MAX_PLAYER_NAME];
  755.                     id = end - sstringPos;
  756.                     foreach (Player, playerid)
  757.                     {
  758.                         GetPlayerName(playerid, name, sizeof (name));
  759.                         if (!strcmp(name, sstring[sstringPos], true, id))
  760.                         {
  761.                             setarg(paramPos, 0, playerid);
  762.                             num = true;
  763.                             break;
  764.                         }
  765.                     }
  766.                     if (!num)
  767.                     {
  768.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  769.                     }
  770.                     sstring[end] = ch;
  771.                     #if defined __SSCANF_FOREACH__
  772.                         #undef foreach
  773.                         #undef __SSCANF_FOREACH__
  774.                     #endif
  775.                 }
  776.                 sstringPos = end;
  777.             }
  778.             case 's', 'z':
  779.             {
  780.                 new
  781.                     i = 0,
  782.                     ch;
  783.                 if (format[formatPos])
  784.                 {
  785.                     while ((ch = sstring[sstringPos++]) && ch != delim)
  786.                     {
  787.                         setarg(paramPos, i++, ch);
  788.                     }
  789.                     if (!i)
  790.                     {
  791.                         return -1;
  792.                     }
  793.                 }
  794.                 else
  795.                 {
  796.                     while ((ch = sstring[sstringPos++]))
  797.                     {
  798.                         setarg(paramPos, i++, ch);
  799.                     }
  800.                 }
  801.                 sstringPos--;
  802.                 setarg(paramPos, i, '\0');
  803.             }
  804.             default:
  805.             {
  806.                 continue;
  807.             }
  808.         }
  809.         while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  810.         {
  811.             sstringPos++;
  812.         }
  813.         while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  814.         {
  815.             sstringPos++;
  816.         }
  817.         paramPos++;
  818.     }
  819.     do
  820.     {
  821.         if ((delim = format[formatPos++]) > ' ')
  822.         {
  823.             if (delim == '\'')
  824.             {
  825.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  826.             }
  827.             else if (delim != 'z')
  828.             {
  829.                 return delim;
  830.             }
  831.         }
  832.     }
  833.     while (delim > ' ');
  834.     return 0;
  835. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement