Beiträge von Haxler

    @ [GwR]HEiTZER:
    Ich muss das Textdraw immer wieder neu erstellen weil ich nur die Koordinaten ändern will.
    Templer:
    hm so klappts auch nicht. Sobald ich einen Befehl eingeb, wird der String geändert...


    noch wer ne idee? :)


    Edit:


    Mir ist gerade aufgefallen, das dieser Fehler fast nur bei Befehlen auftritt, die nicht existieren!

    Hallo,
    Ich habe ein Textdraw, dass in einem Timer immer wieder neu erstellt wird(anders gehts nicht, da die position verändert werden muss). Nun ist das Problem, dass immer wenn ich einen Befehl eingebe solange sich das Textdraw bewegt, ändert sich der Text vom Textdraw. Ich glaube es liegt daran, dass ich das Textdraw immer wieder neu erstell aber anders gehts ja nicht :/ habt ihr ne Idee?

    yeahh spanien ^^ haha ich hoff ma dass jetzt nicht alle auf mich zurennen und mich schlagen wollen

    dcmd_freeze(playerid,params[])
    {
    new pplayerid;
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    }
    if(pInfo[playerid][admin] >= 4)
    {
    if(pfreeze[pplayerid]== 1)
    {
    SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler is schon gefreezed.");
    }
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/freeze [ID]");
    return 1;
    }
    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s gefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,0);
    pfreeze[pplayerid] = 1;
    format(string,sizeof(string),"Du hast %s gefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }

    Das kann doch garnicht gehen o.o pplayerid wird definiert, und gleich abgefragt aber die ID vom Spieler wurde doch garnicht in die Variable geschrieben?!


    dcmd_freeze(playerid,params[])
    {
    new pplayerid;
    if(pInfo[playerid][admin] >= 4)
    {


    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/freeze [ID]");
    return 1;
    }
    if(!IsPlayerConnected(pplayerid))return SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    if(pfreeze[pplayerid]== 1)return SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler is schon gefreezed.");


    new name[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du wurdest von Admin %s gefreezed!",name);
    SendClientMessage(pplayerid,COLOR_RED,string);
    TogglePlayerControllable(pplayerid,0);
    pfreeze[pplayerid] = 1;
    format(string,sizeof(string),"Du hast %s gefreezed.",pname);
    SendClientMessage(playerid,COLOR_RED,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }

    public reporttime()
    {
    new File:hFile3;
    hFile3=fopen("tickets/fragen.ini", io_read);
    if(flength(hFile3) >= 1)
    {
    frageshow(1);
    fclose(hFile3);
    }
    else
    {
    frageunshow(1);
    }
    new File:hFile4;
    hFile4=fopen("tickets/report.ini", io_read);
    if(flength(hFile4) >= 1)
    {
    reportshow(1);
    fclose(hFile4);
    }
    else
    {
    reportunshow(1);
    }
    new File:hFile5;
    hFile5=fopen("tickets/support.ini", io_read);
    if(flength(hFile5) >= 1)
    {
    supportshow(5);
    fclose(hFile5);
    }
    else
    {
    supportunshow(5);
    }
    return 1;
    }

    Ja, die Datei kann man unter OnGameModeInit erstellen. Aber abspeicher nicht xD
    Klar kannste das abspeichern wenn er die Steuern ändert. Einfach
    dini_IntSet("steuern.ini","betrag",steuer);

    In den Befehl einbauen

    if(!dini_Exists("steuern.ini"))
    {
    dini_Create("steuern.ini");
    dini_IntSet("steuern.ini","betrag",steuern); // Speicher die Variable "steuern" in der Datei ab.
    }
    muss nicht unter OnGameModeInit! Was würde das den bringen? Dann wird die Variable ja nur beim Serverstart gespeichert und da ist sie eh auf 0...
    Das muss unter OnGameModeExit :)

    Ganz einfach. Erstmal brauchst du eine Datei, in der die Variable gespeichert werden soll.
    if(!dini_Exists("steuern.ini"))
    {
    dini_Create("steuern.ini");
    }


    Damit überprüfst du ob die ini-Datei bereits vorhanden ist. Wenn nicht wird sie erstellt.
    Jetzt kommen wir zum Speichern:
    dini_IntSet("steuern.ini","betrag",steuern); // Speicher die Variable "steuern" in der Datei ab.
    Das sieht in der Datei dann so aus:


    Code
    betrag=10

    statt 10 steht einfach der Wert der Variable "steuern".


    Variable laden:
    steuern = dini_Int("steuern.ini","betrag");
    damit wird der in der Datei stehende Wert in der Variable gespeichert.

    Ich hatte auch schon oft Probleme mit Befehlen. Der Grund war das ich DCMD und normale Befehle gleichzeitig verwendet habe... Versuch mal alle normalen in DCMD oder andersrum umzuschreiben oder kommentier alle die mit DCMD gemacht wurden aus...

    dcmd_f(playerid,params[])
    {
    new msg[256];
    if(gTeam[playerid] == Team_Gs)
    {
    new aname[MAX_PLAYER_NAME], astr[256];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(astr, sizeof(astr), "*%s (Grove Street): %s", aname, msg);



    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(gTeam[playerid] == Team_Gs)
    {
    SendClientMessage(i,0x2700FFFF, astr);
    }
    }
    }
    }
    return 1;
    }


    darf nicht unter OnPlayerCommandText stehen! Tus einfach ganz unten ins Script :)