new bind[16];
GetServerVarAsString("bind", bind, sizeof(bind));
if(bind != ip12){
SendRconCommand("gmx");
}
else
{
//gamemode laden..
}
hoffe das reicht
Script Sperre
- Aquacold
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
if(!strcmp(bind , "ip12")){
SendRconCommand("gmx");
}
so^^ -
Er startet trotzdem <.<
Ganz oben:
#define ip12 "127.0.0.1"unter GameModeInit()
public OnGameModeInit()
{
new bind[16];
GetServerVarAsString("bind", bind, sizeof(bind));
if(!strcmp(bind , "ip12")){
SendRconCommand("gmx");
}
else
{ -
- Ohne Verschlüsselung/Hashen bringt dies garnichts, da Strings einfach in einer .amx Datei geändert werden können.
- Überprüfe, ob 'bind' NULL ist, da strcmp() 0 zurückgibt, wenn einer der Parameter NULL ist.
- Wenn du es lokal prüfst müsste es ja stimmen, da localhost 127.0.0.1 ist.
-
habe unter bind meine inet ip eingetragen
//Edit ich wills es derzeit nur testen, darum kein hashen o.Ä
und wie überprüfe ich das genau?
-
Kannst ja auch wie folgt vorgehen:
#define ip12 "127.0.0.1"#if !defined isnull
#define isnull(%1) \
((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endifpublic OnGameModeInit() {
new bind[16];
GetServerVarAsString("bind", bind, sizeof(bind));
if(isnull(bind) || strcmp(bind , "ip12")) {
SendRconCommand("exit");
} else {
// ... IPs stimmen überein.
}
} -
so, hier die include mit php script.
Kleiner Auszug der Readme:ZitatDanke an Tion der mich auf einen Fehler am Unfertigen PHP Script hinweisen wollte.
Die Include ist recht klein aber ReadyToUse, sollten sie die PhP Datei selbst niocht irgendwo hosten wollen, so ist mein Server voreingestellt, ansonsten kann dies in der Include selbst verändert werden.
Die Include im Script einbinden:
#include <DT_ScriptProtect>Und bei OnGamemodeInit den Server Testen lassen, den Rest macht die Include:
DT_ServerCheck("188.138.84.117:1339");// Bitte benutzen sie nur richtige Ips und keine domain ips wie: dark-trigardon.eu:1339 Bitte geben sie immer einen Port mit an, auch wenn dieser der Standart Port sein sollte.So Rar datei im Anhang
-
Eine .amx Datei kann man doch nicht mehr d-amxen wie das auch heisst, da kannste doch sicher sein? ?
-
Das von Campbell hat geklappt
ich frage mich warum er gmx nicht macht?
bei SendRconCommand("gmx"); startet das gamemode normal
bei SendRconCommand("exit"); stoppt der server normal..Wieso funkt gmx nicht?
Sniper: es geht darum, dass die nirgendswo verwendet wirdPS: Lasse gener Ordner auf meinen Webspaces offen bzw wo auch die Scripts drinne sind ( Backup) aber nur die .amx ..
// Ich korrigiere mich...
sogar bei 127.0.0.1 stoppt er
[16:45:35] Folgende IP wurde für dieses Script gesperrt: 127.0.0.1
Werde mal das von [DT]Sniper probieren
-
bei campel ist nen fehler drin, zudem muss bind in der servercfg eingetragen werden. den default ist das nicht in der servercfg.
hier der scriptfehler:
if(isnull(bind) || strcmp(bind , ip12)) { -
bei campel ist nen fehler drin, zudem muss bind in der servercfg eingetragen werden. den default ist das nicht in der servercfg.
Man möchte ja so oder so den Script nur selbst verwenden, daher ist es ja ein kleineres Übel, bind in die Config einzutragen. Und bei Weiterverbreitung an zB. Kunden muss man diese ja bereits über Plugins etc. in der server.cfg aufklären. Im gleichen Moment kann man über bind aufklären. Ansonsten kann man ebenfalls Fehlermeldungen ausgeben, falls bind NULL ist.hier der scriptfehler:
Richtig, danke für die Anmerkung. -
Hier hab das bei mir so:
//modeinit
LockServer("127.0.0.1", 7777);//funktion
stock LockServer(const ip[], const port)
{
new
varBind[16],
varPort
;
GetServerVarAsString("bind", varBind, sizeof(varBind));
varPort = GetServerVarAsInt("port");
print("\n ________________________________");
print(" Überprüfe Server und Port:");
if (!strcmp(varBind, ip, false) && varPort == port && strlen(varBind))
{
print(" - Server und Port ist richtig.");
}
else
{
if(!strlen(varBind)) print(" > Server bind existiert nicht in der Server.cfg");
printf(" > Server: %s Port: %d", varBind, varPort);
print(" - Server und Port ist falsch.");
mysql_close();
SendRconCommand("exit");
}
print(" ________________________________\n");
return 1;
} -
Man möchte ja so oder so den Script nur selbst verwenden, daher ist es ja ein kleineres Übel, bind in die Config einzutragen. Und bei Weiterverbreitung an zB. Kunden muss man diese ja bereits über Plugins etc. in der server.cfg aufklären. Im gleichen Moment kann man über bind aufklären. Ansonsten kann man ebenfalls Fehlermeldungen ausgeben, falls bind NULL ist.
jo ich sags nur, falls stuntx es vergessen haben sollte -
breadfish.de
Hat das Thema geschlossen.