Hier hab ich auch mal einen Teil des Script raus geschnitten. Sind alle Daten dabei die du brauchen könntest. (fraktion,loginin) also da müsste man auch meinen script fehler finden.....
#include <a_samp>
#include <dini>
//Login System
#define DIALOG_Register 0
#define DIALOG_Login 1
//=====FARBEN===========
#define COLOR_WHITE 0xFFFFFFFF
#define TEAM_GROVE_COLOR 0x007500FF
#define COLOR_RED 0xFF0000FF
#define COLOR_GREEN 0x00FF00FF
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_ORANGE 0xFF8F00FF
#define COLOR_HELLBLUE 0x004FFFFF
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_BLUE 0x0000FFFF
#define COLOR_HELLRED 0xFF4847FF
#define COLOR_VIOLET 0xA65DFFFF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_LIGHTRED 0xFF4230FF
#define COLOR_BLACK 0x000000FF
//Enum Befehle
enum SInfo
{
admin,
Fraktion,
Rang,
Leader,
Geld,
Skin,
Wanted,
Waffen,
Munition
}
new SpielerInfo[MAX_PLAYERS][SInfo];
//Fraktionen
static gTeam[MAX_PLAYERS];
#define Team_Normal 0
#define TEAM_FBI 1
public OnPlayerConnect(playerid)
{
//Login und Register System
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Hallo/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login","Bitte geben Sie ihre Passwort ein","OK","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Registeren","Bitte geben Sie ihr Passwort ein um sich zu registrieren.","registrieren","Abbrechen");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SpielerSpeichern(playerid);
ResetVariablen(playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
//string
new ziel = strval(strget(cmdtext,1));
new opfer[MAX_PLAYER_NAME];
new spieler[MAX_PLAYER_NAME];
GetPlayerName(playerid,spieler,sizeof(spieler));
GetPlayerName(ziel,opfer,sizeof(opfer));
if(strcmp(strget(cmdtext,0),"/fraktionsetzen",true) == 0)
{
if(IsPlayerConnected(ziel))
{
if(!strlen(strget(cmdtext,1)) || !strlen(strget(cmdtext,2)) || !strlen(strget(cmdtext,3)))
{
SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /fraktionsetzen [Spielerid][Fraktionsid](1-11)[fraktionsskin]");
return 1;
}
if(!SpielerInfo[ziel][Leader])
{
new fraktionsid = strval(strget(cmdtext,2));
new skinid = strval(strget(cmdtext,3));
new msg1[200];
new msg2[200];
SpielerInfo[ziel][Fraktion] = fraktionsid;
SpielerInfo[ziel][Rang] = 1;
format(msg1,sizeof(msg1),"* Du wurdest von Admin %s in die %d Fraktion gesetzt.",spieler,fraktionsid); //wird dem spieler ausgegeben
format(msg2,sizeof(msg2),"* Du hast %s zum Leader in die %d Fraktion gesetzt.",opfer,fraktionsid); // wird dem admin ausgegeben
SendClientMessage(playerid,COLOR_LIGHTBLUE,msg2); // Sendet die nachricht msg2 zu dem Admin...
SendClientMessage(ziel,COLOR_LIGHTBLUE,msg1); // Sendet die nachricht msg1 zu dem ziel das zum admin gemacht wurde...
PlayerPlaySound(ziel,1057,0.0,0.0,0.0); //spielt einen Nachrichtensound ab... return 1;
SetPlayerSkin(ziel,skinid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist bereits Leader einer Fraktion!.");
}
}
else
{
SendClientMessage(playerid,COLOR_HELLBLUE,"Dieser Spieler existiert nicht."); // Wenn Ziel nicht Connected ist wird eine Nachricht ausgegeben
}
return 1;
}
if(gTeam[playerid] == TEAM_FBI)
{
if(strcmp("/fbi",cmdtext, true, 10) == 0)
{
SendClientMessage(playerid,COLOR_BLACK,"hallo");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"fbi geht net");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//Register und Login System
if(dialogid==DIALOG_Login)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_RED,"Du hast den Vorgang abgebrochen!");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREEN,"Dein Passwort war nicht richtig eingegeben");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Login","Bitte geben Sie ihr Passwort ein um sich anzumelden.","OK","Abbrechen");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}
if(dialogid==DIALOG_Register)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_RED,"Du hast den Vorgang abgebrochen!");
Kick(playerid);
return 1;
}
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREEN,"Dein Passwort war zu kurz");
ShowPlayerDialog(playerid,DIALOG_Register,DIALOG_STYLE_INPUT,"Register","Bitte geben Sie ihr Passwort ein.","Registrierern","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext);
return 1;
}
}
}
return 1;
}
//Register stock
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Hallo/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
dini_IntSet(Spielerdatei,"Fraktion",0);
SendClientMessage(playerid,COLOR_GREEN,"Erfolgreich registriert");
SetPlayerScore(playerid,1);
return 1;
}
//Login Stock
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Hallo/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,COLOR_GREEN,"Erfolgreich eingelogt");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"falsches Passwort!!!");
ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_INPUT,"Register","Bitte geben Sie ihr Passwort ein.","Registrierern","Abbrechen");
}
return 1;
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Hallo/%s.txt",name);
SpielerInfo[playerid][Leader]=dini_Int(Spielerdatei,"Fraktion");
return 1;
}
stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Hallo/%s.txt",name);
dini_IntSet(Spielerdatei,"Fraktion",SpielerInfo[playerid][Fraktion]);
return 1;
}
// Variablen stock
stock ResetVariablen(playerid)
{
SpielerInfo[playerid][admin]=0;
SpielerInfo[playerid][Fraktion]=0;
SpielerInfo[playerid][Rang]=0;
SpielerInfo[playerid][Leader]=0;
SpielerInfo[playerid][Geld]=0;
SpielerInfo[playerid][Skin]=0;
SpielerInfo[playerid][Munition]=0;
SpielerInfo[playerid][Waffen]=0;
return 1;
}
//-----------------strget---------------
stock strget(strx[], pos, search = ' ') {
new arg, ret[128], idxx;
for (new i = 0; i < strlen(strx); i++) {
if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
arg++;
if (arg == pos + 1){
ret[i-idxx] = EOS;
return ret;
} else if (arg == pos)
idxx= i+1;
}
else if (arg == pos)
ret[i - idxx] = strx[i];
}
return ret;
}
Hoffe ihr könnt mir helfen und sagen warum das bei mir nicht funkt....