Beiträge von Master_FM

    SpielerName(playerid)


    Ist das richtig?


    Zitat

    Der Beitrag ist zu kurz. Der Beitrag muss mindestens 15 Zeichen lang sein und 6 Wörter enthalten.

    Also du stellst dich echt an :D


    Also als erstes wird dieser Timer dir irgendwann Kopfschmerzen verursachen. Such dir ein Timer der eventuell schon in deinem Script läuft und füge es dort ein :)



    public GlobalTimer()
    { new VID, Float:h_vid;
    for(new i = 0; i < MAX_PLAYERS; i++)
    { if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
    { VID = GetPlayerVehicleID(i); GetVehicleHealth(VID, h_vid);
    if(h_vid <= 310)
    { TogglePlayerControllable(i, 0);
    if(playerMessageMotorschade[i] == 0)
    {
    SendClientMessage(playerid, 0xFF6900AA, "Dieses Fahrzeug hat nun einen Motorschaden");
    }
    playerMessageMotorschade[i] = true;
    } } } }


    //...

    Wenn man mit einer Kamera ein Bild schießt
    dann ist man solange unsichtbar bis man die Waffen wechselt?


    Hat da jemand schon mal was davon gehört?


    //Edit


    Also es lag an JunkBuster...


    Musste es umscripten dann ging es... Sagt mal welcher Anticheat ist momentan zu empfehlen?

    Also der gesamte Callback geht nicht... Soviel Zeichen gehen hier nicht mal...


    Hier Kurzform, bei mir kommt der Code so oft vor und immer geht er nicht... Mich würde mal interessieren ob er bei anderen geht, dann weiß ich schon mal ob es an meinem Code liegt oder an dem inputtext


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new string[256];
    if(dialogid == 103 || dialogid == 101 || dialogid == 102)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast auf den 2. Button geklickt!");
    }
    if(response == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast auf den 1. Button geklickt!");
    }
    }
    if(dialogid == 0) //Loginbox Registriert
    {
    if(response == 0) //2.Button
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dann muss du wohl den Server verlassen.");
    Kick(playerid);
    return 1;
    }
    if(response == 1) //1.Button
    {
    format(string, sizeof(string), "Test: %s",inputtext);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    if(strlen(inputtext) < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "1");
    }
    if(strlen(inputtext) < 2)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "1");
    }
    if(strlen(inputtext) < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "2");
    }
    if(strlen(inputtext) < 4)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "3");
    }
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst schon was eingeben!");
    format(string, sizeof(string), "Dein Nickname ist schon vorhanden!\n\n%s Bitte gebe hier dein Passwort ein:",sendername);
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "LoginBox", string, "OK", "Cancel");
    return 1;
    }
    OnPlayerLogin(playerid,inputtext);
    }
    }
    return 0;
    }


    //Edit


    Habe Fehler gefunden... Liegt an JunkBuster... Sobald ich das Include rausnehme ist der Fehler weg!
    Muss jetzt gucken woran es daran liegt


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new len=strlen(inputtext);
    for(new i=0;i<len;i++)
    if(inputtext[i]=='%')
    inputtext[i]='#';

    if(!len)
    return CallLocalFunction("JB_OnDialogResponse","iiiis",playerid, dialogid, response, listitem, "\1");
    return CallLocalFunction("JB_OnDialogResponse","iiiis",playerid, dialogid, response, listitem, inputtext);
    }


    Muss man echt nicht verstehen -.- Wieso er da eine \1 setzt? Daran liegt auch der Fehler

    Hi,


    mir ist grad ein Problem aufgefallen das dieser Code bei OnPlayerDialogResponse gar nicht funktionier!


    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Bitte gebe hier ein Namen oder eine ID ein!");
    return 1;
    }


    Jedoch überspringt der das obwohl ich nichts eingebe..


    Weiß einer woran das liegt?


    //Edit auf neuesten Stand geändert


    //Edit: Da passt was mit strlen an sich nicht mehr...


    Hier mein Testcode


    if(strlen(inputtext) < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "0");
    }
    if(strlen(inputtext) < 2)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "1");
    }
    if(strlen(inputtext) < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "2");
    }
    if(strlen(inputtext) < 4)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "3");
    }


    Hier der Screen


    breadfish.de/wcf/attachment/2778/


    Sobald ich < 1 habe kommt nichts, er springt nicht in die Schleife, der Rest ist okay
    Also das muss erst seit geraumer Zeit sein, den früher müsste das gegangen sein... Wüsste nicht das es mal Fehler gab...
    Weiß keiner eine Antwort bzw ob es früher ging und das seit neuestem ein Bug ist?
    Kann das mal jemand auf seinem Server testen?


    Ansonsten müsste man das melden

    er muss auch nach Spieler suchen ;) spieler_daten kann nicht noch irgendwo im Script definiert sein^^ Such nach Spieler und schau wo da nen fehler sein kann


    das hätte ich als nächstes gesagt ^^ Aber an spieler_daten hätte es auch liegen können wenn er davor
    new spieler_daten = 1; bsp macht ;)

    dann such mal bitte nach spieler_daten in deinem Script von allem was DAVOR ist
    Anscheinend ist spieler_daten davor schon mit einem Array oder einer Zahl deklariert.


    Und sei nicht so genervt sonst helf ich dir nicht mehr