Hallo Leute ich suche ein adminsystem das ohne login und register ist es wäre nett wenn mir einer sowas erstellen könnte oder mir einen link geben könnte von solche einem adminsystem oder schreibt mir eine pm
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
-
-
Ehm wie soll das denn funktionieren?
Man könnte es höchstens so machen, das jeder User dann Admin ist.
Aber ich denke ohne Login/Register System wirds nicht möglich sein. -
Beitrag von Nathan1995 ()
Dieser Beitrag wurde vom Autor gelöscht (). -
#include < a_samp >
#include < ZCMD >
#include < sscanf >
#include <YSI/y_ini>#define COL_RED \
"{F81414}"
#define COL_LIGHTBLUE \
"{00C0FF}"
#define COL_LRED \
"{FFA1A1}"
#define COL_GREEN \
"{6EF83C}"
#define DIALOG_REG \
1995
#define DIALOG_REG_REQ \
1996
#define DIALOG_LOGIN \
1997
#define DIALOG_LOGIN2 \
1998
#define DIALOG_LOG_DONE \
1999
#define DIALOG_LOG \
2000
#define DIALOG_STATS \
2001
public OnFilterScriptInit( ) return 1;
public OnFilterScriptExit( ) return 1;forward ParsePlayerPass( playerid, name[ ], value[ ] );
public ParsePlayerPass( playerid, name[ ], value[ ] )
{
if ( !strcmp( name, "PASSWORD" ) )
{
SetPVarString( playerid, "pPass", value );
}
}
forward LoadUser( playerid, name[ ], value[ ] );
public LoadUser( playerid, name[ ], value[ ] )
{
if ( !strcmp(name, "REG_DATE" ) )SetPVarString( playerid, "Date", value );
if ( !strcmp(name, "MONEYS" ) )SetPVarInt( playerid, "Moneys", strval( value ) );
if ( !strcmp(name, "SCORE" ) )SetPVarInt( playerid, "Score", strval( value ) );
}
CMD:register( playerid, params[ ] )
{
#pragma unused params
if ( GetPVarInt( playerid, "Logged" ) == 1 )
return SendClientMessage( playerid, -1, ""COL_RED"ERROR:{FFFFFF} You are already registered and logged in.");
ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_INPUT, "{FFFFFF}Registering...", "{FFFFFF}Please write your desired password.", ">>>", "Exit");
return 1;
}
CMD:login( playerid, params[ ] )
{
#pragma unused params
if ( GetPVarInt( playerid, "Logged" ) == 1 )
return SendClientMessage( playerid, -1, ""COL_RED"ERROR:{FFFFFF} You are already registered and logged in.");
ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Login", "{FFFFFF}Please write your current password", "Login", "Kick");
return 1;
}
CMD:stats( playerid, paramz[ ] )
{
if ( GetPVarInt( playerid, "Logged" ) == 0 )
return SendClientMessage( playerid, -1, ""COL_RED"ERROR:{FFFFFF} To view your stats you must be logged in ");
new
iBox[ 256 ],
RegDate[ 10 + 15 ]
;
GetPVarString( playerid, "Date", RegDate, 10 + 15 );
format( iBox, sizeof iBox, "{FFFFFF}Hello "COL_LIGHTBLUE"%s{FFFFFF}, here are your stats\n\n\
{FFFFFF}Money: "COL_LIGHTBLUE"%d\n\
{FFFFFF}Level: "COL_LIGHTBLUE"%d\n\
{FFFFFF}Registration Date: "COL_LIGHTBLUE"%s\n\
{FFFFFF}Interior: "COL_LIGHTBLUE"%d\n\
{FFFFFF}Virtual World: "COL_LIGHTBLUE"%d",pName( playerid ),
GetPlayerMoney( playerid ),
GetPlayerScore( playerid ),
RegDate,
GetPlayerInterior( playerid ),
GetPlayerVirtualWorld( playerid ) )
;
ShowPlayerDialog( playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "{FFFFFF}Your Stats!", iBox, "Ok", "");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REG:
{
if ( response )
{
if ( sscanf( inputtext, "s", inputtext[ 0 ] || strlen( inputtext[ 0 ] ) == 0 ) )
return ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_INPUT, "{FFFFFF}Password", ""COL_RED"Error!\n\
{FFFFFF}Please write your desired password.\n",
">>>", "Exit");
if ( strlen( inputtext[ 0 ] ) < 3 || strlen( inputtext[ 0 ] ) > 20 )
return ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_INPUT, "{FFFFFF}Password", ""COL_RED"Error!\n\
{FFFFFF}Please write your desired password.\n\
"COL_RED"#{FFFFFF}Min. 3 Char. Max. 20 Char.",
">>>", "Exit");
new
PlayerFile[ 13 + MAX_PLAYER_NAME ],
pDate[ 8 + 15 ], //HH:MM:SS + DD.MM.YYYY = 18
pYear,
pMonth,
pDay,
pHour,
pMinute,
pSecond,
pIP[ 20 ],
InfBox[ 512 ]
;
getdate(pYear, pMonth, pDay ),gettime(pHour, pMinute, pSecond );
GetPlayerIp( playerid, pIP, 20 );
format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) );
format( pDate, sizeof pDate, "%d:%d:%d %d/%d/%d",pHour, pMinute, pSecond , pDay, pMonth, pYear );
format( InfBox, sizeof InfBox, "{FFFFFF}You registered your account with success!\n\n\
"COL_LIGHTBLUE"Account: {FFFFFF}%s\n\
"COL_LIGHTBLUE"Password: {FFFFFF}%s\n\n\
You received "COL_GREEN"$5000{FFFFFF} for registering.\n\
Would you like to login?", pName( playerid ),
inputtext );
ShowPlayerDialog( playerid, DIALOG_LOG, DIALOG_STYLE_MSGBOX, "Login", InfBox, "Yes", "No" );new
INI:PlayerAcc = INI_Open( PlayerFile );
INI_WriteString( PlayerAcc, "NAME", pName( playerid ) );
INI_WriteString( PlayerAcc, "PASSWORD", inputtext );
INI_WriteString( PlayerAcc, "REG_DATE", pDate );
INI_WriteInt( PlayerAcc, "MONEYS", 50000 );
INI_WriteInt( PlayerAcc, "SCORE", 0 );
INI_Close( PlayerAcc );
SetPVarString( playerid, "Date", pDate );
SetPVarInt( playerid, "Logged", 0 );
GivePlayerMoney( playerid, 50000 );
SetPlayerScore( playerid, GetPlayerScore( playerid ) + 15 );}
}
case DIALOG_REG_REQ:
{
if ( response ) cmd_register( playerid, "");
if ( !response ) return 0;
}
case DIALOG_LOGIN: ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Password",
"{FFFFFF}Please write your current password.",
"Login", "Kick");
case DIALOG_LOG:
{
if ( response )
ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Password", "{FFFFFF}Please write your current password.","Login","Kick");
}
case DIALOG_LOGIN2:
{
if ( !response ) return Kick( playerid );
if ( response )
{
if ( strlen( inputtext ) == 0 )
return ShowPlayerDialog( playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, "{FFFFFF}Password", ""COL_RED"Error!\n\
{FFFFFF}Please write your current password.",
"Login", "Kick");
new
PlayerFile[ 13 + MAX_PLAYER_NAME ],
Password[ 20 + 1 ]
;
format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) );
INI_ParseFile( PlayerFile, "ParsePlayerPass", false, true, playerid );
GetPVarString( playerid, "pPass", Password, sizeof Password );
if ( !strcmp ( inputtext, Password, false ) )
{
new
sTitle[ 21 + MAX_PLAYER_NAME + 25 ],
sBoxInfo[ 512 ],
Pdata[ 8 + 15 ]
;
SetPVarInt( playerid, "Logged", 1 );
format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) );
INI_ParseFile( PlayerFile, "LoadUser", false, true, playerid, true, false );
GetPVarString( playerid, "Date", Pdata, 8 + 10 );
GivePlayerMoney( playerid,GetPVarInt( playerid, "Moneys" ) );
SetPlayerScore( playerid, GetPVarInt( playerid, "Score" ) );
format( sTitle, sizeof sTitle, "{FFFFFF}Welcome back, "COL_LIGHTBLUE"%s{FFFFFF}!", pName( playerid ) );
format( sBoxInfo, sizeof sBoxInfo, "{FFFFFF}These are your stats:\n\n\
{FFFFFF}Moneys: "COL_LIGHTBLUE"%d\n\
{FFFFFF}Score: "COL_LIGHTBLUE"%d\n\
{FFFFFF}Registered on: "COL_LIGHTBLUE"%s", GetPVarInt( playerid, "Moneys" ),
GetPVarInt( playerid, "Score" ),
Pdata );
ShowPlayerDialog(playerid, DIALOG_LOG_DONE, DIALOG_STYLE_MSGBOX, sTitle, sBoxInfo, "Ok", "");
}
else ShowPlayerDialog(playerid, DIALOG_LOGIN2, DIALOG_STYLE_INPUT, ""COL_RED"Wrong password...", ""COL_RED"Wrong password!\n{FFFFFF}Please try again.", "Login", "Kick");}
}
}
return 1;
}
public OnPlayerConnect(playerid)
{
if ( !INI_Exist( pName( playerid ) ) )
ShowPlayerDialog( playerid, DIALOG_REG_REQ, DIALOG_STYLE_MSGBOX, "{FFFFFF}Password", "{FFFFFF}To play you must register an account!", "Ok", "");
else
ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_MSGBOX, "{FFFFFF}Password", "{FFFFFF}Your name is registered, would you like to login?", "Da", "Nu");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if ( GetPVarInt( playerid, "Logged" ) == 1 && INI_Exist( pName( playerid ) ) )
{
new
PlayerFile[ 13 + MAX_PLAYER_NAME + 1];
format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) );new
INI:PlayerAcc = INI_Open( PlayerFile );
INI_WriteInt( PlayerAcc, "MONEYS", GetPlayerMoney( playerid ) );
INI_WriteInt( PlayerAcc, "SCORE", GetPlayerScore( playerid ) );
INI_Close( PlayerAcc );
}
SetPVarInt( playerid, "Logged", 0 );
return 1;
}stock INI_Exist(nickname[])
{
new tmp[255];
format(tmp,sizeof(tmp),"Accounts/%s.ini",Encode( nickname ) );
return fexist(tmp);
}
stock pName( playerid )
{
new Name[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, Name, sizeof( Name ) );
return Name;
}
//DracoBlue
stock Encode(nickname[])
{
new tmp[255];
set(tmp,nickname);
tmp=strreplace("_","_00",tmp);
tmp=strreplace(";","_01",tmp);
tmp=strreplace("!","_02",tmp);
tmp=strreplace("/","_03",tmp);
tmp=strreplace("\\","_04",tmp);
tmp=strreplace("[","_05",tmp);
tmp=strreplace("]","_06",tmp);
tmp=strreplace("?","_07",tmp);
tmp=strreplace(".","_08",tmp);
tmp=strreplace("*","_09",tmp);
tmp=strreplace("<","_10",tmp);
tmp=strreplace(">","_11",tmp);
tmp=strreplace("{","_12",tmp);
tmp=strreplace("}","_13",tmp);
tmp=strreplace(" ","_14",tmp);
tmp=strreplace("\"","_15",tmp);
tmp=strreplace(":","_16",tmp);
tmp=strreplace("|","_17",tmp);
tmp=strreplace("=","_18",tmp);
return tmp;
}
stock set(dest[],source[]) {
new count = strlen(source);
new i=0;
for (i=0;i<count;i++) {
dest[i]=source[i];
}
dest[count]=0;
}
stock strreplace(trg[],newstr[],src[]) {
new f=0;
new s1[255];
new tmp[255];
format(s1,sizeof(s1),"%s",src);
f = strfind(s1,trg);
tmp[0]=0;
while (f>=0) {
strcat(tmp,ret_memcpy(s1, 0, f));
strcat(tmp,newstr);
format(s1,sizeof(s1),"%s",ret_memcpy(s1, f+strlen(trg), strlen(s1)-f));
f = strfind(s1,trg);
}
strcat(tmp,s1);
return tmp;
}
ret_memcpy(source[],index=0,numbytes) {
new tmp[255];
new i=0;
tmp[0]=0;
if (index>=strlen(source)) return tmp;
if (numbytes+index>=strlen(source)) numbytes=strlen(source)-index;
if (numbytes<=0) return tmp;
for (i=index;i<numbytes+index;i++) {
tmp[i-index]=source[i];
if (source[i]==0) return tmp;
}
tmp[numbytes]=0;
return tmp;
}Könnte mir das bitte jemand da einbauen das wäre sehr nett und ladet es irgendwo hoch wo ich es dann downloaden kann es kann deutsch oder englisch sein mir ist es egal
-
Er meint ehrer sowas wie Kick, Ban usw.
Dafür gibt es ja die Abfrage:
if(IsPlayerAdmin(playerid))Nur noch als Rcon einloggen:
/rcon login PASSWORD -
naja ich suche ein system wo ich mich admin machen kann und auch andere und natürlich auch mit commands wie jail, kick usw... es wäre echt nett wenn mir jemand sowas einbauen könnte
-
Wie schon gesagt wurde, du kannst dich auch einfach als Rcon-Admin einloggen.
Du gibst dann einfach InGame "/rcon login [Passwort]" ein.
Das Passwort kannst du in deiner server.cfg selbst bestimmen und jeder der das Passwort kennt kann sich einloggen.
Funktionen wie Kick, Ban, usw. sind im Rcon vorhanden.MfG
-
ich hätte das ganze aber gerne ohner rcon
-
wie soll den dann erkannt werden ob der spieler admin ist? wenn er sich nicht einloggen muss?
-
er kann sich doch einloggen ich habe schon ein login/register sys jetzt brauche ich nur noch ein adminsystem was sich leicht in einen gm einfügen lässt
-
Beitrag von Nathan1995 ()
Dieser Beitrag wurde vom Autor gelöscht (). -
ja ich habe eine übersichtliche scriptweise könntest du es mir mal ziegen ?
-
Beitrag von Nathan1995 ()
Dieser Beitrag wurde vom Autor gelöscht (). -
und kannst du mir noch ein paar commands reinbasteln die nur admins machen können wie:
ban
kick
mute
unmute
jail
unjail
freeze
unfreeze
slap
spec
specoff
goto
gethere
-
Beitrag von Nathan1995 ()
Dieser Beitrag wurde vom Autor gelöscht (). -
könnte es mir sonst jemand machen pls ;D
-
Ehm wie soll das denn funktionieren?
Man könnte es höchstens so machen, das jeder User dann Admin ist.
Aber ich denke ohne Login/Register System wirds nicht möglich sein.Schonmal an eine RCON-Admin Abfrage gedacht ?
-
Geh ins Godfather, schau dir die CMDS an und probier daran selber welche zu schreiben.
-
Du könntest auch einfach mal die Wiki benutzen und dir dort die nötigen Zeilen suchen. Hier wird dir niemand all diese Befehle scripten. Da bin ich ganz sicher.
Das ist alles nicht schwer u. wenn du schon sagst das du bereits mit zcmd scriptest etc. sollte man doch die nötige Erfahrnung besitzen.
Ich geb dir mal ein paar Zeilen.
Ban():
Kick();
TogglePlayerControllable();
GetPlayerPos();//Position eines Spieler erhatlen
SetPlayerPos();//Hinporten
Einfach mal durch das Forum & die Wiki suchen. -
also das mit gf habe ich schon probiert aber das bekomme ich net so wirklich hin und ich möchte das nicht als rcon machen ich habe oben mal mein regi/login gepostet kann da einer vllt. ein adminsystem reinbauen mit commands wäre echt nett
ich scripte erst seit 2 tagen also hilft mir das nich viel xD könnte nicht jemand einfach ein adminsystem nehman und das regi/login system einbauen