DrPawn

Dr.Pawn´s TorSpritze(TorSystem)V0.1

Feb 5th, 2012
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.83 KB | None | 0 0
  1. //##############################################################################
  2. //## Dr.Pawn´s TorSpritze V0.1
  3. //##
  4. //## © by Dr.Pawn 2012 >>> Deine Medizin gegen Bugs Probleme,Erros und mehr  <<<
  5. //## >>>|Fragen und Probleme sowie Support per Skype: rspawnsupport |<<<
  6. //##Hinweis:Achtet unten bei den Stock auf die Variablen diese müsst ihr ändern!
  7. //##############################################################################
  8. #include <a_samp>                             // Danke an SAMP-Team
  9. #include <streamer>                          // Danke an Incognito
  10. #include <zcmd>                             // Dane an Zeex
  11. #define MapIconListe                       // Danke an Samp-Wiki                                       
  12. #define SCM SendClientMessage             // Abkürzung ;)
  13. #define rot 0xE10000FF                   // Farbe Rot mit FarbCode
  14. #define TORZUFARBE  0xE10000FF          // AktuelleFarbe:Rot Um das zu änder einfach anderen FarbeCode einfügen
  15. #define TORAUFFARBE  0x00FF46FF        // AktuelleFarbe:Grün
  16. #define TorError SCM(playerid,rot,"[Dr.Pawn sagt]Du darfst dieses Tor nicht öffnen.")// Sollte klar sein :D
  17. #define TORZUTEXT "Du nimmst deine Fernbedienung und schliest das Tor."         // Text bei Tor Zu
  18. #define TORAUFTEXT "Du nimmst deine Fernbedienung hervor und öffnest das Tor."  // Text bei Tor auf
  19. #define TOR_UMKREIS 7               // In Welchen Umkreis man beim Tor sein muss
  20. #define TORICON 1 // 1 = Zeigt auf der Map ein T Icon für Tor bei, 0 wird das ausgeschaltet
  21. #define MAX_TORE 2                 // Um Jedes Tor was hinzugefügt wird +1 setzen
  22. //##############################################################################
  23. //### Tor Enum                                                                ##
  24. //##############################################################################
  25. enum ToreInfo
  26. {
  27. objekt,// Objekt ID
  28. // Tor Auf Position
  29. Float:tapx,
  30. Float:tapy,
  31. Float:tapz,
  32. Float:taprx,
  33. Float:tapry,
  34. Float:taprz,
  35. // Tor Zu Position
  36. Float:tzpx,
  37. Float:tzpy,
  38. Float:tzpz,
  39. Float:tzprx,
  40. Float:tzpry,
  41. Float:tzprz,
  42. welt,// Virtuelle Welt
  43. interior,// Interior
  44. speed,// Geschwindigkeit wie schnell es auf gehen soll
  45. frakid,
  46. jobid
  47. };
  48. new DrTore[MAX_TORE];
  49. new DrTorIcon[MAX_TORE];
  50. new TorStatus[MAX_TORE];       // Variable für alle Tore um den Status abzufrage
  51. //{objektid,apx,apy,apz,apx,apy,apz,zpx,zpy,zpz,zprx,zpry,zprz,welt,interior,speed,frakid,jobid}
  52. new TorInfo[MAX_TORE][ToreInfo] = {
  53.  {0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,1,0,0},// Wichtig Das Lassen !!! ID : 0
  54.  {972,2180.8999023438,-1795.124, 2.39999961853,0.0, 0.0, 45.457,2182.8999023438, -1798.17844787, 12.39999961853,0.0, 0.0, 48.784,0,0,12,9,0}// Tor ID 1 == Große Tor
  55. };
  56.  
  57. //##############################################################################
  58. //## Publics                                                                  ##
  59. //##############################################################################
  60. public OnFilterScriptInit()
  61. {
  62.     for(new t;t<MAX_TORE>t++;)// Beim Laden Erstellt er alle Tor Objekte die oben angegeben sind
  63.     {
  64.         DrTore[t] = CreateDynamicObject(TorInfo[t][objekt],TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz],TorInfo[t][tzprx],TorInfo[t][tzpry],TorInfo[t][tzprz],-1);
  65.     }
  66. #if defined TORICON 1
  67.     for(new i;i<MAX_PLAYERS>i++;)
  68.     {
  69.         for(new t;t<MAX_TORE>t++;)
  70.         {
  71.             DrTorIcon[t] = SetPlayerMapIcon(i, 42,TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz], 52, 0,MAPICON_GLOBAL);
  72.         }
  73.     }
  74. #endif
  75.     CreateDynamicObject(3749, 2185.8999023438, -1776.3000488281, 18.200000762939, 0, 0, 0);// ClubGate
  76.     return 1;
  77. }
  78.  
  79. public OnFilterScriptExit()// Beim beenden des Scriptes löscht er alle Tor Objekte
  80. {
  81.     for(new t;t<MAX_TORE>t++;)
  82.     {
  83.         DestroyDynamicObject(DrTore[t]);
  84.  
  85.     }
  86. #if defined TORICON 1
  87.     for(new i;i<MAX_PLAYERS>i++;)
  88.     {
  89.         for(new t;t<MAX_TORE>t++;)
  90.         {
  91.             RemovePlayerMapIcon(i,DrTorIcon[t]);
  92.         }
  93.     }
  94. #endif
  95.     //RemovePlayerMapIcon( playerid,);
  96.     return 1;
  97. }
  98. //##############################################################################
  99. //### Stocks >>Stock Variablen an euer Script Anpassen                        ##
  100. //##############################################################################
  101. // Fragt ob die FrakID Variable aus dem Enum mit der angegebenen Tor ID ab ob diese So ist wieder Spieler es
  102. // hat Sprich: Steht oben unter FrakID 7 und hat der Spieler diesen Wert kann er das Tor öffnen.
  103. stock DrIstFrak(playerid,tid)
  104. {
  105.     if(TorInfo[tid][frakid]==GetPVarInt(playerid,"Fraktion"))return 1;
  106.     return 0;
  107.  
  108. }
  109. // Gleiche Erklärung wie oben nur mit JobVariable ;)
  110. stock DrHatJob(playerid,tid)
  111. {
  112.     if(TorInfo[tid][jobid]==GetPVarInt(playerid,"Job"))return 1;
  113.     return 0;
  114.  
  115. }
  116.  
  117. //##############################################################################
  118. //##  Tor Befehl                                                              ##
  119. //##############################################################################
  120. CMD:drtor(playerid,params[])// Unser Befehl womit wir alle Tore öffnen wollen
  121. {
  122.     for(new t;t<MAX_TORE>t++;)
  123.     {
  124.         if(IsPlayerInRangeOfPoint(playerid,TOR_UMKREIS,TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz]))
  125.         {
  126.             switch(TorStatus[t])
  127.             {
  128.                
  129.                 case 0: // Bei 0 == Tor ist zu wird nun auf Auf Position gesetzt
  130.                 {
  131.                     if(!DrHatJob(playerid,t) ||!DrIstFrak(playerid,t)){return TorError;}
  132.                     MoveDynamicObject(DrTore[t],TorInfo[t][tapx],TorInfo[t][tapy],TorInfo[t][tapz],TorInfo[t][speed],TorInfo[t][tzpry]);
  133.                     TorStatus[t]=1;
  134.                     SCM(playerid,TORAUFFARBE,TORAUFTEXT);return 1;
  135.                 }
  136.                 case 1:// Bei 1 == Tor ist Offen wird nun wieder auf die Zu Position gesetzt
  137.                 {
  138.                     if(!DrHatJob(playerid,t)||!DrIstFrak(playerid,t )){return TorError;}
  139.                     MoveDynamicObject(DrTore[t],TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz],TorInfo[t][speed],TorInfo[t][tapry]);
  140.                     TorStatus[t]=0;
  141.                     SCM(playerid,TORZUFARBE,TORZUTEXT);return 1;
  142.                 }
  143.                 default: {TorStatus[t]=0;return 1;}
  144.            
  145.             }
  146.             return 0;
  147.         }else{SCM(playerid,rot,"[Dr.Pawn sagt]Du bist bei keinem Tor in der nähe.");return 1;}
  148.     }
  149.     return 1;
  150. }
  151. // Test Befehle ;)
  152. CMD:tortest(playerid,params[]){SetPlayerPos(playerid,2178.2999023438,-1795.424, 12.39999961853);return 1;}
  153. CMD:dfrak(playerid,params[]){SetPVarInt(playerid,"Fraktion",0);return 1;}// Setzt FrakID auf 0
  154. CMD:frak(playerid,params[]){SetPVarInt(playerid,"Fraktion",9);return 1;}// Setzt FrakID zum Test auf 9
  155. CMD:job(playerid,params[]){SetPVarInt(playerid,"Job",2);return 1;}// Setzt JobID auf 2
  156. CMD:djob(playerid,params[]){SetPVarInt(playerid,"Job",0);return 1;}// Setzt JobID auf 0
  157. //##############################################################################
  158. //## Dr.Pawn Tor Spritze V 0.1 © by Dr.Pawn 2012                              ##
  159. //##############################################################################
Advertisement
Add Comment
Please, Sign In to add comment