Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //##############################################################################
- //## Dr.Pawn´s TorSpritze V0.1
- //##
- //## © by Dr.Pawn 2012 >>> Deine Medizin gegen Bugs Probleme,Erros und mehr <<<
- //## >>>|Fragen und Probleme sowie Support per Skype: rspawnsupport |<<<
- //##Hinweis:Achtet unten bei den Stock auf die Variablen diese müsst ihr ändern!
- //##############################################################################
- #include <a_samp> // Danke an SAMP-Team
- #include <streamer> // Danke an Incognito
- #include <zcmd> // Dane an Zeex
- #define MapIconListe // Danke an Samp-Wiki
- #define SCM SendClientMessage // Abkürzung ;)
- #define rot 0xE10000FF // Farbe Rot mit FarbCode
- #define TORZUFARBE 0xE10000FF // AktuelleFarbe:Rot Um das zu änder einfach anderen FarbeCode einfügen
- #define TORAUFFARBE 0x00FF46FF // AktuelleFarbe:Grün
- #define TorError SCM(playerid,rot,"[Dr.Pawn sagt]Du darfst dieses Tor nicht öffnen.")// Sollte klar sein :D
- #define TORZUTEXT "Du nimmst deine Fernbedienung und schliest das Tor." // Text bei Tor Zu
- #define TORAUFTEXT "Du nimmst deine Fernbedienung hervor und öffnest das Tor." // Text bei Tor auf
- #define TOR_UMKREIS 7 // In Welchen Umkreis man beim Tor sein muss
- #define TORICON 1 // 1 = Zeigt auf der Map ein T Icon für Tor bei, 0 wird das ausgeschaltet
- #define MAX_TORE 2 // Um Jedes Tor was hinzugefügt wird +1 setzen
- //##############################################################################
- //### Tor Enum ##
- //##############################################################################
- enum ToreInfo
- {
- objekt,// Objekt ID
- // Tor Auf Position
- Float:tapx,
- Float:tapy,
- Float:tapz,
- Float:taprx,
- Float:tapry,
- Float:taprz,
- // Tor Zu Position
- Float:tzpx,
- Float:tzpy,
- Float:tzpz,
- Float:tzprx,
- Float:tzpry,
- Float:tzprz,
- welt,// Virtuelle Welt
- interior,// Interior
- speed,// Geschwindigkeit wie schnell es auf gehen soll
- frakid,
- jobid
- };
- new DrTore[MAX_TORE];
- new DrTorIcon[MAX_TORE];
- new TorStatus[MAX_TORE]; // Variable für alle Tore um den Status abzufrage
- //{objektid,apx,apy,apz,apx,apy,apz,zpx,zpy,zpz,zprx,zpry,zprz,welt,interior,speed,frakid,jobid}
- new TorInfo[MAX_TORE][ToreInfo] = {
- {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
- {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
- };
- //##############################################################################
- //## Publics ##
- //##############################################################################
- public OnFilterScriptInit()
- {
- for(new t;t<MAX_TORE>t++;)// Beim Laden Erstellt er alle Tor Objekte die oben angegeben sind
- {
- 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);
- }
- #if defined TORICON 1
- for(new i;i<MAX_PLAYERS>i++;)
- {
- for(new t;t<MAX_TORE>t++;)
- {
- DrTorIcon[t] = SetPlayerMapIcon(i, 42,TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz], 52, 0,MAPICON_GLOBAL);
- }
- }
- #endif
- CreateDynamicObject(3749, 2185.8999023438, -1776.3000488281, 18.200000762939, 0, 0, 0);// ClubGate
- return 1;
- }
- public OnFilterScriptExit()// Beim beenden des Scriptes löscht er alle Tor Objekte
- {
- for(new t;t<MAX_TORE>t++;)
- {
- DestroyDynamicObject(DrTore[t]);
- }
- #if defined TORICON 1
- for(new i;i<MAX_PLAYERS>i++;)
- {
- for(new t;t<MAX_TORE>t++;)
- {
- RemovePlayerMapIcon(i,DrTorIcon[t]);
- }
- }
- #endif
- //RemovePlayerMapIcon( playerid,);
- return 1;
- }
- //##############################################################################
- //### Stocks >>Stock Variablen an euer Script Anpassen ##
- //##############################################################################
- // Fragt ob die FrakID Variable aus dem Enum mit der angegebenen Tor ID ab ob diese So ist wieder Spieler es
- // hat Sprich: Steht oben unter FrakID 7 und hat der Spieler diesen Wert kann er das Tor öffnen.
- stock DrIstFrak(playerid,tid)
- {
- if(TorInfo[tid][frakid]==GetPVarInt(playerid,"Fraktion"))return 1;
- return 0;
- }
- // Gleiche Erklärung wie oben nur mit JobVariable ;)
- stock DrHatJob(playerid,tid)
- {
- if(TorInfo[tid][jobid]==GetPVarInt(playerid,"Job"))return 1;
- return 0;
- }
- //##############################################################################
- //## Tor Befehl ##
- //##############################################################################
- CMD:drtor(playerid,params[])// Unser Befehl womit wir alle Tore öffnen wollen
- {
- for(new t;t<MAX_TORE>t++;)
- {
- if(IsPlayerInRangeOfPoint(playerid,TOR_UMKREIS,TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz]))
- {
- switch(TorStatus[t])
- {
- case 0: // Bei 0 == Tor ist zu wird nun auf Auf Position gesetzt
- {
- if(!DrHatJob(playerid,t) ||!DrIstFrak(playerid,t)){return TorError;}
- MoveDynamicObject(DrTore[t],TorInfo[t][tapx],TorInfo[t][tapy],TorInfo[t][tapz],TorInfo[t][speed],TorInfo[t][tzpry]);
- TorStatus[t]=1;
- SCM(playerid,TORAUFFARBE,TORAUFTEXT);return 1;
- }
- case 1:// Bei 1 == Tor ist Offen wird nun wieder auf die Zu Position gesetzt
- {
- if(!DrHatJob(playerid,t)||!DrIstFrak(playerid,t )){return TorError;}
- MoveDynamicObject(DrTore[t],TorInfo[t][tzpx],TorInfo[t][tzpy],TorInfo[t][tzpz],TorInfo[t][speed],TorInfo[t][tapry]);
- TorStatus[t]=0;
- SCM(playerid,TORZUFARBE,TORZUTEXT);return 1;
- }
- default: {TorStatus[t]=0;return 1;}
- }
- return 0;
- }else{SCM(playerid,rot,"[Dr.Pawn sagt]Du bist bei keinem Tor in der nähe.");return 1;}
- }
- return 1;
- }
- // Test Befehle ;)
- CMD:tortest(playerid,params[]){SetPlayerPos(playerid,2178.2999023438,-1795.424, 12.39999961853);return 1;}
- CMD:dfrak(playerid,params[]){SetPVarInt(playerid,"Fraktion",0);return 1;}// Setzt FrakID auf 0
- CMD:frak(playerid,params[]){SetPVarInt(playerid,"Fraktion",9);return 1;}// Setzt FrakID zum Test auf 9
- CMD:job(playerid,params[]){SetPVarInt(playerid,"Job",2);return 1;}// Setzt JobID auf 2
- CMD:djob(playerid,params[]){SetPVarInt(playerid,"Job",0);return 1;}// Setzt JobID auf 0
- //##############################################################################
- //## Dr.Pawn Tor Spritze V 0.1 © by Dr.Pawn 2012 ##
- //##############################################################################
Advertisement
Add Comment
Please, Sign In to add comment