Advertisement
xFerienFreak

2.0

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