Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ---------------------------------------------------------------------------
- Credits
- Dieses script wurde komplett von mir "Fußboden aka Basti"
- das entfernen der credits ist nicht erlaubt!
- ---------------------------------------------------------------------------
- PPPPPPPPPPPP OOOOOOOOOO RRRRRRRRRRR TTTTTTTTTTTT
- PPPPPPPPPPPP OO OO RRRRRRRRRRR TTTTTTTTTTTT
- PP PP OO OO RR RR TT
- PP PP OO OO RR RR TT
- PPPPPPPPPPPP OO OO RRRRRRRRRRR TT
- PPPPPPPPPPPP OO OO RRRRRRRRRRR TT
- PP OO OO RR RR TT
- PP OO OO RR RR TT
- PP OO OO RR RR TT OO
- PP OOOOOOOOOO RR RR TT OO
- */
- //===================================[ Include ] ====================================//
- #include <a_samp>
- #include <dini>
- //===================================[ Defin´s ] ====================================//
- #define IsAdmin(%0,%1);\
- new AccountString[50],spielername[MAX_PLAYER_NAME],Level[MAX_PLAYER_NAME];\
- GetPlayerName(%0,spielername,sizeof(spielername));\
- format(AccountString,sizeof AccountString,"%s%s.ini",UserFolder,spielername);\
- Level[%0] = dini_Int(AccountString,"AdminLevel");\
- if(%1 > Level[%0])\
- {\
- SendClientMessage(%0, COLOR_RED, "Du bist kein Administrator.");\
- return 1;\
- }
- #define Command(%0) if(strcmp(cmd,"/"%0, true) == 0)
- //vorsicht dialogid´s müssen angepasst werden... wenn sie schon verwendet werden bei euch
- #define DIA_GetHere 9993
- #define Portung 9994
- #define ListPortung 9995
- #define GotoPlayer 9996
- #define SendTo 9997
- #define SendToPositioneZwei 9998
- #define AllePorten 9999
- #define Dynamic_Command 10000
- #define DynamicList 10001
- #define Dynamic_CommandCreate 10002
- #define Dynamic_FolderSystem 10003
- #define ALLPICKUPS 10004
- #define Dynamic_LevelGoto 10005
- #define Dynamic_LevelCreate 10006
- #define PICKUP_NAME 33
- #define PICKUP_LIST 34
- #define Pickup_Dellet 35
- #define Pickup_Model 36
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define Folder "/Ports/%d.ini"//hier könnt ihr denn ordner ändern
- #define MAXMIALEPORTS 50 //hier könnt ihr die maximale anzahl der port datein bearbeitung zurzeit ist sie auf 50
- new PortCommand[MAX_PLAYER_NAME];
- new CreateCommand[MAX_PLAYER_NAME];
- new UserFolder[MAX_PLAYER_NAME];
- new AdminLevelGoto,
- CreateLevel;
- enum PInfo
- {
- Float:PortX,Float:PortY,Float:PortZ,Beschreibung[MAX_PLAYER_NAME],VWID,IntID,
- };
- new PortInfo[MAXMIALEPORTS][PInfo];
- new SendToPosition[MAX_PLAYER_NAME];
- //===================================[ Funktionen ] ====================================//
- stock EPortingOnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256],string[245],idx,StringCreate[60],PortString[60];
- cmd = strtok2(cmdtext, idx);
- Command("Settings")
- {
- ShowPlayerDialog(playerid, DynamicList, DIALOG_STYLE_LIST, "Setting System", "Port Command Setzen\nErstellungs Command Setzen\nSpieler Verzeichnis festlegen\nPort Command AdminLevel Setzen\nCreate Command AdminLevel Setzen\nStatistik einsehen\n", "Auswählen", "Abbrechen");
- return 1;
- }
- format(PortString, sizeof(PortString), "/%s",PortCommand);
- if(strcmp(cmd,PortString, true) == 0)
- //Command(PortString)
- {
- IsAdmin(playerid,AdminLevelGoto);
- ShowPlayerDialog(playerid,ListPortung,DIALOG_STYLE_LIST,"Dynamic Port","Zu Punkt Porten\nZu Spieler Porten\nSpieler An Punkt Porten\nSpieler Herporten\nAlle Spieler Porten\nAlle Spieler zu mir Porten\n","Weiter","Abbrechen");
- return 1;
- }
- format(StringCreate, sizeof(StringCreate), "/%s",CreateCommand);
- if(strcmp(cmd,StringCreate, true) == 0)
- {
- IsAdmin(playerid,CreateLevel);
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_RED, "[Text Fehlt]");
- return 1;
- }
- format(string, sizeof(string), "Port Text: %s", (result));
- SendClientMessage(playerid,COLOR_YELLOW,string);
- //format(string, sizeof(string), "%s", (result));
- format(string, sizeof(string), "%s", (result));
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid,X,Y,Z);
- new id = NexterPort();
- format(string, sizeof(string),Folder, id);
- dini_Create(string);
- PortInfo[id][PortX] = X;
- PortInfo[id][PortY] = Y;
- PortInfo[id][PortZ] = Z;
- new intid = GetPlayerInterior(playerid),VW = GetPlayerVirtualWorld(playerid);
- PortInfo[id][IntID] = intid;
- PortInfo[id][VWID] = VW;
- strmid(PortInfo[id][Beschreibung] , result, 0, strlen(result), 32);
- SendClientMessage(playerid,COLOR_GREEN,"Port Erfolgreich erstellt");
- SavePorts();
- return 1;
- }
- return 0;
- }
- stock EPortingOnGameModeInit()
- {
- LoadConfig();
- LoadPorts();
- new DateiString[50];
- format(DateiString,sizeof DateiString,"/Ports/config.ini");
- if(dini_Exists(DateiString))
- {}else {dini_Create(DateiString);}
- print("Elite Port System Copyright by Basti aka Fussboden");
- return 0;
- }
- stock EPortingOnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new Name[MAX_PLAYER_NAME],DynamicID = listitem;
- new idx;
- if(dialogid == ListPortung)
- {
- if(response)
- {
- new DynamicString[600];
- if(listitem == 0)
- {
- new PickupD = NexterPort();
- for(new ID = 0; ID < PickupD; ID++)
- {format(DynamicString, sizeof(DynamicString), "%s\nBeschreibung: %s ID: %d\n",DynamicString,PortInfo[ID][Beschreibung],ID);}
- ShowPlayerDialog(playerid,Portung,DIALOG_STYLE_LIST,"Dynamic Port",DynamicString,"Weiter","Abbrechen");
- return 1;
- }
- if(listitem == 1)
- {
- for(new ID = 0; ID < MAX_PLAYERS; ID++)
- {
- if(IsPlayerConnected(ID))
- {
- GetPlayerName(ID,Name,sizeof(Name));format(DynamicString, sizeof(DynamicString), "%s\nName: %s ID: %d\n",DynamicString,Name,ID);
- }
- }
- ShowPlayerDialog(playerid,GotoPlayer,DIALOG_STYLE_LIST,"Dynamic Port",DynamicString,"Porten","Abbrechen");
- }
- if(listitem == 2)
- {
- for(new ID = 0; ID < MAX_PLAYERS; ID++)
- {
- if(IsPlayerConnected(ID))
- {
- GetPlayerName(ID,Name,sizeof(Name));format(DynamicString, sizeof(DynamicString), "%s\nName: %s ID: %d\n",DynamicString,Name,ID);
- }
- }
- ShowPlayerDialog(playerid,SendTo,DIALOG_STYLE_LIST,"Dynamic Port",DynamicString,"Porten","Abbrechen");
- }
- if(listitem == 3)
- {
- for(new ID = 0; ID < MAX_PLAYERS; ID++)
- {
- if(IsPlayerConnected(ID))
- {
- GetPlayerName(ID,Name,sizeof(Name));
- format(DynamicString, sizeof(DynamicString), "%s\nName: %s ID: %d",DynamicString,Name,ID);
- }
- }
- ShowPlayerDialog(playerid,DIA_GetHere,DIALOG_STYLE_LIST,"Dynamic Port",DynamicString,"Porten","Abbrechen");
- }
- if(listitem == 4)
- {
- for(new ID = 0; ID < NexterPort(); ID++)
- {format(DynamicString, sizeof(DynamicString), "%s\nBeschreibung: %s ID: %d\n",DynamicString,PortInfo[ID][Beschreibung],ID);}
- ShowPlayerDialog(playerid,AllePorten,DIALOG_STYLE_LIST,"Dynamic Port",DynamicString,"Weiter","Abbrechen");
- }
- if(listitem == 5)
- {
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid,X,Y,Z);
- new InteriorID = GetPlayerInterior(playerid),VW = GetPlayerVirtualWorld(playerid);
- for(new ID = 0; ID < MAX_PLAYERS; ID++)
- {
- SetPlayerInterior(ID,InteriorID);
- SetPlayerVirtualWorld(ID,VW);
- SetPlayerPos(ID,X,Y,Z);
- }
- }
- }
- }
- if(dialogid == DIA_GetHere)
- {
- if(!response){return 1;}
- new Float:X,Float:Y,Float:Z,pID = listitem;
- GetPlayerPos(playerid,X,Y,Z);SetPlayerPos(pID,X,Y, Z);
- new InteriorID = GetPlayerInterior(playerid),VW = GetPlayerVirtualWorld(playerid);
- SetPlayerInterior(pID,InteriorID);SetPlayerVirtualWorld(pID,VW);
- }
- if(dialogid == AllePorten)
- {
- if(!response){return 1;}
- for(new ID = 0; ID < MAX_PLAYERS; ID++)
- {
- SetPlayerInterior(ID,PortInfo[DynamicID][IntID]); SetPlayerVirtualWorld(ID,PortInfo[DynamicID][VWID]);
- SetPlayerPos(ID,PortInfo[DynamicID][PortX],PortInfo[DynamicID][PortY],PortInfo[DynamicID][PortZ]);
- }
- }
- if(dialogid == SendTo)
- {
- if(response)
- {
- new DynamicString[500],PickupD = NexterPort();
- SendToPosition[playerid] = listitem;
- for(new ID = 0; ID < PickupD; ID++)
- {format(DynamicString, sizeof(DynamicString), "%s\nBeschreibung: %s ID: %d\n",DynamicString,PortInfo[ID][Beschreibung],ID);}
- ShowPlayerDialog(playerid,SendToPositioneZwei,DIALOG_STYLE_LIST,"Dynamic Port",DynamicString,"Weiter","Abbrechen");
- }
- }
- if(dialogid == SendToPositioneZwei)
- {
- if(!response) {return 1;}
- SetPlayerInterior(SendToPosition[playerid],PortInfo[DynamicID][IntID]);
- SetPlayerVirtualWorld(SendToPosition[playerid],PortInfo[DynamicID][VWID]);
- SetPlayerPos(SendToPosition[playerid],PortInfo[DynamicID][PortX],PortInfo[DynamicID][PortY],PortInfo[DynamicID][PortZ]);
- }
- if(dialogid == GotoPlayer)
- {
- if(!response) {return 1;}
- new pID = listitem;
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(pID,X,Y,Z);
- SetPlayerPos(playerid,X,Y,Z);
- new InteriorID = GetPlayerInterior(pID),VW = GetPlayerVirtualWorld(pID);
- SetPlayerInterior(playerid,InteriorID);SetPlayerVirtualWorld(playerid,VW);
- }
- if(dialogid == Portung)
- {
- if(!response) {return 1;}
- SetPlayerInterior(playerid,PortInfo[DynamicID][IntID]);
- SetPlayerVirtualWorld(playerid,PortInfo[DynamicID][VWID]);
- SetPlayerPos(playerid,PortInfo[DynamicID][PortX],PortInfo[DynamicID][PortY],PortInfo[DynamicID][PortZ]);
- }
- if(dialogid == DynamicList)
- {
- if(!response) {return 1;}
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid,Dynamic_Command,DIALOG_STYLE_INPUT,"Elite Setting System","Tippe denn befehl ein Achtung: ohne / !","Absenden","Verlassen");
- }
- if(listitem == 1)
- {
- ShowPlayerDialog(playerid,Dynamic_CommandCreate,DIALOG_STYLE_INPUT,"Elite Setting System","Tippe denn befehl ein Achtung: ohne / !","Absenden","Verlassen");
- }
- if(listitem == 2)
- {
- ShowPlayerDialog(playerid,Dynamic_FolderSystem,DIALOG_STYLE_INPUT,"Elite Setting System","Tippe denn Ordner ein Achtung: Im format von: zb /Accounts/ ","Absenden","Verlassen");
- }
- if(listitem == 3)
- {
- ShowPlayerDialog(playerid,Dynamic_LevelGoto,DIALOG_STYLE_INPUT,"Elite Setting System","Tippe das neue Adminlevel ein!","Absenden","Verlassen");
- }
- if(listitem == 4)
- {
- ShowPlayerDialog(playerid,Dynamic_LevelCreate,DIALOG_STYLE_INPUT,"Elite Setting System","Tippe das neue Adminlevel ein!","Absenden","Verlassen");
- }
- if(listitem == 5)
- {
- new string[245];
- new DateiString[50];
- format(DateiString,sizeof DateiString,"/Ports/config.ini");
- format(string, sizeof(string), "User Verzeichnis:%s\nPort Befehl: %s\nErsellungs Befehl: %s\nPort AdminLevel: %d\nErstellungs Befehl AdminLevel:%d",UserFolder,PortCommand,CreateCommand,AdminLevelGoto,CreateLevel);
- ShowPlayerDialog(playerid,DynamicList,DIALOG_STYLE_MSGBOX,"Statistik System",string,"Ok","");
- }
- }
- if(dialogid == Dynamic_Command)
- {
- if(response)
- {
- new length = strlen(inputtext),offset = idx,result[64],CommandString[100];
- while ((idx < length) && (inputtext[idx] <= ' '))
- {idx++;}
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {result[idx - offset] = inputtext[idx];idx++;}
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_RED, "[FEHLER]");return 1;
- }
- strmid(PortCommand , result, 0, strlen(result), 32);
- format(CommandString, sizeof(CommandString), "Befehl auf : /%s gesetzt", (result));
- SendClientMessage(playerid,COLOR_WHITE,CommandString);
- SaveConfig();
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "System Verlassen");
- }
- return 1;
- }
- if(dialogid == Dynamic_CommandCreate)
- {
- if(response)
- {
- new length = strlen(inputtext),offset = idx,result[64],CommandString[100];
- while ((idx < length) && (inputtext[idx] <= ' '))
- {idx++;}
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {result[idx - offset] = inputtext[idx];idx++;}
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_RED, "[FEHLER]");
- return 1;
- }
- strmid(CreateCommand , result, 0, strlen(result), 32);
- format(CommandString, sizeof(CommandString), "Befehl auf : /%s gesetzt", (result));
- SendClientMessage(playerid,COLOR_WHITE,CommandString);
- SaveConfig();
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "System Verlassen");
- }
- return 1;
- }
- if(dialogid == Dynamic_FolderSystem)
- {
- if(response)
- {
- new length = strlen(inputtext),offset = idx,result[64],CommandString[100];
- while ((idx < length) && (inputtext[idx] <= ' '))
- {idx++;}
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {result[idx - offset] = inputtext[idx];idx++;}
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_RED, "[FEHLER]");
- return 1;
- }
- strmid(UserFolder , result, 0, strlen(result), 32);
- format(CommandString, sizeof(CommandString), "User Verzeichnis auf : %s gesetzt", (result));
- SendClientMessage(playerid,COLOR_WHITE,CommandString);
- SaveConfig();
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "System Verlassen");
- }
- return 1;
- }
- if(dialogid == Dynamic_LevelGoto)
- {
- new tmp[50],string[50];
- tmp = strtok2(inputtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_YELLOW, "[Adminlevel]");return 1;
- }
- AdminLevelGoto = strval(tmp);
- format(string, sizeof(string), "Port Befehl auf Adminlevel %d Gesetzt",strval(tmp));
- SendClientMessage(playerid,COLOR_GREEN,string);
- SaveConfig();
- }
- if(dialogid == Dynamic_LevelCreate)
- {
- new tmp[50],string[50];
- tmp = strtok2(inputtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_YELLOW, "[Adminlevel]");
- return 1;
- }
- CreateLevel = strval(tmp);
- format(string, sizeof(string), "Erstellungs Befehl auf Adminlevel %d Gesetzt",strval(tmp));
- SendClientMessage(playerid,COLOR_GREEN,string);
- SaveConfig();
- }
- #pragma unused inputtext
- return 1;
- }
- stock strtok2(const string[], &index)
- {
- new length = strlen(string),offset = index,result[20];
- while ((index < length) && (string[index] <= ' '))
- {index++;}
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock LoadConfig()
- {
- new DateiString[70];
- format(DateiString,sizeof DateiString,"/Ports/config.ini");
- if(dini_Exists(DateiString))
- {
- strmid(PortCommand,dini_Get(DateiString,"PortCommandTest"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
- strmid(CreateCommand,dini_Get(DateiString,"CreateCommandTest"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
- strmid(UserFolder,dini_Get(DateiString,"UserFolderTest"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
- AdminLevelGoto = dini_Int(DateiString,"AdminLevelGoto");
- CreateLevel = dini_Int(DateiString,"CreateLevel");
- print("Config System Loaded");
- }else print("/Ports/config.ini ist nicht vorhanden!");
- return 1;
- }
- stock SaveConfig()
- {
- new DateiString[128];
- format(DateiString,sizeof DateiString,"/Ports/config.ini");
- dini_Set(DateiString,"PortCommandTest",PortCommand);
- dini_Set(DateiString,"CreateCommandTest",CreateCommand);
- dini_Set(DateiString,"UserFolderTest",UserFolder);
- dini_IntSet(DateiString,"AdminLevelGoto",AdminLevelGoto);
- dini_IntSet(DateiString,"CreateLevel",CreateLevel);
- return 1;
- }
- stock LoadPorts()
- {
- new DateiString[70];
- for(new ID = 0; ID < sizeof(PortInfo); ID++)
- {
- format(DateiString, sizeof(DateiString), Folder, ID);
- if(dini_Exists(DateiString))
- {
- PortInfo[ID][PortX] = dini_Float(DateiString, "PortX");
- PortInfo[ID][PortY] = dini_Float(DateiString, "PortY");
- PortInfo[ID][PortZ] = dini_Float(DateiString, "PortZ");
- PortInfo[ID][IntID] = dini_Int(DateiString, "IntID");
- PortInfo[ID][VWID] = dini_Int(DateiString, "VWID");
- strmid(PortInfo[ID][Beschreibung],dini_Get(DateiString,"Beschreibung"),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
- }
- }
- return 1;
- }
- stock SavePorts()
- {
- new DateiString[50];
- for(new ID = 0; ID < sizeof(PortInfo); ID++)
- {
- format(DateiString, sizeof(DateiString), Folder, ID);
- if(dini_Exists(DateiString))
- {
- dini_FloatSet(DateiString,"PortX", PortInfo[ID][PortX]);
- dini_FloatSet(DateiString,"PortY", PortInfo[ID][PortY]);
- dini_FloatSet(DateiString,"PortZ", PortInfo[ID][PortZ]);
- dini_Set(DateiString,"Beschreibung",PortInfo[ID][Beschreibung]);
- dini_FloatSet(DateiString,"IntID", PortInfo[ID][IntID]);
- dini_FloatSet(DateiString,"VWID", PortInfo[ID][VWID]);
- }
- }
- return 1;
- }
- stock NexterPort()
- {
- new ID[64]; for(new h = 0; h <= 200; h++){
- format(ID, sizeof(ID), Folder, h);if(!dini_Exists(ID)) return h; }return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement