Beiträge von BlackFoX

    Hast du das dazugehörige Filterscript auch vorher geladen bevor die Funktionen sprich das Script mit den Objekten geladen wird ?
    Wenn es vor dem GM geladen werden soll, mach dir keine sorgen, die FS's werden immer vor dem Hauptskript geladen.

    Nicht zwingend , auch Allgemeine zusammenhänge die die Lexikalische Analyse nicht erkennt führen zu unbekannten Fehler,
    da Falsche "Kommandos" ausgeführt werden & somit zu einer Ausnahme im Speicher führen können,
    z.b.


    stock cause(); // Semikolon Falsch , da die Funtkion ein Prototyp ist wird sie von der Analyse solange ausgeschlossen solange nicht verwendet


    Auch indirekte Zugriffe auf nicht vorhandene Indexe können diese Fehler auslösen, wie es der Fall in einer Array wäre,
    da der Speicher auf einen Bereich zugreifen würde der für ihn nicht freigegeben ist.

    Kein Problem, dann kann hier ja dicht gemacht werden ^^
    Nur blöd das ich nicht vorher auf die Direkte Abfrage gekommen bin :s

    Lösche mal die Zeile
    strmid(SpielerInfo[playerid][Passwort],,0,strlen(dini_Get(Spielerdatei,"Passwort")),strlen(dini_Get(Spielerdatei,"Passwort")));

    und ändere die Abfrage in diese
    if(!strcmp(inputtext,dini_Get(Spielerdatei,"Passwort")))

    So da du 2x Falsch eingegeben hast kann es sein das du eventuell ein anderes Passwort hast, versuch mal dieses zu nehmen & dich nun
    einzuloggen

    Wenn du dir nicht sicher bist, rufe mal eine Datei ab mit einem Passwort und gebe das Passwort mit print wieder in
    der Konsole, dann siehst du ob es Falsch ausließt zum anderen solltest du mal den Inhalt der folgenden Funktionen zeigen


    Code
    Anmelden(playerid);
    PasswortFalsch(playerid);


    da ich denke das dort das Hauptproblem liegt.

    Er meint das das Script eine Veränderung des Godfather Scripts darstellt & dort alles Identisch ist
    daher sollte es kein Problem sein das zu ändern.

    Gibts schon mehrmals, hab sogar selber eins gemacht ,
    aber so Fehler sind mir bisher nicht aufgetreten , warum rüstet sich das Auto denn von alleine auf o_x xD

    RegEx(string[],pattern[])
    {
    new brc;
    new regex_p[50],mx,s,bool:trues,
    offset,cnt_tr = 0;
    do
    {
    brc = strfind(pattern,"[",false,brc);
    if(brc!=-1)
    {
    brc++;
    while(pattern[brc]!=']' && pattern[brc])
    {
    regex_p[mx] = pattern[brc];
    brc++;
    mx++;
    }
    while(string[s])
    {
    if(regex_p[0] == '!')
    {
    for(new j = 1;j<strlen(regex_p);j++)
    {
    if(regex_p[j] == string[s])
    {
    trues = true;
    break;
    }
    }
    }
    else if(regex_p[0] == ':')
    {
    new other_one;
    do
    {
    other_one = strfind(regex_p,":",false,other_one);
    if(other_one!=-1)
    {
    other_one++;
    if(string[s] >= regex_p[other_one] && string[s] <= regex_p[other_one+1])
    {
    trues = true;
    break;
    }
    }
    }
    while(other_one!=-1);
    }
    else if(regex_p[0] == ';')
    {
    for(new j = 1;j<strlen(regex_p);j++)
    {
    if(regex_p[j] == string[s])
    {
    offset++;
    cnt_tr--;
    trues = true;
    break;
    }
    }
    }
    if(!trues)break;
    trues = false;
    cnt_tr++;
    s++;
    }
    regex_p[0] = '\0';
    mx = 0;
    }

    }
    while(brc!=-1);
    return (cnt_tr == (strlen(string)-offset)) ? (1) : (0);
    }


    Jeder kennt RegEx , Reguläre Ausdrücke , diese Funktion überprüft nicht Exakt sondern nach Format Muster,
    als Beispiel :


    RegEx("3.14","[:09][!.][:09]");
    RegEx("C.12","[:09:AZ][!.][:09]");


    Wie ihr seht ganz einfach ...


    : = ( Von bis )


    Diese Anweisung überprüft ob Bestimmte Zeichen von einem Zeichen
    bis zu einem anderen Zeichen vorhanden sind,
    z.b. [:AZ] , alle Zeichen von A bis Z , es geht von A bis T , 0 bis 2 usw...
    Es können mehrere von bis Werte gestellt werden [:AZ:09] darf von A bis Z oder 0 bis 9 sein.


    ! = ( Exakt )


    Diese Anweisung überprüft Exakt sprich , eine Exakte Reihenfolge von Zeichen
    [!tzuü] , nun dürfen an der Stelle nur t,z,u oder ü sein sonst nichts ;)



    ; = ( Kann sein , muss nicht )


    Werte die nicht sein müssen aber können ,
    können so bestimmt werden :
    [;+%&] , so darf an der Stelle + % oder & stehen,
    wenn es dort nicht steht ist es auch nicht schlimm ;)
    Weil es sein kann.




    Ich wünsche viel Spaß damit, ich werde die Funktion bei bedarf verbessern.

    Gehts da nicht ums Login, oder warum steht da Registriert ?
    Hast du den Falschen Dialog abgerufen ?
    Stimmt an der Funktion Anmelden was nicht ?
    Welche Fehler erscheinen denn ?

    SpielerInfo[playerid][Passwort] = strval(dini_Get(Spielerdatei,"Passwort"));


    zu


    strmid(SpielerInfo[playerid][Passwort],dini_Get(Spielerdatei,"Passwort"),0,strlen(dini_Get(Spielerdatei,"Passwort")),strlen(dini_Get(Spielerdatei,"Passwort")));

    Komm Alex lass uns Fakten sammeln :


    • Jobs like GF ? Aber Warum wirklich alle ?
    • Selbst die Fraktionen stimmen überein...
    • Warum stand in deinem Thema "Godfather"
    • Du kopierst eine Fraktion aus dem GF und baust alle nach selben Prinzip zusammen ? Copy + Paste ?
    • Da der vorige Fakt mich etwas verunsichert muss ich davon ausgehen das mehr als die Hälfte aus dem Originalen Script stammt, dem Godfather...