Jo also ich hab da nochmal ne frage...
ich hab mir jetzt ein Dini acc system in mein script eingebaut und wollte fragen wie ich sachen wie gTeam in der .ini saven kann. also ich will ein adminsystem mit gTeam erstellen indem ich nur leute zu admins machen kann wenn ich z.b in der ini das so umschreibe: AdminLevel=1...
kapiert?^^
Dini Team speichern
- Fischer
- 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
-
-
jo also bei deinem register cmd fügst du bei den anderen sachen folgendes ein
dini_IntSet(string, "Admin", 0); // für Adminlevel
dini_IntSet(string, "gTeam", 0); // für gTeam
bei deinem login cmd fügst du folgendes ein
pAdmin[playerid]/*oder unter was du das speichern willst*/dini_Int(string, "Admin"); // für Adminlevel
gTeam[playerid]dini_IntSet(string, "gTeam"); // für gTeam
und unter dem updatetimer kommt dann das
dini_IntSet(string, "Admin", 0); // für Adminlevel
dini_IntSet(string, "gTeam", 0); // für gTeam
// Wie bei dem login cmdHoffe ich hab dir geholfen
-
is das non-gf? hab nämlich ein stuntscript
-
dini Funzt immer nach dem Prinzip also daher auch non-gf schließlich funzt es überall
dini_IntSet("datei.ini","Verweis",Variable oder Nummer);
variable = dini_Int("Datei.ini","verweis"); -
Ich denke nicht, dass das ihm weiterhilft.
Was ist der string? Warum wird im updatetimer immer alles auf 0 gesetzt? Wieso gibt Errors?
Sowas kommt dann....Fischer--RENAMED: Wir sollten wissen, mit welchem Reg/Login-System du arbeitest, damit wir dir am besten helfen können.
Also, zum Register-Command das hinzufügen:
new s[30], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(s,sizeof(s),"%s.ini",name);
dini_IntSet(s, "Admin", 0); // für Adminlevel
dini_IntSet(s, "gTeam", 0); // für gTeamZum Login-Command das hinzufügen (Je nach dem, wie deine Variablen heißen)
new s[30], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(s,sizeof(s),"%s.ini",name);
pAdmin[playerid] = dini_Int(s, "Admin"); // für Adminlevel
gTeam[playerid] = dini_Int(s, "gTeam"); // für gTeamIn einen Timer, der die Accounts speichert:
new s[30], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(s,sizeof(s),"%s.ini",name);
dini_IntSet(s, "Admin", pAdmin[playerid]); // für Adminlevel
dini_IntSet(s, "gTeam", gTeam[playerid]); // für gTeamViel Spaß!
-
ok ich wills kurz machen bekomm errors:
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(register, 8, cmdtext);
dcmd(login, 5, cmdtext);
return 1;
}dcmd_register(playerid, params[])
{
if (IsPlayerConnected(playerid))
{
new string[256];
new password[100];
new Player[MAX_PLAYER_NAME];
GetPlayerName(playerid, Player, sizeof(Player));
format(string, sizeof(string), "%s.ini", Player);
if (sscanf(params, "s", password))
{
return SendClientMessage(playerid, 0xffffff, " /register password");
}
if (dini_Exists(string))
{
return SendClientMessage(playerid, 0xffffff, " Der name ist bereits registriert");
}
else
{
dini_Create(string);
dini_Set(string, "password", password);
dini_IntSet(string, "score", 0);
dini_IntSet(string, "cash", 0);
SendClientMessage(playerid, 0xffffff, " Bitte einloggen: /login password");
}
}
return 1;
}dcmd_login(playerid, params[])
{
if (IsPlayerConnected(playerid))
{
new string[256];
new password[100];
new Player[MAX_PLAYER_NAME];
GetPlayerName(playerid, Player, sizeof(Player));
format(string, sizeof(string), "%s.ini", Player);
if (sscanf(params, "s", password))
{
return SendClientMessage(playerid, 0xffffff, " /register password");
}
if (dini_Exists(string))
{
PlayerInfo[playerid][ppassword] = dini_Int(string, "password");
if (strcmp(password, PlayerInfo[playerid][ppassword], false, strlen(PlayerInfo[playerid][ppassword])) != 0)
{
return SendClientMessage(playerid, 0xffffff, " flasches password");
}
gLogged[playerid] = 1;
PlayerInfo[playerid][pscore] = dini_Int(string, "score");
PlayerInfo[playerid][pcash] = dini_Int(string, "cash");
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pcash]);
UpdateTimer = SetTimer("OnPlayerUpdate", 2000, 1);
SpawnPlayer(playerid);
}
}
return 1;
} -
-
bin aber hier so schön untergebracht^^ hab auch nirgendwo gesagt dass da meins ist:-)
-
ich sag auch nur das das meins is hab ja nicht gehauptet das du behauptet hast dass das deins wäre xD // Kompliziert xD i-wie
also so wie ich das gemacht hab machst du ambesten oben bei "enum pInfo"
...
pcash,
pAdmin, // neu einfügen. egal ob mit oder ohne ","
...
gTeam ist im standart gf bereits definiert also einfach...
gTeam = dini_Int(...
sonst passt alles so wie ich gesagt habe -
kannste mir das bitte wie oben einfügen so wie ich das will?
wäre dir sehr dankbar da ich noch neu(7tage) im scripten bin -
Bist du Flip? wenn ja schreib mich in icq an
-
nö wieso soll ich flip sein?
[NeS]Fischer Moderator auf nova... nochwas?^^ -
kp ich hab soviele in icq xD
enum pInfo
{
ppassword[100],
pscore,
pcash,
padmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];dcmd_register(playerid, params[])
{
if (IsPlayerConnected(playerid))
{
new string[256];
new password[100];
new Player[MAX_PLAYER_NAME];
GetPlayerName(playerid, Player, sizeof(Player));
format(string, sizeof(string), "%s.ini", Player);
if (sscanf(params, "s", password))
{
return SendClientMessage(playerid, 0xffffff, " /register password");
}
if (dini_Exists(string))
{
return SendClientMessage(playerid, 0xffffff, " Der name ist bereits registriert");
}
else
{
dini_Create(string);
dini_Set(string, "password", password);
dini_IntSet(string, "score", 0);
dini_IntSet(string, "cash", 0);
dini_IntSet(string, "admin", 0);
dini_IntSet(string, "gteam", 0);
SendClientMessage(playerid, 0xffffff, " Bitte einloggen: /login password");
}
}
return 1;
}dcmd_login(playerid, params[])
{
if (IsPlayerConnected(playerid))
{
new string[256];
new password[100];
new Player[MAX_PLAYER_NAME];
GetPlayerName(playerid, Player, sizeof(Player));
format(string, sizeof(string), "%s.ini", Player);
if (sscanf(params, "s", password))
{
return SendClientMessage(playerid, 0xffffff, " /register password");
}
if (dini_Exists(string))
{
PlayerInfo[playerid][ppassword] = dini_Int(string, "password");
if (strcmp(password, PlayerInfo[playerid][ppassword], false, strlen(PlayerInfo[playerid][ppassword])) != 0)
{
return SendClientMessage(playerid, 0xffffff, " flasches password");
}
gLogged[playerid] = 1;
PlayerInfo[playerid][pscore] = dini_Int(string, "score");
PlayerInfo[playerid][pcash] = dini_Int(string, "cash");
PlayerInfo[playerid][padmin] = dini_Int(string, "admin");
gTeam[playerid] = dini_Int(string, "gteam");
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pcash]);
UpdateTimer = SetTimer("OnPlayerUpdate", 2000, 1);
SpawnPlayer(playerid);
}
}
return 1;
}public OnPlayerUpdate(playerid)
{
if (gLogged[playerid] == 1)
{
new string[256];
new Player[MAX_PLAYER_NAME];
GetPlayerName(playerid, Player, sizeof(Player));
format(string, sizeof(string), "%s.ini", Player);
dini_IntSet(string, "score", PlayerInfo[playerid][pscore]);
dini_IntSet(string, "cash", PlayerInfo[playerid][pcash]);
dini_IntSet(string, "gteam", gTeam[playerid]);
}
return 1;
}noch was:
in gf einbauen is ganz blöd. da is bereits ein acc sys drin -
hab das regscript als filterscript
muss ich in meinem mainscript das admin team noch definieren mit gTeam? -
wenn bei dir das fehlt :
static gTeam[MAX_PLAYERS];
dann ja :>
-
also ins mainscript einfach das?
#define admin 4 -
jupp damit definierst du die Team Nummern, dann kann man sich die Nummern sparen und man merkts sich leichter
-
EDIT: Ah, falsch verstanden, Sorry. Beitrag von mir bitte löschen.
-
also nochmal...diesmal dass es kjeder versteht:
Ich hab das regsystem als filterscript so wie es siemon gepostet hat. so jetzt hab ich beim filterscript gTeam definiert.
so jetzt meine frage...ich will einen befehl in mein mainscript machen z.b. /kick. muss ich da noch was im mainscript einfügen/definieren damit er ausließt ob in der .ini (die durch ein filterscript erstellt wurde) hinter admin eine "1" steht damit er den befehl auch ausführt, wenn da keine 1 steht soll er den dann nich ausführen können.
verstanden? -
das hab ich auch schonmal auf eine andere art und weise gefragt. aba net verstanden. i-was mit call back oda so n sh!t