Guest User

Untitled

a guest
Dec 16th, 2012
1,481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 40.89 KB | None | 0 0
  1. /*
  2.     DynamicFraktion by TheO
  3.  
  4.     Was ihr dürft.
  5.     Ihr dürft es Bearbeiten
  6.     Ihr dürft es wo anders Veröffentlichen
  7.     wenn mein Name als Inhaber drin vorkommt
  8.  
  9.     (c) by TheO 2012
  10.     Copyright löscher sind kiddys die denken
  11.     die können was :P
  12.  
  13.  
  14. */
  15.  
  16.  
  17.  
  18. #include <a_samp>
  19. #include <dini>
  20. #include <ocmd>
  21.  
  22.  
  23.  
  24.  
  25. #pragma tabsize 0
  26.  
  27.  
  28. #undef MAX_PLAYERS
  29. #define MAX_PLAYERS 50
  30.  
  31. #define rot 0xFF182BFF
  32. #define blau 0x0084FFFF
  33. #define grün 0x00FF43FFx
  34. #define gelb 0xFFFF00FF
  35.  
  36. #define LohnInfo 9999
  37. #define Rang1 8888
  38. #define Rang2 7777
  39. #define Rang3 6666
  40. #define Rang4 5555
  41. #define Rang5 4444
  42. #define Rang6 3333
  43. #define RangLohn 2222
  44. #define Rang1e 888
  45. #define Rang2e 777
  46. #define Rang3e 666
  47. #define Rang4e 555
  48. #define Rang5e 444
  49. #define Rang6e 333
  50. #define RangE 222
  51.  
  52.  
  53. #define MAX_GANGS 75
  54.  
  55. enum FrakInfo
  56. {
  57.     FName[24],
  58.     Float:SpawnX,
  59.     Float:SpawnY,
  60.     Float:SpawnZ,
  61.     FWaffe,
  62.     FSkin,
  63.     FLohn,
  64.     Pickup,
  65.     Text3D:Text,
  66.     Mon1,
  67.     Mon2,
  68.     Mon3,
  69.     Mon4,
  70.     Mon5,
  71.     Mon6,
  72.     Cops
  73. }
  74. new fInfo[MAX_GANGS][FrakInfo];
  75.  
  76.  
  77.  
  78. enum PlayerInfo
  79. {
  80.     FID,
  81.     FLeader,
  82.     Rang,
  83.     LohnZeit,
  84.     Wandets,
  85.     Jail
  86. }
  87. new pInfo[MAX_PLAYERS][PlayerInfo];
  88.  
  89. #define MAX_CARS 75
  90.  
  91. enum CarInfo
  92. {
  93.     CarID,
  94.     FrakID,
  95.     Color1,
  96.     Color2,
  97.     Float:cX,
  98.     Float:cY,
  99.     Float:cZ,
  100.     Float:cA,
  101.     NuSchild[24]
  102. }
  103.  
  104. new cInfo[MAX_CARS][CarInfo];
  105.  
  106.  
  107. new PlayerText:frakname[MAX_PLAYERS];
  108. new Text:Line;
  109. new paytimer;
  110. new jailtime;
  111.  
  112.  
  113.  
  114. public OnFilterScriptInit()
  115. {
  116.     print("\n--------------------------------------");
  117.     print(" Dynamic Fraksystem are Loaded");
  118.     print("--------------------------------------\n");
  119.  
  120.  
  121.     for(new i = 0; i < MAX_GANGS; i++)
  122.     {
  123.         LoadFrak(i);
  124.  
  125.     }
  126.     for(new i = 0; i < MAX_CARS;i++)
  127.     {
  128.         LoadCars(i);
  129.     }
  130.     Line = TextDrawCreate(33.000000, 319.000000, "DynamicFraktion");
  131.     TextDrawBackgroundColor(Line, 255);
  132.     TextDrawFont(Line, 0);
  133.     TextDrawLetterSize(Line, 0.600000, 2.099999);
  134.     TextDrawColor(Line, -1);
  135.     TextDrawSetOutline(Line, 1);
  136.     TextDrawSetProportional(Line, 1);
  137.     paytimer = SetTimer("PayDay",1200000,true);
  138.  return 0;
  139. }
  140.  
  141. public OnFilterScriptExit()
  142. {
  143.     for(new i = 0; i < MAX_GANGS; i++)
  144.     {
  145.         KillFrak(i);
  146.     }
  147.     for(new i = 0; i < MAX_CARS; i++)
  148.     {
  149.         DestroyVehicle(i);
  150.     }
  151.     for(new i = 0; i< MAX_PLAYERS; i++)
  152.     {
  153.         PlayerTextDrawHide(i,frakname[i]);
  154.         TextDrawHideForPlayer(i,Line);
  155.     }
  156.     KillTimer(paytimer);
  157.     return 0;
  158. }
  159.  
  160.  
  161.  
  162. public OnPlayerConnect(playerid)
  163. {
  164.  
  165.     if(!IsPlayerNPC(playerid))
  166.     {
  167.         new datei[128];
  168.         GetPlayerName(playerid,datei,sizeof(datei));
  169.         format(datei,sizeof(datei),"/FrakSys/Accounts/%s.txt",datei);
  170.         if(!fexist(datei))
  171.         {
  172.            for(new x= 0; x < MAX_PLAYERS;x++)
  173.             {
  174.                 frakname[x] = CreatePlayerTextDraw(x,541.000000, 241.000000, "Test   Rang 6");
  175.                 PlayerTextDrawBackgroundColor(x,frakname[x], 255);
  176.                 PlayerTextDrawFont(x,frakname[x], 1);
  177.                 PlayerTextDrawLetterSize(x,frakname[x], 0.629999, 1.700000);
  178.                 PlayerTextDrawColor(x,frakname[x], -13617921);
  179.                 PlayerTextDrawSetOutline(x,frakname[x], 0);
  180.                 PlayerTextDrawSetProportional(x,frakname[x], 1);
  181.                 PlayerTextDrawSetShadow(x,frakname[x], 2);
  182.                 PlayerTextDrawUseBox(x,frakname[x], 1);
  183.                 PlayerTextDrawBoxColor(x,frakname[x], 16843138);
  184.                 PlayerTextDrawTextSize(x,frakname[x], 656.000000, 40.000000);
  185.                 print("Geladen");
  186.                 pInfo[playerid][FID] = 0;
  187.                 pInfo[playerid][FLeader] = 0;
  188.                 pInfo[playerid][Rang] = 0;
  189.                 pInfo[playerid][Jail] = 0;
  190.                 pInfo[playerid][Wandets] = 0;
  191.                 dini_Create(datei);
  192.                 dini_IntSet(datei,"FraktionsID",pInfo[playerid][FID]);
  193.                 dini_IntSet(datei,"FraktionsLeader",pInfo[playerid][FLeader]);
  194.                 dini_IntSet(datei,"Rang",pInfo[playerid][Rang]);
  195.                 dini_IntSet(datei,"Jail",pInfo[playerid][Jail]);
  196.                 dini_IntSet(datei,"Wandets",pInfo[playerid][Wandets]);
  197.                 return 1;
  198.             }
  199.         }
  200.         else
  201.         {
  202.             frakname[playerid] = CreatePlayerTextDraw(playerid,541.000000, 241.000000, "Test   Rang 6");
  203.             PlayerTextDrawBackgroundColor(playerid,frakname[playerid], 255);
  204.             PlayerTextDrawFont(playerid,frakname[playerid], 1);
  205.             PlayerTextDrawLetterSize(playerid,frakname[playerid], 0.629999, 1.700000);
  206.             PlayerTextDrawColor(playerid,frakname[playerid], -13617921);
  207.             PlayerTextDrawSetOutline(playerid,frakname[playerid], 0);
  208.             PlayerTextDrawSetProportional(playerid,frakname[playerid], 1);
  209.             PlayerTextDrawSetShadow(playerid,frakname[playerid], 2);
  210.             PlayerTextDrawUseBox(playerid,frakname[playerid], 1);
  211.             PlayerTextDrawBoxColor(playerid,frakname[playerid], 16843138);
  212.             PlayerTextDrawTextSize(playerid,frakname[playerid], 656.000000, 40.000000);
  213.             print("Geladen");
  214.             pInfo[playerid][FID] = dini_Int(datei,"FraktionsID");
  215.             pInfo[playerid][FLeader] = dini_Int(datei,"FraktionsLeader");
  216.             pInfo[playerid][Rang] = dini_Int(datei,"Rang");
  217.             pInfo[playerid][Jail] = dini_Int(datei,"Jail");
  218.             pInfo[playerid][Wandets] = dini_Int(datei,"Wandets");
  219.             SetPlayerWantedLevel(playerid,pInfo[playerid][Wandets]);
  220.             return 1;
  221.         }
  222.  
  223.     }
  224.     return 1;
  225. }
  226.  
  227. public OnPlayerDisconnect(playerid, reason)
  228. {
  229.     if(!IsPlayerNPC(playerid))
  230.     {
  231.         new datei[128];
  232.         GetPlayerName(playerid,datei,sizeof(datei));
  233.         format(datei,sizeof(datei),"/FrakSys/Accounts/%s.txt",datei);
  234.         dini_IntSet(datei,"FraktionsID",pInfo[playerid][FID]);
  235.         dini_IntSet(datei,"FraktionsLeader",pInfo[playerid][FLeader]);
  236.         dini_IntSet(datei,"Rang",pInfo[playerid][Rang]);
  237.         dini_IntSet(datei,"Jail",pInfo[playerid][Jail]);
  238.         dini_IntSet(datei,"Wandets",pInfo[playerid][Wandets]);
  239.     }
  240.     return 1;
  241. }
  242.  
  243. public OnPlayerSpawn(playerid)
  244. {
  245.     if(pInfo[playerid][FID] >=1)
  246.     {
  247.         if(pInfo[playerid][Jail] == 0)
  248.         {
  249.             new fstring[128];
  250.             format(fstring,sizeof(fstring),"%s    Rang %d",fInfo[pInfo[playerid][FID]][FName],pInfo[playerid][Rang]);
  251.             PlayerTextDrawSetString(playerid,frakname[playerid],fstring);
  252.             PlayerTextDrawShow(playerid,frakname[playerid]);
  253.             SetPlayerPos(playerid,fInfo[pInfo[playerid][FID]][SpawnX],fInfo[pInfo[playerid][FID]][SpawnY],fInfo[pInfo[playerid][FID]][SpawnZ]);
  254.             SetPlayerSkin(playerid,fInfo[pInfo[playerid][FID]][FSkin]);
  255.             GivePlayerWeapon(playerid, fInfo[pInfo[playerid][FID]][FWaffe], 500);
  256.             TextDrawShowForPlayer(playerid,Line);
  257.             SetPlayerWantedLevel(playerid,pInfo[playerid][Wandets]);
  258.             return 1;
  259.         }
  260.         else  if(pInfo[playerid][Jail] == 1)
  261.         {
  262.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  263.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  264.             pInfo[playerid][Jail] = 1;
  265.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  266.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  267.             SetPlayerVirtualWorld(playerid,3);
  268.             SetTimerEx("JailTimer",60000*2,false,"i",playerid);
  269.             return 1;
  270.         }
  271.         else  if(pInfo[playerid][Jail] == 2)
  272.         {
  273.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  274.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  275.             pInfo[playerid][Jail] = 1;
  276.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  277.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  278.             SetPlayerVirtualWorld(playerid,3);
  279.             SetTimerEx("JailTimer",60000*4,false,"i",playerid);
  280.             return 1;
  281.         }
  282.         else  if(pInfo[playerid][Jail] == 3)
  283.         {
  284.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  285.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  286.             pInfo[playerid][Jail] = 1;
  287.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  288.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  289.             SetPlayerVirtualWorld(playerid,3);
  290.             SetTimerEx("JailTimer",60000*6,false,"i",playerid);
  291.             return 1;
  292.         }
  293.         else  if(pInfo[playerid][Jail] == 4)
  294.         {
  295.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  296.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  297.             pInfo[playerid][Jail] = 1;
  298.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  299.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  300.             SetPlayerVirtualWorld(playerid,3);
  301.             SetTimerEx("JailTimer",60000*8,false,"i",playerid);
  302.             return 1;
  303.         }
  304.         else  if(pInfo[playerid][Jail] == 5)
  305.         {
  306.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  307.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  308.             pInfo[playerid][Jail] = 1;
  309.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  310.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  311.             SetPlayerVirtualWorld(playerid,3);
  312.             SetTimerEx("JailTimer",60000*10,false,"i",playerid);
  313.             return 1;
  314.         }
  315.         else  if(pInfo[playerid][Jail] == 6)
  316.         {
  317.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  318.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  319.             pInfo[playerid][Jail] = 1;
  320.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  321.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  322.             SetPlayerVirtualWorld(playerid,3);
  323.             SetTimerEx("JailTimer",60000*12,false,"i",playerid);
  324.             return 1;
  325.         }
  326.     }
  327.     else if(pInfo[playerid][FID] == 0)
  328.     {
  329.         if(pInfo[playerid][Jail] == 0)
  330.         {
  331.             //Positon etc
  332.             return 1;
  333.         }
  334.         if(GetPlayerWantedLevel(playerid) == 1)
  335.         {
  336.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  337.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  338.             pInfo[playerid][Jail] = 1;
  339.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  340.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  341.             SetPlayerVirtualWorld(playerid,3);
  342.             SetTimerEx("JailTimer",60000*2,false,"i",playerid);
  343.             return 1;
  344.         }
  345.         else if(GetPlayerWantedLevel(playerid) == 2)
  346.         {
  347.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  348.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  349.             pInfo[playerid][Jail] = 1;
  350.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  351.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  352.             SetPlayerVirtualWorld(playerid,3);
  353.             SetTimerEx("JailTimer",60000*4,false,"i",playerid);
  354.             return 1;
  355.         }
  356.         else if(GetPlayerWantedLevel(playerid) == 3)
  357.         {
  358.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  359.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  360.             pInfo[playerid][Jail] = 1;
  361.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  362.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  363.             SetPlayerVirtualWorld(playerid,3);
  364.             SetTimerEx("JailTimer",60000*6,false,"i",playerid);
  365.             return 1;
  366.         }
  367.         else if(GetPlayerWantedLevel(playerid) == 4)
  368.         {
  369.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  370.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  371.             pInfo[playerid][Jail] = 1;
  372.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  373.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  374.             SetPlayerVirtualWorld(playerid,3);
  375.             SetTimerEx("JailTimer",60000*8,false,"i",playerid);
  376.             return 1;
  377.         }
  378.         else if(GetPlayerWantedLevel(playerid) == 5)
  379.         {
  380.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  381.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  382.             pInfo[playerid][Jail] = 1;
  383.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  384.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  385.             SetPlayerVirtualWorld(playerid,3);
  386.             SetTimerEx("JailTimer",60000*10,false,"i",playerid);
  387.             return 1;
  388.         }
  389.         else if(GetPlayerWantedLevel(playerid) == 6)
  390.         {
  391.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  392.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  393.             pInfo[playerid][Jail] = 1;
  394.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  395.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  396.             SetPlayerVirtualWorld(playerid,3);
  397.             SetTimerEx("JailTimer",60000*12,false,"i",playerid);
  398.             return 1;
  399.         }
  400.     }
  401.     return 0;
  402. }
  403.  
  404. forward PayDay();
  405. public PayDay()
  406. {
  407.  
  408.     for(new i = 0; i< MAX_PLAYERS; i++)
  409.     {
  410.         if(!IsPlayerConnected(i))continue;
  411.         {
  412.             pInfo[i][LohnZeit] += 1;
  413.             if(pInfo[i][LohnZeit] == 2)
  414.             {
  415.                 if(pInfo[i][Rang] == 1)
  416.                 {
  417.                     new string[128];
  418.                     format(string,sizeof(string),"Du erhälst %d $ als Fraktions Lohn.",fInfo[pInfo[i][FID]][Mon1]);
  419.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  420.                     SendClientMessage(i,rot,string);
  421.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  422.                     GivePlayerMoney(i,fInfo[pInfo[i][FID]][Mon1]);
  423.                 }
  424.                 if(pInfo[i][Rang] == 2)
  425.                 {
  426.                     new string[128];
  427.                     format(string,sizeof(string),"Du erhälst %d $ als Fraktions Lohn.",fInfo[pInfo[i][FID]][Mon2]);
  428.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  429.                     SendClientMessage(i,rot,string);
  430.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  431.                     GivePlayerMoney(i,fInfo[pInfo[i][FID]][Mon2]);
  432.  
  433.                 }
  434.                 if(pInfo[i][Rang] == 3)
  435.                 {
  436.                     new string[128];
  437.                     format(string,sizeof(string),"Du erhälst %d $ als Fraktions Lohn.",fInfo[pInfo[i][FID]][Mon3]);
  438.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  439.                     SendClientMessage(i,rot,string);
  440.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  441.                     GivePlayerMoney(i,fInfo[pInfo[i][FID]][Mon3]);
  442.  
  443.                 }
  444.                 if(pInfo[i][Rang] == 4)
  445.                 {
  446.                     new string[128];
  447.                     format(string,sizeof(string),"Du erhälst %d $ als Fraktions Lohn.",fInfo[pInfo[i][FID]][Mon4]);
  448.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  449.                     SendClientMessage(i,rot,string);
  450.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  451.                     GivePlayerMoney(i,fInfo[pInfo[i][FID]][Mon4]);
  452.  
  453.                 }
  454.                 if(pInfo[i][Rang] == 5)
  455.                 {
  456.                     new string[128];
  457.                     format(string,sizeof(string),"Du erhälst %d $ als Fraktions Lohn.",fInfo[pInfo[i][FID]][Mon5]);
  458.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  459.                     SendClientMessage(i,rot,string);
  460.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  461.                     GivePlayerMoney(i,fInfo[pInfo[i][FID]][Mon5]);
  462.  
  463.                 }
  464.                 if(pInfo[i][Rang] == 6)
  465.                 {
  466.                     new string[128];
  467.                     format(string,sizeof(string),"Du erhälst %d $ als Fraktions Lohn.",fInfo[pInfo[i][FID]][Mon6]);
  468.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  469.                     SendClientMessage(i,rot,string);
  470.                     SendClientMessage(i,gelb,"|______|Fraktion´s-Lohn|______|");
  471.                     GivePlayerMoney(i,fInfo[pInfo[i][FID]][Mon6]);
  472.                     return 1;
  473.  
  474.                 }
  475.  
  476.             }
  477.         }
  478.     }
  479.     return 1;
  480. }
  481.  
  482. ocmd:jail(playerid,params[])
  483. {
  484.     if(GetPlayerWantedLevel(playerid) == 1)
  485.         {
  486.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  487.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  488.             pInfo[playerid][Jail] = 1;
  489.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  490.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  491.             SetPlayerVirtualWorld(playerid,3);
  492.             SetTimerEx("JailTimer",60000*2,false,"i",playerid);
  493.         }
  494.         else if(GetPlayerWantedLevel(playerid) == 2)
  495.         {
  496.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  497.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  498.             pInfo[playerid][Jail] = 1;
  499.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  500.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  501.             SetPlayerVirtualWorld(playerid,3);
  502.             SetTimerEx("JailTimer",60000*4,false,"i",playerid);
  503.         }
  504.         else if(GetPlayerWantedLevel(playerid) == 3)
  505.         {
  506.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  507.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  508.             pInfo[playerid][Jail] = 1;
  509.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  510.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  511.             SetPlayerVirtualWorld(playerid,3);
  512.             SetTimerEx("JailTimer",60000*6,false,"i",playerid);
  513.         }
  514.         else if(GetPlayerWantedLevel(playerid) == 4)
  515.         {
  516.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  517.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  518.             pInfo[playerid][Jail] = 1;
  519.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  520.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  521.             SetPlayerVirtualWorld(playerid,3);
  522.             SetTimerEx("JailTimer",60000*8,false,"i",playerid);
  523.         }
  524.         else if(GetPlayerWantedLevel(playerid) == 5)
  525.         {
  526.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  527.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  528.             pInfo[playerid][Jail] = 1;
  529.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  530.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  531.             SetPlayerVirtualWorld(playerid,3);
  532.             SetTimerEx("JailTimer",60000*10,false,"i",playerid);
  533.         }
  534.         else if(GetPlayerWantedLevel(playerid) == 6)
  535.         {
  536.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  537.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  538.             pInfo[playerid][Jail] = 1;
  539.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  540.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  541.             SetPlayerVirtualWorld(playerid,3);
  542.             SetTimerEx("JailTimer",60000*12,false,"i",playerid);
  543.         }
  544.     return 1;
  545. }
  546. ocmd:spawn(playerid,params[])
  547. {
  548.     SpawnPlayer(playerid);
  549.     return 1;
  550. }
  551.  
  552.  
  553. public OnPlayerDeath(playerid, killerid, reason)
  554. {
  555.     PlayerTextDrawHide(playerid,frakname[playerid]);
  556.     if(fInfo[pInfo[killerid][FID]][Cops] == 1)
  557.     {
  558.         if(GetPlayerWantedLevel(playerid) == 1)
  559.         {
  560.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  561.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  562.             pInfo[playerid][Jail] = 1;
  563.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  564.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  565.             SetPlayerVirtualWorld(playerid,3);
  566.             jailtime = SetTimerEx("JailTimer",60000*2,false,"i",playerid);
  567.         }
  568.         else if(GetPlayerWantedLevel(playerid) == 2)
  569.         {
  570.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  571.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  572.             pInfo[playerid][Jail] = 2;
  573.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  574.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  575.             SetPlayerVirtualWorld(playerid,3);
  576.             jailtime = SetTimerEx("JailTimer",60000*4,false,"i",playerid);
  577.         }
  578.         else if(GetPlayerWantedLevel(playerid) == 3)
  579.         {
  580.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  581.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  582.             pInfo[playerid][Jail] = 3;
  583.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  584.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  585.             SetPlayerVirtualWorld(playerid,3);
  586.             jailtime = SetTimerEx("JailTimer",60000*6,false,"i",playerid);
  587.         }
  588.         else if(GetPlayerWantedLevel(playerid) == 4)
  589.         {
  590.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  591.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  592.             pInfo[playerid][Jail] = 4;
  593.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  594.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  595.             SetPlayerVirtualWorld(playerid,3);
  596.             jailtime = SetTimerEx("JailTimer",60000*8,false,"i",playerid);
  597.         }
  598.         else if(GetPlayerWantedLevel(playerid) == 5)
  599.         {
  600.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  601.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  602.             pInfo[playerid][Jail] = 5;
  603.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  604.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  605.             SetPlayerVirtualWorld(playerid,3);
  606.             jailtime = SetTimerEx("JailTimer",60000*10,false,"i",playerid);
  607.         }
  608.         else if(GetPlayerWantedLevel(playerid) == 6)
  609.         {
  610.             SetPlayerCameraPos(playerid, 1491.7281, -1628.1536, 42.0862);
  611.             SetPlayerCameraLookAt(playerid, 1492.5748, -1628.6895, 41.9112);
  612.             pInfo[playerid][Jail] = 6;
  613.             SendClientMessage(playerid,rot,"Wilkommen im Gefängnis.");
  614.             SetPlayerPos(playerid,1577.7693,-1634.1260,13.5624);
  615.             SetPlayerVirtualWorld(playerid,3);
  616.             jailtime = SetTimerEx("JailTimer",60000*12,false,"i",playerid);
  617.         }
  618.     }
  619.     return 0;
  620. }
  621.  
  622. forward JailTimer(playerid);
  623. public JailTimer(playerid)
  624. {
  625.     SendClientMessage(playerid,rot,"Du bist wieder Frei.");
  626.     pInfo[playerid][Jail] = 0;
  627.     SetPlayerVirtualWorld(playerid,0);
  628.     SpawnPlayer(playerid);
  629.     KillTimer(jailtime);
  630.     return 1;
  631. }
  632.  
  633.  
  634. public OnPlayerStateChange(playerid, newstate, oldstate)
  635. {
  636.     return 0;
  637. }
  638.  
  639. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  640. {
  641.     if(dialogid == RangLohn)
  642.     {
  643.         if(response)
  644.         {
  645.             if(listitem == 0)
  646.             {
  647.                 new string[256];
  648.                 format(string,sizeof(string),"{FFFFFF}Rang 1: {FF8200}%d $\n{FFFFFF}Rang 2: {FF8200}%d $\n{FFFFFF}Rang 3: {FF8200}%d $\n{FFFFFF}Rang 4: {FF8200}%d $\n{FFFFFF}Rang 5: {FF8200}%d $\n{FFFFFF}Rang 6: {FF8200}%d $",fInfo[pInfo[playerid][FID]][Mon1],fInfo[pInfo[playerid][FID]][Mon2],fInfo[pInfo[playerid][FID]][Mon3],fInfo[pInfo[playerid][FID]][Mon4],fInfo[pInfo[playerid][FID]][Mon5],fInfo[pInfo[playerid][FID]][Mon6]);
  649.                 ShowPlayerDialog(playerid,LohnInfo,DIALOG_STYLE_MSGBOX,"Löhne",string,"Oke","Close");
  650.             }
  651.             if(listitem == 1)
  652.             {
  653.                 ShowPlayerDialog(playerid,RangE,DIALOG_STYLE_LIST,"Rang Einstellen","Rang 1\nRang 2\nRang 3\nRang 4\nRang 5\nRang 6","Oke","Abbrechen");
  654.             }
  655.             return 1;
  656.         }
  657.     }
  658.     if(dialogid == RangE)
  659.     {
  660.         if(response)
  661.         {
  662.             if(listitem == 0)
  663.             {
  664.                 ShowPlayerDialog(playerid,Rang1,DIALOG_STYLE_INPUT,"Rang1","Bitte gebe den Lohn ein den deine Member\nmit dem Rang jede Stunde\nBekommen sollen","Oke","Abbrechen");
  665.             }
  666.             if(listitem == 1)
  667.             {
  668.                 ShowPlayerDialog(playerid,Rang2,DIALOG_STYLE_INPUT,"Rang2","Bitte gebe den Lohn ein den deine Member\nmit Rang jede Stunde\nBekommen sollen","Oke","Abbrechen");
  669.             }
  670.             if(listitem == 2)
  671.             {
  672.                 ShowPlayerDialog(playerid,Rang3,DIALOG_STYLE_INPUT,"Rang3","Bitte gebe den Lohn ein den deine Member\nmit Rang jede Stunde\nBekommen sollen","Oke","Abbrechen");
  673.             }
  674.             if(listitem == 3)
  675.             {
  676.                 ShowPlayerDialog(playerid,Rang4,DIALOG_STYLE_INPUT,"Rang4","Bitte gebe den Lohn ein den deine Member\nmit Rang jede Stunde\nBekommen sollen","Oke","Abbrechen");
  677.             }
  678.             if(listitem == 4)
  679.             {
  680.                 ShowPlayerDialog(playerid,Rang5,DIALOG_STYLE_INPUT,"Rang5","Bitte gebe den Lohn ein den deine Member\nmit Rang jede Stunde\nBekommen sollen","Oke","Abbrechen");
  681.             }
  682.             if(listitem == 5)
  683.             {
  684.                 ShowPlayerDialog(playerid,Rang6,DIALOG_STYLE_INPUT,"Rang6","Bitte gebe den Lohn ein den deine Member\nmit Rang jede Stunde\nBekommen sollen","Oke","Abbrechen");
  685.             }
  686.         }
  687.         return 1;
  688.     }
  689.     if(dialogid == Rang1)
  690.     {
  691.         fInfo[pInfo[playerid][FID]][Mon1] = strval(inputtext);
  692.         new string[128];
  693.         format(string,sizeof(string),"Rang 1 Lohn auf %d $ gestellt",fInfo[pInfo[playerid][FID]][Mon1]);
  694.         SendClientMessage(playerid,gelb,string);
  695.         return 1;
  696.     }
  697.     if(dialogid == Rang2)
  698.     {
  699.         fInfo[pInfo[playerid][FID]][Mon2] = strval(inputtext);
  700.         new string[128];
  701.         format(string,sizeof(string),"Rang 2 Lohn auf %d $ gestellt",fInfo[pInfo[playerid][FID]][Mon2]);
  702.         SendClientMessage(playerid,gelb,string);
  703.         return 1;
  704.     }
  705.     if(dialogid == Rang3)
  706.     {
  707.         fInfo[pInfo[playerid][FID]][Mon3] = strval(inputtext);
  708.         new string[128];
  709.         format(string,sizeof(string),"Rang 3 Lohn auf %d $ gestellt",fInfo[pInfo[playerid][FID]][Mon3]);
  710.         SendClientMessage(playerid,gelb,string);
  711.         return 1;
  712.     }
  713.     if(dialogid == Rang4)
  714.     {
  715.         fInfo[pInfo[playerid][FID]][Mon4] = strval(inputtext);
  716.         new string[128];
  717.         format(string,sizeof(string),"Rang 4 Lohn auf %d $ gestellt",fInfo[pInfo[playerid][FID]][Mon4]);
  718.         SendClientMessage(playerid,gelb,string);
  719.         return 1;
  720.     }
  721.     if(dialogid == Rang5)
  722.     {
  723.         fInfo[pInfo[playerid][FID]][Mon5] = strval(inputtext);
  724.         new string[128];
  725.         format(string,sizeof(string),"Rang 5 Lohn auf %d $ gestellt",fInfo[pInfo[playerid][FID]][Mon5]);
  726.         SendClientMessage(playerid,gelb,string);
  727.         return 1;
  728.     }
  729.     if(dialogid == Rang6)
  730.     {
  731.         fInfo[pInfo[playerid][FID]][Mon6] = strval(inputtext);
  732.         new string[128];
  733.         format(string,sizeof(string),"Rang 6 Lohn auf %d $ gestellt",fInfo[pInfo[playerid][FID]][Mon6]);
  734.         SendClientMessage(playerid,gelb,string);
  735.         return 1;
  736.     }
  737.     return 0;
  738. }
  739.  
  740. ocmd:lohn(playerid,params[])
  741. {
  742.     if(pInfo[playerid][FLeader] == 1)
  743.     {
  744.         ShowPlayerDialog(playerid,RangLohn,DIALOG_STYLE_LIST,"Lohn Information","Derzeitige Löhne\nLohn einstellen","Oke","Abbrechen");
  745.     }
  746.     return 1;
  747. }
  748.  
  749.  
  750.  
  751.  
  752. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  753. {
  754.     for(new i = 0; i < MAX_GANGS; i++)
  755.     {
  756.         new string[128];
  757.         format(string,sizeof(string),"Dieser Spieler ist in der Fraktion: %s",fInfo[i][FName]);
  758.         SendClientMessage(playerid,blau,string);
  759.         return 1;
  760.     }
  761.     return 0;
  762. }
  763.  
  764. ocmd:f(playerid,params[])
  765. {
  766.     new name[128];
  767.     GetPlayerName(playerid,name,sizeof(name));
  768.     new text[128];
  769.     new RangName[64];
  770.     switch(pInfo[playerid][Rang])
  771.     {
  772.         case 1:{RangName="Neuling";}
  773.         case 2:{RangName="Einsteiger";}
  774.         case 3:{RangName="Mitglied";}
  775.         case 4:{RangName="Vert.Person";}
  776.         case 5:{RangName="Stv.Leitung";}
  777.         case 6:{RangName="Leitung";}
  778.     }
  779.     if(sscanf(params,"s",text))return SendClientMessage(playerid,blau,"{FF3034}Error: {FFFFFF}/f [Text]");
  780.     {
  781.         for(new i =0; i < MAX_PLAYERS; i++)
  782.         {
  783.             if(pInfo[playerid][FID] == pInfo[i][FID])
  784.             {
  785.                 format(text,sizeof(text),"[%s]%s: %s.**",RangName,name,text);
  786.                 SendClientMessage(i,gelb,text);
  787.             }
  788.         }
  789.     }
  790.     return 1;
  791. }
  792.  
  793. ocmd:park(playerid,params[])
  794. {
  795.     for(new i = 0; i< MAX_CARS; i++)
  796.     {
  797.         if(IsPlayerAdmin(playerid))
  798.         {
  799.             new veh = GetPlayerVehicleID(playerid);
  800.             if(IsPlayerInVehicle(playerid,i))
  801.             {
  802.                 new Float:fX,Float:fY,Float:fZ,Float:fA;
  803.                 GetVehiclePos(veh,fX,fY,fZ);
  804.                 GetVehicleZAngle(veh,fA);
  805.                 cInfo[veh][cX] = fX;
  806.                 cInfo[veh][cY] = fY;
  807.                 cInfo[veh][cZ] = fZ;
  808.                 cInfo[veh][cA] = fA;
  809.                 return 1;
  810.             }
  811.         }
  812.     }
  813.     return 1;
  814. }
  815.  
  816.  
  817. ocmd:ferstellen(playerid,params[])
  818. {
  819.     if(IsPlayerAdmin(playerid))
  820.     {
  821.         for(new i = 0; i< MAX_GANGS; i++)
  822.         {
  823.             new Float:sx,Float:sy,Float:sz,nname[24],weap,skinnn,bul;
  824.             if(sscanf(params,"sddd",nname,weap,skinnn,bul))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/ferstellen [Name][WaffenID][SkinID][Cop 1 = Ja & 0 = Nein]");
  825.             {
  826.                 GetPlayerPos(playerid,sx,sy,sz);
  827.                 CreateFrak(nname,sx,sy,sz,weap,skinnn,100,100,100,100,100,100,bul);
  828.                 return 1;
  829.             }
  830.         }
  831.  
  832.     }
  833.     return 1;
  834. }
  835.  
  836. ocmd:floeschen(playerid,params[])
  837. {
  838.     for(new i = 0; i < MAX_GANGS; i++)
  839.     {
  840.         if(IsPlayerAdmin(playerid))
  841.         {
  842.             if(IsPlayerInRangeOfPoint(playerid,2.0,fInfo[i][SpawnX],fInfo[i][SpawnY],fInfo[i][SpawnZ]))
  843.             {
  844.                 new datei[128];
  845.                 format(datei,sizeof(datei),"/FrakSys/Fraks/%i.txt",i);
  846.                 if(fexist(datei))
  847.                 {
  848.                     dini_Remove(datei);
  849.                     KillFrak(i);
  850.                     printf("Fraktion: %d wurde Gelöscht.",i);
  851.                     return 1;
  852.                 }
  853.             }
  854.         }
  855.     }
  856.     return 1;
  857. }
  858.  
  859. ocmd:invite(playerid,params[])
  860. {
  861.     if(pInfo[playerid][FLeader] == 1)
  862.     {
  863.         new PID;
  864.         if(sscanf(params,"u",PID))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/invite [playerid]");
  865.         {
  866.             if(pInfo[PID][FID] == 0)
  867.             {
  868.                 SendClientMessage(PID,-1,"Du wurdest invitet!");
  869.                 pInfo[PID][FID] = pInfo[playerid][FID];
  870.                 pInfo[PID][Rang] = 1;
  871.                 SpawnPlayer(PID);
  872.             }
  873.             else
  874.             {
  875.                 SendClientMessage(playerid,rot,"**Dieser Spieler ist in einer Fraktion.");
  876.             }
  877.         }
  878.     }
  879.     else
  880.     {
  881.  
  882.     }
  883.     return 1;
  884. }
  885.  
  886. ocmd:uninvite(playerid,params[])
  887. {
  888.     if(pInfo[playerid][FLeader] == 1)
  889.     {
  890.         new PID;
  891.         if(sscanf(params,"u",PID))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/uninvite [playerid]");
  892.         {
  893.             new name[128];
  894.             GetPlayerName(playerid,name,sizeof(name));
  895.             new string[64];
  896.             format(string,sizeof(string),"**Du hast %s aus der Fraktion geworfen.",name);
  897.             SendClientMessage(playerid,blau,string);
  898.             SendClientMessage(PID,rot,"**Der Leader hat dich aus der Fraktion geworfen.");
  899.             if(pInfo[playerid][FID] == pInfo[PID][FID])
  900.             {
  901.                 pInfo[PID][FID] = 0;
  902.                 pInfo[PID][Rang] = 0;
  903.                 SpawnPlayer(PID);
  904.                 PlayerTextDrawHide(PID,frakname[PID]);
  905.             }
  906.             else
  907.             {
  908.                 SendClientMessage(playerid,rot,"**Dieser Spieler ist nicht in deiner Fraktion.");
  909.             }
  910.         }
  911.     }
  912.     return 1;
  913. }
  914.  
  915. ocmd:rang(playerid,params[])
  916. {
  917.     if(pInfo[playerid][FLeader] == 1)
  918.     {
  919.         new plid,rank;
  920.         if(sscanf(params,"ud",plid,rank))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/frank [playerid][Rang]");
  921.         {
  922.             if(pInfo[playerid][FID] == pInfo[plid][FID])
  923.             {
  924.                 pInfo[plid][Rang] = rank;
  925.                 PlayerTextDrawHide(playerid,frakname[plid]);
  926.                 new fstring[128];
  927.                 format(fstring,sizeof(fstring),"%s    Rang %d",fInfo[pInfo[plid][FID]][FName],pInfo[plid][Rang]);
  928.                 PlayerTextDrawSetString(plid,frakname[plid],fstring);
  929.                 PlayerTextDrawShow(plid,frakname[plid]);
  930.             }
  931.             else
  932.             {
  933.                 SendClientMessage(playerid,rot,"**Dieser Spieler ist nicht in deiner Fraktion.");
  934.             }
  935.         }
  936.     }
  937.     return 1;
  938. }
  939.  
  940.  
  941. ocmd:linvite(playerid,params[])
  942. {
  943.     if(IsPlayerAdmin(playerid))
  944.     {
  945.         for(new i = 0; i < MAX_GANGS; i++)
  946.         {
  947.             new PID,FIDi;
  948.             if(sscanf(params,"ud",PID,FIDi))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/linvite [playerid][Fraktionsid]");
  949.             {
  950.                 new name[128];
  951.                 GetPlayerName(playerid,name,sizeof(name));
  952.                 new string[128];
  953.                 format(string,sizeof(string),"**Du wurdest von %s zum Leader der: %s´s gemacht.",name,fInfo[FIDi][FName]);
  954.                 SendClientMessage(PID,blau,string);
  955.                 format(name,sizeof(name),"/FrakSys/Accounts/%s.txt",name);
  956.                 pInfo[PID][FID] = FIDi;
  957.                 pInfo[PID][FLeader] = 1;
  958.                 pInfo[PID][Rang] = 6;
  959.                 dini_IntSet(name,"FraktionsID",pInfo[PID][FID]);
  960.                 dini_IntSet(name,"FraktionsLeader",pInfo[PID][FLeader]);
  961.                 dini_IntSet(name,"Rang",pInfo[PID][Rang]);
  962.                 PlayerTextDrawHide(playerid,frakname[PID]);
  963.                 SpawnPlayer(PID);
  964.                 return 1;
  965.             }
  966.         }
  967.     }
  968.     return 1;
  969. }
  970.  
  971. ocmd:luninvite(playerid,params[])
  972. {
  973.     if(IsPlayerAdmin(playerid))
  974.     {
  975.         new PID;
  976.         if(sscanf(params,"u",PID))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/luninvite [playerid]");
  977.         {
  978.             SendClientMessage(PID,-1,"Du wurdest uninvitet!");
  979.             pInfo[PID][FLeader] = 0;
  980.             pInfo[PID][FID] = 0;
  981.             SpawnPlayer(PID);
  982.             PlayerTextDrawHide(PID,frakname[PID]);
  983.         }
  984.     }
  985.     return 1;
  986. }
  987.  
  988.  
  989.  
  990. ocmd:fauto(playerid,params[])
  991. {
  992.     new Float:fx,Float:fy,Float:fz,carid,frid,co1,co2,schild[24];
  993.     if(IsPlayerAdmin(playerid))
  994.     {
  995.         GetPlayerPos(playerid,fx,fy,fz);
  996.         if(sscanf(params,"dddds",carid,frid,co1,co2,schild))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/fauto [CarID][FraktionsID][Farbe1][Farbe2][Nummernschild]");
  997.         {
  998.             SetPlayerPos(playerid,fx,fy+2,fz);
  999.             CreateCar(carid,frid,co1,co2,fx,fy,fz,0.0,schild);
  1000.         }
  1001.     }
  1002.     return 1;
  1003. }
  1004.  
  1005.  
  1006. ocmd:faloeschen(playerid,params[])
  1007. {
  1008.     for(new i = 0; i < MAX_CARS;i++)
  1009.     {
  1010.         if(IsPlayerAdmin(playerid))
  1011.         {
  1012.             if(IsPlayerInVehicle(playerid,i))
  1013.             {
  1014.                 new datei[128];
  1015.                 format(datei,sizeof(datei),"/FrakSys/Cars/%i.txt",i);
  1016.                 dini_Remove(datei);
  1017.                 DestroyVehicle(i);
  1018.                 return 1;
  1019.             }
  1020.         }
  1021.     }
  1022.     return 1;
  1023. }
  1024.  
  1025. ocmd:fhelp(playerid,params[])
  1026. {
  1027.     SendClientMessage(playerid,gelb,"=========|fDynamic Gang Help|=========");
  1028.     SendClientMessage(playerid,-1,"Admin: /ferstellen /floeschen /fauto /faloeschen /linvite /luninvite");
  1029.     SendClientMessage(playerid,-1,"Leader: /invite /uninvite /rang");
  1030.     SendClientMessage(playerid,-1,"Member: /f ");
  1031.     SendClientMessage(playerid,-1,"Cop: /wa");
  1032.     SendClientMessage(playerid,gelb,"=========|fDynamic Gang Help|=========");
  1033.     return 1;
  1034. }
  1035.  
  1036. ocmd:wa(playerid,params[])
  1037. {
  1038.     if(fInfo[pInfo[playerid][FID]][Cops] == 1)
  1039.     {
  1040.         new PID,Grund[24],Anzahl;
  1041.         if(sscanf(params,"uds",PID,Anzahl,Grund))return SendClientMessage(playerid,-1,"{FF3034}Error: {FFFFFF}/wa [Id/Name][Anzahl][Grund]");
  1042.         {
  1043.             if(Anzahl >2)
  1044.             {
  1045.                 SendClientMessage(playerid,rot,"Du kannst nur 2 Wanteds geben.");
  1046.             }
  1047.             else
  1048.             {
  1049.                 if(GetPlayerWantedLevel(playerid) <6)
  1050.                 {
  1051.                     new name[128];
  1052.                     GetPlayerName(playerid,name,sizeof(name));
  1053.                     new string[128];
  1054.                     new string1[128];
  1055.                     format(string,sizeof(string),"Du hast von %s %d Wandets bekommen Grund|%s",name,Anzahl,Grund);
  1056.                     SendClientMessage(PID,rot,string);
  1057.                     new name2[128];
  1058.                     GetPlayerName(playerid,name2,sizeof(name2));
  1059.                     format(string1,sizeof(string1),"Du hast %s %d Wandets gegeben Grund|%s",name2,Anzahl,Grund);
  1060.                     SendClientMessage(playerid,rot,string1);
  1061.                     pInfo[PID][Wandets] = Anzahl;
  1062.                     SetPlayerWantedLevel(PID,GetPlayerWantedLevel(PID) +Anzahl);
  1063.                 }
  1064.                 else
  1065.                 {
  1066.                     SendClientMessage(playerid,rot,"Der Spieler hat 6 Wanteds.");
  1067.                 }
  1068.             }
  1069.         }
  1070.     }
  1071.     return 1;
  1072. }
  1073.  
  1074.  
  1075.  
  1076. stock CreateCar(cid,fid,c1,c2,Float:fvx,Float:fvy,Float:fvz,Float:fva,Nschild[24])
  1077. {
  1078.     new datei[128];
  1079.     for(new i = 0; i < MAX_CARS; i++)
  1080.     {
  1081.         format(datei,sizeof(datei),"/FrakSys/Cars/%i.txt",i);
  1082.         {
  1083.             if(!fexist(datei))
  1084.             {
  1085.                 dini_Create(datei);
  1086.                 dini_IntSet(datei,"CarID",cid);
  1087.                 dini_IntSet(datei,"FrakID",fid);
  1088.                 dini_IntSet(datei,"Color1",c1);
  1089.                 dini_IntSet(datei,"Color2",c2);
  1090.                 dini_FloatSet(datei,"PosX",fvx);
  1091.                 dini_FloatSet(datei,"PosY",fvy);
  1092.                 dini_FloatSet(datei,"PosZ",fvz);
  1093.                 dini_FloatSet(datei,"PosA",fva);
  1094.                 dini_Set(datei,"Nummernschild",Nschild);
  1095.                 return LoadCars(i);
  1096.             }
  1097.         }
  1098.     }
  1099.     return 1;
  1100. }
  1101.  
  1102.  
  1103. stock LoadCars(vehid)
  1104. {
  1105.     new datei[128];
  1106.     format(datei,sizeof(datei),"/FrakSys/Cars/%i.txt",vehid);
  1107.     {
  1108.         cInfo[vehid][CarID] = dini_Int(datei,"CarID");
  1109.         cInfo[vehid][FrakID] = dini_Int(datei,"FrakID");
  1110.         cInfo[vehid][Color1] = dini_Int(datei,"Color1");
  1111.         cInfo[vehid][Color2] = dini_Int(datei,"Color2");
  1112.         cInfo[vehid][cX] = dini_Float(datei,"PosX");
  1113.         cInfo[vehid][cY] = dini_Float(datei,"PosY");
  1114.         cInfo[vehid][cZ] = dini_Float(datei,"PosZ");
  1115.         cInfo[vehid][cA] = dini_Float(datei,"PosA");
  1116.         format(cInfo[vehid][NuSchild],24,"{000000}%s",dini_Get(datei,"Nummernschild"));
  1117.         cInfo[vehid][FrakID] = CreateVehicle(cInfo[vehid][CarID],cInfo[vehid][cX],cInfo[vehid][cY],cInfo[vehid][cZ],cInfo[vehid][cA],cInfo[vehid][Color1],cInfo[vehid][Color2],-1);
  1118.         SetVehicleNumberPlate(vehid,cInfo[vehid][NuSchild]);
  1119.     }
  1120.     return 1;
  1121. }
  1122.  
  1123.  
  1124.  
  1125.  
  1126. stock CreateFrak(Name[24],Float:x,Float:y,Float:z,Waffe,Skin,Mone1,Mone2,Mone3,Mone4,Mone5,Mone6,frcop)
  1127. {
  1128.     new datei[128];
  1129.     for(new i = 0; i < MAX_GANGS; i++)
  1130.     {
  1131.         format(datei,sizeof(datei),"/FrakSys/Fraks/%i.txt",i);
  1132.         {
  1133.             if(!fexist(datei))
  1134.             {
  1135.                 dini_Create(datei);
  1136.                 dini_Set(datei,"Name",Name);
  1137.                 dini_FloatSet(datei,"SpawnX",x);
  1138.                 dini_FloatSet(datei,"SpawnY",y);
  1139.                 dini_FloatSet(datei,"SpawnZ",z);
  1140.                 dini_IntSet(datei,"Waffe",Waffe);
  1141.                 dini_IntSet(datei,"Skin",Skin);
  1142.                 dini_IntSet(datei,"Rang1",Mone1);
  1143.                 dini_IntSet(datei,"Rang2",Mone2);
  1144.                 dini_IntSet(datei,"Rang3",Mone3);
  1145.                 dini_IntSet(datei,"Rang4",Mone4);
  1146.                 dini_IntSet(datei,"Rang5",Mone5);
  1147.                 dini_IntSet(datei,"Rang6",Mone6);
  1148.                 dini_IntSet(datei,"Cop",frcop);
  1149.                 return LoadFrak(i);
  1150.             }
  1151.         }
  1152.     }
  1153.     return 1;
  1154. }
  1155.  
  1156. stock LoadFrak(id)
  1157. {
  1158.     new datei[128];
  1159.     format(datei,sizeof(datei),"/FrakSys/Fraks/%i.txt",id);
  1160.     {
  1161.         format(fInfo[id][FName],24,"%s",dini_Get(datei,"Name"));
  1162.         fInfo[id][SpawnX] = dini_Float(datei,"SpawnX");
  1163.         fInfo[id][SpawnY] = dini_Float(datei,"SpawnY");
  1164.         fInfo[id][SpawnZ] = dini_Float(datei,"SpawnZ");
  1165.         fInfo[id][FWaffe] = dini_Int(datei,"Waffe");
  1166.         fInfo[id][FSkin] = dini_Int(datei,"Skin");
  1167.         fInfo[id][Mon1] = dini_Int(datei,"Rang1");
  1168.         fInfo[id][Mon2] = dini_Int(datei,"Rang2");
  1169.         fInfo[id][Mon3] = dini_Int(datei,"Rang3");
  1170.         fInfo[id][Mon4] = dini_Int(datei,"Rang4");
  1171.         fInfo[id][Mon5] = dini_Int(datei,"Rang5");
  1172.         fInfo[id][Mon6] = dini_Int(datei,"Rang6");
  1173.         fInfo[id][Cops] = dini_Int(datei,"Cop");
  1174.         fInfo[id][Pickup] = CreatePickup(1239,1,fInfo[id][SpawnX],fInfo[id][SpawnY],fInfo[id][SpawnZ],0);
  1175.         new string[128];
  1176.         format(string,sizeof(string),"{FF0023}Fraktions Spawn\n\n{FFFFFF}Fraktion: {FF0023}%s\n{FFFFFF}ID: {FF0023}%d",fInfo[id][FName],id);
  1177.         fInfo[id][Text] = Create3DTextLabel(string,-1,fInfo[id][SpawnX],fInfo[id][SpawnY],fInfo[id][SpawnZ],20,0,0);
  1178.  
  1179.     }
  1180.     return 1;
  1181. }
  1182.  
  1183.  
  1184. stock KillFrak(ids)
  1185. {
  1186.     DestroyPickup(fInfo[ids][Pickup]);
  1187.     Delete3DTextLabel(fInfo[ids][Text]);
  1188.     return 1;
  1189. }
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195. stock sscanf(sstring[], format[], {Float,_}:...)
  1196. {
  1197.     #if defined isnull
  1198.         if (isnull(sstring))
  1199.     #else
  1200.         if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  1201.     #endif
  1202.         {
  1203.             return format[0];
  1204.         }
  1205.     #pragma tabsize 4
  1206.     new
  1207.         formatPos = 0,
  1208.         sstringPos = 0,
  1209.         paramPos = 2,
  1210.         paramCount = numargs(),
  1211.         delim = ' ';
  1212.     while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  1213.     {
  1214.         sstringPos++;
  1215.     }
  1216.     while (paramPos < paramCount && sstring[sstringPos])
  1217.     {
  1218.         switch (format[formatPos++])
  1219.         {
  1220.             case '\0':
  1221.             {
  1222.                 return 0;
  1223.             }
  1224.             case 'i', 'd':
  1225.             {
  1226.                 new
  1227.                     neg = 1,
  1228.                     num = 0,
  1229.                     ch = sstring[sstringPos];
  1230.                 if (ch == '-')
  1231.                 {
  1232.                     neg = -1;
  1233.                     ch = sstring[++sstringPos];
  1234.                 }
  1235.                 do
  1236.                 {
  1237.                     sstringPos++;
  1238.                     if ('0' <= ch <= '9')
  1239.                     {
  1240.                         num = (num * 10) + (ch - '0');
  1241.                     }
  1242.                     else
  1243.                     {
  1244.                         return -1;
  1245.                     }
  1246.                 }
  1247.                 while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1248.                 setarg(paramPos, 0, num * neg);
  1249.             }
  1250.             case 'h', 'x':
  1251.             {
  1252.                 new
  1253.                     num = 0,
  1254.                     ch = sstring[sstringPos];
  1255.                 do
  1256.                 {
  1257.                     sstringPos++;
  1258.                     switch (ch)
  1259.                     {
  1260.                         case 'x', 'X':
  1261.                         {
  1262.                             num = 0;
  1263.                             continue;
  1264.                         }
  1265.                         case '0' .. '9':
  1266.                         {
  1267.                             num = (num << 4) | (ch - '0');
  1268.                         }
  1269.                         case 'a' .. 'f':
  1270.                         {
  1271.                             num = (num << 4) | (ch - ('a' - 10));
  1272.                         }
  1273.                         case 'A' .. 'F':
  1274.                         {
  1275.                             num = (num << 4) | (ch - ('A' - 10));
  1276.                         }
  1277.                         default:
  1278.                         {
  1279.                             return -1;
  1280.                         }
  1281.                     }
  1282.                 }
  1283.                 while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1284.                 setarg(paramPos, 0, num);
  1285.             }
  1286.             case 'c':
  1287.             {
  1288.                 setarg(paramPos, 0, sstring[sstringPos++]);
  1289.             }
  1290.             case 'f':
  1291.             {
  1292.  
  1293.                 new changestr[16], changepos = 0, strpos = sstringPos;
  1294.                 while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  1295.                 {
  1296.                     changestr[changepos++] = sstring[strpos++];
  1297.                     }
  1298.                 changestr[changepos] = '\0';
  1299.                 setarg(paramPos,0,_:floatstr(changestr));
  1300.             }
  1301.             case 'p':
  1302.             {
  1303.                 delim = format[formatPos++];
  1304.                 continue;
  1305.             }
  1306.             case '\'':
  1307.             {
  1308.                 new
  1309.                     end = formatPos - 1,
  1310.                     ch;
  1311.                 while ((ch = format[++end]) && ch != '\'') {}
  1312.                 if (!ch)
  1313.                 {
  1314.                     return -1;
  1315.                 }
  1316.                 format[end] = '\0';
  1317.                 if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  1318.                 {
  1319.                     if (format[end + 1])
  1320.                     {
  1321.                         return -1;
  1322.                     }
  1323.                     return 0;
  1324.                 }
  1325.                 format[end] = '\'';
  1326.                 sstringPos = ch + (end - formatPos);
  1327.                 formatPos = end + 1;
  1328.             }
  1329.             case 'u':
  1330.             {
  1331.                 new
  1332.                     end = sstringPos - 1,
  1333.                     id = 0,
  1334.                     bool:num = true,
  1335.                     ch;
  1336.                 while ((ch = sstring[++end]) && ch != delim)
  1337.                 {
  1338.                     if (num)
  1339.                     {
  1340.                         if ('0' <= ch <= '9')
  1341.                         {
  1342.                             id = (id * 10) + (ch - '0');
  1343.                         }
  1344.                         else
  1345.                         {
  1346.                             num = false;
  1347.                         }
  1348.                     }
  1349.                 }
  1350.                 if (num && IsPlayerConnected(id))
  1351.                 {
  1352.                     setarg(paramPos, 0, id);
  1353.                 }
  1354.                 else
  1355.                 {
  1356.                     #if !defined foreach
  1357.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1358.                         #define __SSCANF_FOREACH__
  1359.                     #endif
  1360.                     sstring[end] = '\0';
  1361.                     num = false;
  1362.                     new
  1363.                         name[MAX_PLAYER_NAME];
  1364.                     id = end - sstringPos;
  1365.                     foreach (Player, playerid)
  1366.                     {
  1367.                         GetPlayerName(playerid, name, sizeof (name));
  1368.                         if (!strcmp(name, sstring[sstringPos], true, id))
  1369.                         {
  1370.                             setarg(paramPos, 0, playerid);
  1371.                             num = true;
  1372.                             break;
  1373.                         }
  1374.                     }
  1375.                     if (!num)
  1376.                     {
  1377.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  1378.                     }
  1379.                     sstring[end] = ch;
  1380.                     #if defined __SSCANF_FOREACH__
  1381.                         #undef foreach
  1382.                         #undef __SSCANF_FOREACH__
  1383.                     #endif
  1384.                 }
  1385.                 sstringPos = end;
  1386.             }
  1387.             case 's', 'z':
  1388.             {
  1389.                 new
  1390.                     i = 0,
  1391.                     ch;
  1392.                 if (format[formatPos])
  1393.                 {
  1394.                     while ((ch = sstring[sstringPos++]) && ch != delim)
  1395.                     {
  1396.                         setarg(paramPos, i++, ch);
  1397.                     }
  1398.                     if (!i)
  1399.                     {
  1400.                         return -1;
  1401.                     }
  1402.                 }
  1403.                 else
  1404.                 {
  1405.                     while ((ch = sstring[sstringPos++]))
  1406.                     {
  1407.                         setarg(paramPos, i++, ch);
  1408.                     }
  1409.                 }
  1410.                 sstringPos--;
  1411.                 setarg(paramPos, i, '\0');
  1412.             }
  1413.             default:
  1414.             {
  1415.                 continue;
  1416.             }
  1417.         }
  1418.         while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  1419.         {
  1420.             sstringPos++;
  1421.         }
  1422.         while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  1423.         {
  1424.             sstringPos++;
  1425.         }
  1426.         paramPos++;
  1427.     }
  1428.     do
  1429.     {
  1430.         if ((delim = format[formatPos++]) > ' ')
  1431.         {
  1432.             if (delim == '\'')
  1433.             {
  1434.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  1435.             }
  1436.             else if (delim != 'z')
  1437.             {
  1438.                 return delim;
  1439.             }
  1440.         }
  1441.     }
  1442.     while (delim > ' ');
  1443.     return 0;
  1444. }
Advertisement
Add Comment
Please, Sign In to add comment