Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #pragma tabsize 0
- new sendfstring[200];
- #define SendFormatMessage(%1,%2,%3,%4) format(sendfstring,128,(%3),%4); SendClientMessage((%1), (%2) ,sendfstring)
- /*
- ** Enters-System
- ** Copyright (c) by Firerfan
- ** Lizenz: CC BY-NC-SA 3.0
- ** Informationen: http://creativecommons.org/licenses/by-nc-sa/3.0/de/
- ** Neue Eingänge hinzufügen
- 1. sucht "new enters"
- 2. öffnet eine weitere Klammer darunter und fügt folgende Daten ein:
- {Aussen_X,Aussen_Y,Aussen_Z,Innen_X,Innen_Y,Innen_Z,InteriorID,Virtuelle-Welt,"Text beim Enter-Pickup"}
- Bitte beachten: Hinter jedem Enter muss ein Komma sein, ausser bei dem letzten!
- 3. Server restarten & Benutzen ;)
- ** Kontakt:
- Skype: firerfan96
- E-Mail: firerfan@googlemail.com
- */
- //==============================================================================================
- // ALLGEMINE EINSTELLUNGEN
- #define MAX_ENTERS 1 // Auf die Anzahl der Einträge setzen
- #define E_COLOR 0x008080FF // Eure Farbe für die 3D-Texte an den Ein/Ausgängen
- new Float:E_Distance = 15.0; // Anzeigeweite des 3D-Textes
- new Float:E_enterdist = 1.0; // In welcher Reichweite man die Taste drücken muss
- new debugg = 1; // 0 = Kein Debugg | 1 = Debugg
- //==============================================================================================
- enum e_info
- {
- Float:a_x,
- Float:a_y,
- Float:a_z,
- Float:i_x,
- Float:i_y,
- Float:i_z,
- interior,
- world,
- etext[70]
- }
- //==============================================================================================
- // EIN- UND AUSGÄNGE
- new enters[MAX_ENTERS][e_info] = {
- {0.0,0.0,0.0, 0.0,0.0,0.0, 0,0,"Test"}
- };
- //==============================================================================================
- public OnFilterScriptInit()
- {
- if(debugg == 0)
- {
- #pragma unused sendfstring
- }
- print("\n--------------------------------------");
- print(" Enters-System by Firerfan");
- print("--------------------------------------\n");
- for(new i=0; i<MAX_ENTERS; i++)
- {
- CreatePickup(1239,1,enters[i][a_x],enters[i][a_y],enters[i][a_z],-1);
- CreatePickup(1239,1,enters[i][i_x],enters[i][i_y],enters[i][i_z],-1);
- Create3DTextLabel(enters[i][etext],E_COLOR,enters[i][a_x],enters[i][a_y],enters[i][a_z],E_Distance,enters[i][world]);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp(cmdtext,"/enter") || !strcmp(cmdtext,"/exit"))
- {
- SendClientMessage(playerid,E_COLOR,"** Nutze die Enter-Taste!");
- }
- return 0;
- }
- public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
- {
- if(newkeys == KEY_SECONDARY_ATTACK)
- {
- for(new i = 0;i<sizeof(enters);i++)
- {
- if(IsPlayerInRangeOfPoint(playerid,E_enterdist,enters[i][a_x],enters[i][a_y],enters[i][a_z]))
- {
- SetPlayerInterior(playerid,enters[i][interior]);
- SetPlayerVirtualWorld(playerid,enters[i][world]);
- SetPlayerPos(playerid,enters[i][i_x],enters[i][i_y],enters[i][i_z]);
- if(debugg == 1)
- {
- SendFormatMessage(playerid,E_COLOR,"[DEBUGG]: Enter mit der ID %d genutzt!",i);
- }
- }
- else if(IsPlayerInRangeOfPoint(playerid,E_enterdist,enters[i][i_x],enters[i][i_y],enters[i][i_z]) && GetPlayerVirtualWorld(playerid) == enters[i][world])
- {
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- SetPlayerPos(playerid,enters[i][a_x],enters[i][a_y],enters[i][a_z]);
- if(debugg == 1)
- {
- SendFormatMessage(playerid,E_COLOR,"[DEBUGG]: Enter mit der ID %d genutzt!",i);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement