ConfigChanger
server.cfg auslesen und bearbeiten
Beschreibung:
Mit diesem vom mir geschriebenem Plugin Names ConfigChanger ist es Möglich auf server.cfg Datei mit dem Server zuzugreifen und diese dann auszulesen und bearbeiten.
Somit hat man die Möglichkeit den Server gut an z.B. zeitliche Anforderungen anzupassen. Das ist nützlich bei dynamischen Systemen, oder einfach um kein Panel bedienen zu müssen.
Auch lassen sich somit maßgeschneiderte Spieler-Schleifen erstellen. Genau angepasst an die Limits des Servers.
Ein weiterer kleiner Nebeneffekt dieses Plugins ist, dass man sich so aus den Fesseln der Limits von den meisten Gameserververmietungen lösen kann. Ein Gameserver, der z.B. über ein Panel konfiguriert wird, und maximal 50 Slots mit 3 NPC´s zulässt, lässt sich mit diesem Plugin in wenigen Minuten auf 500 Slots mit 10 NPC´s hochschrauben. Wer dies macht, haftet selbst dafür, da dies nicht der eigentliche Sinn des Plugins ist.
Funktionen:
Das Plugin bietet derzeit nur 3 Funktionen. Diese sind:
- native InitializeConfigChange();
- native GetServerConfigData(data);
- native SetServerConfigData(data,const value[]);
Diese Defines lassen sich als nutzen:
- LANMODE
- INCARRATE
- PASSWORD
- STREAMRATE
- PORT
- ANNOUNCE
- WEAPONRATE
- ONFOOTRATE
- RCONPASSWORD
- QUERY
- WEBURL
- MAXPLAYERS
- MAXNPC
Benutzung:
Bevor die Funktionen genutzt werden können, muss das Plugin Initialisiert werden!
// CC Plugin by Hauke
native InitializeConfigChange();
/*
returns 0 if Plugin could not be initialized
returns 1 if Plugin had been initialized
returns -1 if Plugin is already initialized
*/
native GetServerConfigData(data);
/*
returns Value of Server Config file
returns -1 if internal File Error
returns -2 if Parameters are incorrect
returns -3 if Plugin is not initialized
*/
native SetServerConfigData(data,const value[]);
/*
returns 1 if Change was successfull
returns -1 if internal File Error
returns -2 if Parameters are incorrect
returns -3 if Plugins is not initialized
*/
#include <a_samp>
#include <h_cc>
main()
{
print("\n----------------------------------");
print(" CC Examplescript by Hauke");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("CC Examplescript");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp("/sendwarningtoallplayers", cmdtext))
{
for(new i=0;i<GetServerConfigData(MAXPLAYERS);i++) SendClientMessage(i,0xC2A2DAAA,"WARNING: This is an uncreative example text!");
return 1;
}
if (!strcmp("/changemaxplayers", cmdtext))
{
if(SetServerConfigData(MAXPLAYERS,"500")==1) return SendClientMessage(playerid,0xC2A2DAAA,"Maxplayers was successfully set to 500!");
return 1;
}
if (!strcmp("/changemaxnpc", cmdtext))
{
if(SetServerConfigData(MAXNPC,"10")==1) return SendClientMessage(playerid,0xC2A2DAAA,"Maxnpc was successfully set to 10!");
return 1;
}
return 0;
}
Hier habe ich noch ein schnell gemachtes Video, was euch zeigen soll, wie einfach und schnell es funktioniert.
[video='ConfigChanger Tutorial',center]
Für diejenigen, bei denen das Video nicht geht:
Geht auf solgenden Link: Klick mich Dort gebt ihr die URL des Videos ein: http://www.youtube.com/watch?v=RfYG2pu0nI4
Oder benutzt den direkten Link: Klick mich
Download: Klick mich
Sourcecode liegt der Datei bei.
Viel Spaß mit diesem Plugin. Feedback, Bugreports und Ideen für andere Plugins sind erwünscht.
Gruß Hauke
Edit 1+2: Layout..
Edit3: Ich habe vergesssen zu erwähnen, dass das Plugin im moment noch nur als DLL vorhanden ist.
Edit4: Videolink.