erros bei Kick Befehl

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
  • gut bitte gerne.


    dann bekomme ich das wie auch schon davor:

    C:\Users\Mike\Desktop\Pawno Sachen\gamemodes\DeathScript.pwn(352) : error 029: invalid expression, assumed zero
    C:\Users\Mike\Desktop\Pawno Sachen\gamemodes\DeathScript.pwn(352) : warning 215: expression has no effect
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Zeile 352 ist die zeile wo Kick drinne steht.

  • Hast du Kick irgendwo einmal anders definiert? Da ich jetzt das Script rauf unter runter bin, aber es keine Fehler mehr beinhaltet.


    ^Habe es auch bei mir getestet und ich bekomme keine Errors oder Warnings. ;/


    PS: Am besten suchst du nach allem was Kick ist und schaust was es tut.

  • Die anderen Kick sahcne habe ich raus gemacht weil es das gleich in grün ist.

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_LISTEN)
    {
    if(response == 0)
    {
    return 1;
    }
    if(response == 1)
    {
    // schießt den dialog ohne funktion.
    }
    if(listitem == 0) // Messer
    {
    GivePlayerWeapon(playerid,4,0);
    GivePlayerMoney(playerid, -500);
    SendClientMessage(playerid,HOrange,"Du hast dir ein Messer gekauft für 500$.");
    return 1;
    }
    if(listitem == 1) // Molotov
    {
    GivePlayerWeapon(playerid,18,5);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,HOrange,"Du hast dir 5 Molotov Cocktails gekauft für 2500$.");
    return 1;
    }
    if(listitem == 2) // desert Eagle
    {
    GivePlayerWeapon(playerid,24,100);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,HOrange,"Du hast dir eine Desert Eagle mit 100 Schuss für 2500$ gekauft.");
    return 1;
    }
    if(listitem == 3) // shoutgun
    {
    GivePlayerWeapon(playerid,25,100);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,HOrange,"Du hast dir eine Shoutgun mit 100 Schuss für 2500$ gekauft.");
    return 1;
    }
    return 1;
    }
    if(dialogid == LOGIN)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen und wurdest gekickt");
    // Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen und wurdest gekickt");
    Kick(playerid);
    }
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Rot,"Dein Passwort erfüllt die Vorraussetzungen nicht!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Bitte gib ein Passwort ein:","Registrieren","Schließen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 1;
    }

  • Erstmal macht das hier keinen Sinn:


    if(dialogid == DIALOG_LISTEN)
    {
    if(response == 0)
    {
    return 1;
    }
    if(response == 1)
    {
    // schießt den dialog ohne funktion.
    }
    if(listitem == 0) // Messer
    {
    GivePlayerWeapon(playerid,4,0);
    GivePlayerMoney(playerid, -500);
    SendClientMessage(playerid,HOrange,"Du hast dir ein Messer gekauft für 500$.");
    return 1;
    }
    if(listitem == 1) // Molotov
    {
    GivePlayerWeapon(playerid,18,5);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,HOrange,"Du hast dir 5 Molotov Cocktails gekauft für 2500$.");
    return 1;
    }
    if(listitem == 2) // desert Eagle
    {
    GivePlayerWeapon(playerid,24,100);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,HOrange,"Du hast dir eine Desert Eagle mit 100 Schuss für 2500$ gekauft.");
    return 1;
    }
    if(listitem == 3) // shoutgun
    {
    GivePlayerWeapon(playerid,25,100);
    GivePlayerMoney(playerid, -2500);
    SendClientMessage(playerid,HOrange,"Du hast dir eine Shoutgun mit 100 Schuss für 2500$ gekauft.");
    return 1;
    }
    return 1;
    }


    Müsste so sein:


    if(dialogid == DIALOG_LISTEN)
    {
    if(!response) //oder response == 0 ist das gleiche
    {
    //Zwieter Button
    }
    if(response) //erste Button wurde gewählt
    {
    switch(listitem) //switchen, da es Listitems sind
    {
    case 0: //Sollte er das erste Item auswählen aus der Liste
    {
    //passiert her etwas
    }
    case 1: //Zweite Item
    {
    //passiert her etwas
    }
    //usw
    }
    }
    }


    Der Rest haut jetzt nachm ersten Anschein hin. Nur das return 1; bei dem Dialog^ ist für mich noch ein Fragezeichen (warum du es da nutzt)


    Und nochmal alles schnell zusammengefasst:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_LISTEN)
    {
    if(!response)
    {

    }
    if(response)
    {
    switch(listitem)
    {
    case 0:
    {
    //erstes Item
    }
    //usw
    }
    }
    }
    if(dialogid == LOGIN)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen und wurdest gekickt");
    Kick(playerid);
    }
    if(response ==1)
    {
    Login(playerid,inputtext);
    }
    }
    if(dialogid == DIALOG_REGISTER
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen und wurdest gekickt");
    Kick(playerid);
    }
    if(response ==1)
    {
    Login(playerid,inputtext);
    }
    }
    return 1;
    }

  • Es kann an einem falschen return schon alleine habern, wie das was ich in dem Zwischenabsatz erwähnte. Versuche wie du sagtest einmal dein register + Login ohne deinen Listen Dialog, wenn es immer noch nicht funzt sagste nochmal bescheid.