Hilft mir jemand mit Fraktionen

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
  • Alda ich bin son geiler Fisch.....Habs geschafft /invite zu kopieren und daraus /uninvite zuz machen... Und es geht sogag =) =) Heute Nachmittag gibts Ränge, jetzt mach ich Auto-Fraktions-Sperre =)


    EDIT frage: wie heisst die datei wo die teams gespeichert weden ( finde die nich)

  • Hmm... wenn ich sowas mach

    Code
    //OnGameModeInit
    new AutoVonDenRussen (CreateVehicle(balblabla));
    //und dann unten
    public OnPlayerStateChange(playerid, newstate, oldstate){if(newstate == 2){if((GetPlayerVehicleID(playerid) ==  AutoVonDenRussen))     {           if(!(gTeam[playerid] == TEAM_russenLEADER || gTeam[playerid] == TEAM_russen))           {RemovePlayerFromVehicle(playerid);SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Russe");           }     }}    return 1;}//keine Ahnug wiso das immer 1 Zeile wirde


    Geht das i-wie nicht, kommen errors



    D:\sampserver\gamemodes\monsteer.pwn(102) : warning 204: symbol is assigned a value that is never used: "AutoVonDenRussen"
    D:\sampserver\gamemodes\monsteer.pwn(1248) : error 017: undefined symbol "AutoVonDenRussen"


    ...

  • //ganz oben
    new AutoVonDenRussen;
    //OnGameModeInit
    AutoVonDenRussen = CreateVehicle(....);
    //und dann unten
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == 2)
    {
    if((GetPlayerVehicleID(playerid) == AutoVonDenRussen))
    {
    if(!(gTeam[playerid] == TEAM_russenLEADER || gTeam[playerid] == TEAM_russen))
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Russe");
    }}}
    return 1;}//keine Ahnug wiso das immer 1 Zeile wirde
    Das sollte gehen :D
    Maxx

  • Häää da is n bug
    Also:
    Das 1. mal hab ich mich zum Cop-Leader gemacht
    Das nächste einloggen ging, ich war weider Cop-Leader...
    Jetzt hab ich die Russische Mafia gescriptet, mich da zum Leader gemacht, ging auch alles
    Dann wieder aus und einggeloggt und ich bin wieder Cop-Leader?
    Sieht so aus, als würde das 1 malgespeichert werden und dann nicht mehr überschrieben oder so :(

  • Hast du denn eine Update Funktion?
    Sprich eine Funktion, die nachdem Verlassen des Server oder GMX oder Server Crash nochmal alles savet?
    Meist is das so definiert:
    public OnPlayerDisconnect()
    {
    Update(playerid);
    return 1;
    }
    Dieses Update muss danndefiniert sein:
    public Update(playerid)
    {
    new Spielerdatei[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName);
    GetPlayerMoney(SpielerInfo[playerid][Geld]);
    GetPlayerWantedLevel(SpielerInfo[playerid][Wanteds]);
    dini_IntSet(Spielerdatei,"Geld",SpielerInfo[playerid][Geld]);
    dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
    return 1;
    }
    Das sollteste bei jeder Exit Funktion machen sprich unter:
    public OnPlayerDisconnect(playerid, reason)
    {
    Eingeloggt[playerid] = 0;
    SpielerUpdate(playerid);
    return 1;
    }
    und unter:
    public OnGameModeExit()
    {
    Eingeloggt[playerid] = 0;
    SpielerUpdate(playerid);
    return 1;
    }
    MfG
    Maxx

  • Sowas gibt in meinem Login-System-Filterscript... aber da wenn ich da sowas hinmach kreg ich wahrscheinlich Errors... Hab ja noch garkeine WantedLevels eingebaut, das mach ich später... Soll erstmal nur gTeam gespeicert werden... und i-wie finde ich die datei davon auch nich... ?(

  • So also, du möchtest das dien Team gesavet wird ja?
    Das definierst du ja alles.. Soweit sogut..
    Jetzt muss nachdem Verlassen des Servers ja nochmal alles "geupdatet" werden.
    Das machst du mit der Funktion:
    forward Update(playerid);
    public Update(playerid)
    {
    //gteam update dingsda :P
    return 1;
    }
    public OnGameModeExit()
    {
    Update(playerid);
    return 1;
    }
    public OnPlayerDisconnect()
    {
    Update(playerid);
    return 1;
    }
    Das sollte es dann sein :D
    Maxx

  • Naja, bei mir isses so:
    public Update(playerid)
    {
    new Spielerdatei[64];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName);
    GetPlayerMoney(SpielerInfo[playerid][Geld]);
    GetPlayerWantedLevel(SpielerInfo[playerid][Wanteds]);
    dini_IntSet(Spielerdatei,"Geld",SpielerInfo[playerid][Geld]);
    dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
    return 1;
    }
    Du musst es anders machen, dazu bräuchte ich mal den Code der Speicher Funktion.
    Am besten mal den /register Befehl posten :D
    Maxx

  • NEIN ;(
    Das soll nix mit der register funktion zu tun haben. Die is in einem filterscript und da soll sie au schön bleiben... die fraktion soll halt gespeichert werden, ich dachte das geht über
    dini_IntSet(string,"gTeam",gTeam[playerid]);


    ?( ?(

  • Schick mir einfach mal den Reigster Befehl, ich muss deine Speciher Methode kenne, um dir den Code zu schicken ;)
    Im Endeffekt hat der Register Befehl nixmehr mit der Speicher Funktion zu tun.
    Aber du musst mir ihn trotzdem mal schicken :D
    Maxx

  • Scheint nicht zu gehen, er hats mir gemacht, aber da ändert sich nix durch...Wird keine Teams.ini erstellt. Also suche ich immernoch Leute die mir dabei helfen. Für Profis dauert das wahrscheinlich 5 minuten, es soll halt beim Logout eine Datei erstellt werden mit dem gTeam und beim Login diese Ausgelesen werden...Help pls ;( ;( ;(

    2 Mal editiert, zuletzt von barcelona ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen