Glückwunsch war das den so schwer einen verdammten kack Dialog zu zeigen?
Nehme das return 1; nach Kick raus.
PS: Denke einmal das es in deinem Script richtig Eingerückt ist.
Glückwunsch war das den so schwer einen verdammten kack Dialog zu zeigen?
Nehme das return 1; nach Kick raus.
PS: Denke einmal das es in deinem Script richtig Eingerückt ist.
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.
Nein alles ganz normal und immer so
Kick(playerid);
oder halt wie es gehört aber nicht anders geschrieben.
Kannst du einmal bitte deinen kompletten Callback von OnDialogResponse posten? Da wie gesagt hier nicht der Fehler liegt.
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;
}
oky das mit dem Listen dialog lasse ich erst mal bis ich das was du geshcrieben hast 100% verstehe.
jetzt du den rest, oky aber woran kann es dann liegen wenn das eig alles ok ist.
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.
ich habe den listen dialog komplet als Kommentar gemacht aber es bleibt immer noch so.
Haste mal C+P von dem was ich schrieb gemacht? Wenn nicht versuche es einmal damit bitte.
ja habe ich gemacht
Schon inordnung, meine mit C+P = Copy + Paste also auf deutsch Kopieren und Einfügen
jo gemacht xD