ICy.
Die Registration ist nun ausgeschaltet für leute die sich Registrieren wollen aber wie mache ich das das leute die einen Account haben sich tzd. einloggen können?
Beiträge von The Sensei
-
-
Ja wie setze ich das?
ICy. -
Würde es so funktionieren?
Man soll es ja an oder Ausschalten können?ICy.
ocmd:togregister(playerid)
{
if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 6.");
new string[128];
if(togregister == false)
{
format(string,sizeof(string),"Die Registrierung wurde von %s ausgeschaltet. Man kann sich im moment nicht Registrieren.",Name(playerid));
SendClientMessageToAll(ROT,string);
}
else
{
format(string,sizeof(string),"Die Registrierung wurde von %s freigegeben. Man kann sich nun wieder Registrieren.",Name(playerid));
SendClientMessageToAll(GRÜN,string);
}
return 1;
} -
Kannst du mir boolean erklären?
-
Guten Tag,
ich habe 2 fragen.
Vorab habe ich mir ein System gescriptet welches mir erlaubt die Registrierung abzuschalten.
Ich habe KEINE fehler etc.
Er führt es Ingame auch aus aber wenn ich Connecte passiert nichts.
public OnPlayerRequestClass(playerid, classid)
{
if(GetPVarInt(playerid,"togregister")==1)
{
ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Registrierung","Die Registrier Funktion ist derzeitig ausgeschaltet.\nSollten sie einen Account haben so melden sie sich mit diesem an.","","");
SetTimerEx("Gebannt",1450,false,"i",playerid);
}
if(GetPVarInt(playerid,"Baned")==1)
{
ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Account Gesperrt","Dieser Account wurde Gesperrt mit diesem kann nicht mehr gespielt werden.\nSollte dies nicht dein Account sein nimm einen Anderen Namen","","");
SetTimerEx("Gebannt",1450,false,"i",playerid);
}
new pfad[64];GetPlayerName(playerid,pname[playerid],MAX_PLAYER_NAME);
format(pfad,64,"/Accounts/%s.txt",Name(playerid));
if(dini_Exists(pfad))ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Willkommen auf Liberty Deathmatch Network,\n\nDein Account wurde gefunden. Gib bitte das Passwort ein.\n{FF0000}WICHITG: Gib dein Passwort an niemanden weiter auch nicht an Admins oder Supporter.","Login","Abbrechen");
else ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Willkommen auf Liberty Deathmatch Network,\n\nGib bitte das gewünschte Passwort ein","Register","Abbrechen");
if(GetPVarInt(playerid,"loggedin"))ShowPlayerDialog(playerid,DIALOG_NATIONEN,DIALOG_STYLE_LIST,"Nationen","\nVereinigte Staaten\nEuropa\nRussland\nIndien\nFrankreich\nKorea\nChinesen","Auswählen","Abbrechen");
TogglePlayerControllable(playerid,0);
TogglePlayerSpectating(playerid,1);
return 1;
}&
public OnPlayerConnect(playerid)
{
if(GetPVarInt(playerid,"togregister")==1)
{
ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Registrierung","Die Registrier Funktion ist derzeitig ausgeschaltet.\nSollten sie einen Account haben so melden sie sich mit diesem an.","","");
SetTimerEx("Gebannt",1450,false,"i",playerid);
}
if(GetPVarInt(playerid,"Baned")==1)
{
ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Account Gesperrt","Dieser Account wurde Gesperrt mit diesem kann nicht mehr gespielt werden.\nSollte dies nicht dein Account sein nimm einen Anderen Namen","","");
SetTimerEx("Gebannt",1450,false,"i",playerid);
}
return 1;
}Es kommt einfach der Register Bildschirm.
Befehl:
ocmd:togregister(playerid)
{
if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 6.");
new string[128];
if(GetPVarInt(playerid,"togregister")==0)
{
SetPVarInt(playerid,"togregister",1);
format(string,sizeof(string),"Die Registrierung wurde von %s ausgeschaltet. Man kann sich im moment nicht Registrieren.",Name(playerid));
SendClientMessageToAll(ROT,string);
}
else
{
SetPVarInt(playerid,"togregister",0);
format(string,sizeof(string),"Die Registrierung wurde von %s freigegeben. Man kann sich nun wieder Registrieren.",Name(playerid));
SendClientMessageToAll(GRÜN,string);
}
return 1;
} -
Diese Bilder sind echt klasse Respekt.
-
Guten Tag,
ich frage mich gibt es Server hoster die vertraulich sind aber die Server Sponsoren?
Ich war zufrieden mit Nafu-Sponsoring und Sponsoring Solution aber die sind beide "Down".
Kennt ihr "FREE" hoster. -
ICy.:
Ich will ja die IP sperren unabhänig ob der Spieler Online ist oder nicht.
Kannst du mir zeigen/sagen wie das geht. -
Irgendwie hast du da was durcheinander bekommen
Wenn du eine IP bannen möchtest, oder auch entbannen möchtest, dann liest du deine IP aus, und dadurch sperrst du dich selber.
Überarbeite das System noch einmal
Wie soll ich es denn dann machen? -
Ip Bannen?
-
ICy.
Hab schon ein System mir erstelt.
An alle
ocmd:ipban(playerid,params[])
{
if(isPlayerAnAdmin(playerid,4))
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe : /ipban [IP]");
{
new ip[16],str[32],string[88];
GetPlayerIp(playerid, ip, 16);
format(str, 32, "banip %s", ip);
SendRconCommand(str);
format(string,88, "Die IP %s wurde erfolgreich gesperrt",ip);
SendClientMessage(playerid,GRÜN,string);
}
return 1;
}
SendClientMessage(playerid,BLAU,"Du hast kein Admin Level 4.");
return 1;
}ocmd:ipunban(playerid,params[])
{
if(isPlayerAnAdmin(playerid,5))
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe : /ipunban [IP]");
{
new ip[16],str[32],string[88];
GetPlayerIp(playerid, ip, 16);
format(str, 32, "unbanip %s", ip);
SendRconCommand(str);
format(string,88, "Die IP %s wurde erfolgreich entgesperrt",ip);
SendClientMessage(playerid,GRÜN,string);
}
return 1;
}
SendClientMessage(playerid,BLAU,"Du hast kein Admin Level 5.");
return 1;
} -
Close
@RTF
-
Wie erstelle ich daraus :
ein IP Un/bansystem?BanIP(ip[])
{
new str[32];
format(str, 32, "banip %s", ip);
SendRconCommand(str);
return true;
}UnBanIP(ip[])
{
new str[32];
format(str, 32, "unbanip %s", ip);
SendRconCommand(str);
return true;
}ocmd:banip(playerid,params[])
{
new ip[16];
GetPlayerIp(playerid, ip, 16);
BanIP(ip);
return 1;
}ocmd:unbanip
{
new ip[16];
GetPlayerIp(playerid, ip, 16);
UnBanIP(ip);
return 1;
}bzw. was ist falsch?
-
Habe einen Code zusammen gebaut dieser Funktioniert auch,
aber er zeigt mir immer nur 3x den Gleichen Account ich will das er mir verschiedene Accounts zeigt.
bzw. er zeigt mir immer nur meinen Account an.
ocmd:multiaccount(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,-1,"Du hast kein Admin Level 2");
{
new pID,string[128],name[20];
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Tippe : /multiaccount [IP]");
{
new playersip[16];
GetPlayerIp(pID,playersip,sizeof(playersip));
GetPlayerName(playerid,name[playerid],MAX_PLAYER_NAME);
format(string,sizeof(string),"Auf der IP laufen diese Accounts:");
format(string,sizeof(string),"/Accounts/%s.txt",name);
if(strcmp(string, "IP", false) == 0)
{
SendClientMessage(playerid,ROT,"Name: %s",name);
}
SendClientMessage(playerid,-1,string);
SendClientMessage(playerid,-1,string);
SendClientMessage(playerid,-1,string);
return 1;
}
}
} -
Für Autohotkey?
Oder Pawno? -
Mit dini gar nicht (zumindest nicht wirklich effektiv).
Da musst du auf MySQL zurückgreifen, nur damit kannst du das wirklich effektiv machen.
Das würde dir alle Zeilen mit der selben IP in der Tabelle accounts ausgeben.Um MySQL verstehen zu lernen empfehle ich dir w3schools: http://www.w3schools.com/sql/default.asp
Denkst du das würde so gehen:ocmd:multiaccount(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,-1,"Du hast kein Admin Level 2");
{
new pID,string[128],name[20];
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Tippe : /multiaccount [IP]");
{
new playersip[16];
GetPlayerIp(pID,playersip,sizeof(playersip));
GetPlayerName(playerid,name[playerid],MAX_PLAYER_NAME);
format(string,sizeof(string),"Auf der IP laufen diese Accounts:");
format(string,sizeof(string),"/Accounts/%s.txt",name);
if(dini_Isset(string, "IP"))
{
SendClientMessage(playerid,ROT,"%s",name);
}
SendClientMessage(playerid,-1,string);
return 1;
}
}
} -
Hast du ne Idee wie ich ein IP-Bann System machen kann?
Bzw. auch Multiaccounts finden kann?
Das heißt:
/multiaccount [IP]
Er zeigt alle Accounts an mit der IPErklärung bitte.
-
1.)
Ändere in dem Code von vorhin noch:
format(str,sizeof(str),"/Accounts/%s,txt",name);
zu:
format(str,sizeof(str),"/Accounts/%s.txt",name);Es geht zwar auch mit , allerdings ist das ziemlich unschön.
2.)
Füge beim Register vor dini_Create ein:
format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);In der Datei zeigt er das an
-
if(dialogid==DIALOG_REGISTER)
{
if(response==0)
{
SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Willkommen auf Liberty Deathmatch Network,\n\nGib bitte das gewünschte Passwort ein","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}stock Register(playerid,key[])
{
new name[MAX_PLAYER_NAME], pfad[64];
GetPlayerName(playerid,name,sizeof(name));
dini_Create(pfad);
dini_Set(pfad,"Passwort",key);
dini_IntSet(pfad,"Respektpunkte",0);
dini_IntSet(pfad,"IP",0);
dini_IntSet(pfad,"Adminlevel",0);
dini_IntSet(pfad,"Level",0);
dini_IntSet(pfad,"Geld",0);
dini_IntSet(pfad,"Baned",0);
dini_IntSet(pfad,"Donator",0);
dini_IntSet(pfad,"Tode",0);
dini_IntSet(pfad,"Kills",0);
dini_IntSet(pfad,"Banned1",0);
dini_IntSet(pfad,"Mute",0);
dini_IntSet(pfad,"Kick1",0);
dini_IntSet(pfad,"Team",0);
dini_IntSet(pfad,"Klassen",0);
SendClientMessage(playerid,GRÜN,"Erfolgreich registriert.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Willkommen auf Liberty Deathmatch Network,\n\nDein Account wurde gefunden. Gib bitte das Passwort ein.\n{FF0000}WICHITG: Gib dein Passwort an niemanden weiter auch nicht an Admins oder Supporter.","Login","Abbrechen");
SetPlayerScore(playerid,0);
SetPVarInt(playerid,"loggedin",1);
pFirstLog[playerid] = true;
return 1;
}Danke das du mir hilfst
-
Ach ja, stimmt. Die Funktion gibt den Wert ja gar nicht zurück.
Mach es zu:
if(dini_Isset(str, "IP"))Der Server geht nun beim Registrieren aus?