Ich habe ein simples Waffen Dialog System gemacht.
Doch wenn ich bestätigen drücke bekomme ich keine Waffen, warum?
Hier mal der Code:
{
if(response)
{
switch(dialogid)
{
case 1:
{
switch(listitem)
{
case 0:
{
GivePlayerWeapon(playerid,1,1);
}
case 1:
{
GivePlayerWeapon(playerid,2,1);
}
case 2:
{
GivePlayerWeapon(playerid,3,1);
}
case 3:
{
GivePlayerWeapon(playerid,4,1);
}
case 4:
{
GivePlayerWeapon(playerid,5,1);
}
case 5:
{
GivePlayerWeapon(playerid,6,1);
}
case 6:
{
GivePlayerWeapon(playerid,7,1);
}
case 7:
{
GivePlayerWeapon(playerid,8,1);
}
case 8:
{
GivePlayerWeapon(playerid,9,1);
}
case 9:
{
GivePlayerWeapon(playerid,10,1);
}
case 10:
{
GivePlayerWeapon(playerid,11,1);
}
case 11:
{
GivePlayerWeapon(playerid,14,1);
}
case 12:
{
GivePlayerWeapon(playerid,15,1);
}
case 13:
{
GivePlayerWeapon(playerid,16,100);
}
case 14:
{
GivePlayerWeapon(playerid,18,100);
}
case 15:
{
GivePlayerWeapon(playerid,22,1000);
}
case 16:
{
GivePlayerWeapon(playerid,23,1000);
}
case 17:
{
GivePlayerWeapon(playerid,24,1000);
}
case 18:
{
GivePlayerWeapon(playerid,25,500);
}
case 19:
{
GivePlayerWeapon(playerid,26,500);
}
case 20:
{
GivePlayerWeapon(playerid,27,500);
}
case 21:
{
GivePlayerWeapon(playerid,28,5000);
}
case 22:
{
GivePlayerWeapon(playerid,29,5000);
}
case 23:
{
GivePlayerWeapon(playerid,30,5000);
}
case 24:
{
GivePlayerWeapon(playerid,31,500);
}
case 25:
{
GivePlayerWeapon(playerid,32,5000);
}
case 26:
{
GivePlayerWeapon(playerid,33,500);
}
case 27:
{
GivePlayerWeapon(playerid,35,10);
}
case 28:
{
GivePlayerWeapon(playerid,37,5000);
}
case 29:
{
GivePlayerWeapon(playerid,38,500);
}
case 30:
{
GivePlayerWeapon(playerid,39,500);
}
case 31:
{
GivePlayerWeapon(playerid,40,500);
}
case 32:
{
GivePlayerWeapon(playerid,42,500);
}
case 33:
{
GivePlayerWeapon(playerid,46,1);
}
}
}
}
}
return 1;
{
Simples dialog System
- Pillow
- Geschlossen
- Erledigt
-
-
Änder mal oben
if(response==0)
-
geht immernochnicht.
Zeichen:20 Verbleibend:19980 -
if(response)
{
switch(dialogid)
{
}
}wo steckt da der sinn?
das muss
switch(dialogid)
{
case 1:
{
if(response)
{
}
}
}
heißen -
Es muss auch if(response) sein und nicht switch(response) !
if(dialogid == DEINEDIALOGID){ if(response == 0) { soll passieren wenn keine antwort gegeben wurdereturn 1; } if(response == 1) { soll passieren, wenn eine Antwort gegeben wurde }}
Edit: Google Chrome wird vom Forum wohl nicht wirklich gemocht
-
if(response ==0) bzw if(!response) ist der 2. Button und nicht wenn keine Antwort gegeben wurde D
-
Dann wurde ja auch keine Antwort gegeben Das ist ja quasi bei allen der Abbrechen Button
EDIT:
Erklärung: Response = Antwort (Übersetzung)
das ! bei if(! bedeutet Gegenteil bzw ungleich.
Wie z.B.: auch bei einer PHP if-Abfrage [ if(0 != 1) ].Was ist also der Fall, wenn eine (Ab)Frage nicht beantwortet wurde?
=> Keine Antwort -
Es kann aber auch der Zurück Button sein
-
Siehe mein Edit
-
So ich habe es mal anders probiert :
{
if(dialogid == DIALOG_GUN1)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid,1,1);
}
if(listitem == 1)
{
GivePlayerWeapon(playerid,2,1);
}
if(listitem == 2)
{
GivePlayerWeapon(playerid,3,1);
}
if(listitem == 3)
{
GivePlayerWeapon(playerid,4,1);
}
if(listitem == 4):
{
GivePlayerWeapon(playerid,5,1);
}
if(listitem == 5)
{
GivePlayerWeapon(playerid,6,1);
}
if(listitem == 6)
{
GivePlayerWeapon(playerid,7,1);
}
if(listitem == 7)
{
GivePlayerWeapon(playerid,8,1);
}
if(listitem == 8)
{
GivePlayerWeapon(playerid,9,1);
}
if(listitem == 9)
{
GivePlayerWeapon(playerid,10,1);
}
if(listitem == 10)
{
GivePlayerWeapon(playerid,11,1);
}
if(listitem == 11)
{
GivePlayerWeapon(playerid,14,1);
}
if(listitem == 12)
{
GivePlayerWeapon(playerid,15,1);
}
if(listitem == 13)
{
GivePlayerWeapon(playerid,16,100);
}
if(listitem == 14)
{
GivePlayerWeapon(playerid,18,100);
}
if(listitem == 15)
{
GivePlayerWeapon(playerid,22,1000);
}
if(listitem == 16)
{
GivePlayerWeapon(playerid,23,1000);
}
if(listitem == 17)
{
GivePlayerWeapon(playerid,24,1000);
}
if(listitem == 18)
{
GivePlayerWeapon(playerid,25,500);
}
if(listitem == 19)
{
GivePlayerWeapon(playerid,26,500);
}
if(listitem == 20)
{
GivePlayerWeapon(playerid,27,500);
}
if(listitem == 21)
{
GivePlayerWeapon(playerid,28,5000);
}
if(listitem == 22)
{
GivePlayerWeapon(playerid,29,5000);
}
if(listitem == 23)
{
GivePlayerWeapon(playerid,30,5000);
}
if(listitem == 24)
{
GivePlayerWeapon(playerid,31,500);
}
if(listitem == 25)
{
GivePlayerWeapon(playerid,32,5000);
}
if(listitem == 26)
{
GivePlayerWeapon(playerid,33,500);
}
if(listitem == 27)
{
GivePlayerWeapon(playerid,35,10);
}
if(listitem == 28)
{
GivePlayerWeapon(playerid,37,5000);
}
if(listitem == 29)
{
GivePlayerWeapon(playerid,38,500);
}
if(listitem == 30)
{
GivePlayerWeapon(playerid,39,500);
}
if(listitem == 31)
{
GivePlayerWeapon(playerid,40,500);
}
if(listitem == 32)
{
GivePlayerWeapon(playerid,42,500);
}
if(listitem == 33)
{
GivePlayerWeapon(playerid,46,1);
}
}
return 1;
}jetzt bekomme ich diese Fehler:
C:\Users\Pillow\Desktop\samp03dsvr_RC7_win32\gamemodes\Test.pwn(401) : error 029: invalid expression, assumed zero
C:\Users\Pillow\Desktop\samp03dsvr_RC7_win32\gamemodes\Test.pwn(524) : error 029: invalid expression, assumed zero
C:\Users\Pillow\Desktop\samp03dsvr_RC7_win32\gamemodes\Test.pwn(524) : error 004: function "OnPlayerClickPlayer" is not implemented
C:\Users\Pillow\Desktop\samp03dsvr_RC7_win32\gamemodes\Test.pwn(528) : error 030: compound statement not closed at the end of file (started at line 381)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase4 Errors.
-
ändere if(response) mal in if(response == 1) um
EDIT: Die restlichen Fehler scheinen ja nicht in dem Scriptabschnitt zu passieren, da ja nirgends OnPlayerClickPlayer benutzt wird.
-
if(response) ist das gleiche wie if(response==1)
-
if(response) ist das gleiche wie if(response==1)
Man lernt nie aus werds bei gelegenheit mal ausprobieren. Bin da ja noch skeptisch
Alles in allem sieht der Code auch sehr "verrückt" aus. Also ziemlich "uneingerückt"
-
Habs nun selbst geschafft .
Fehlte nur ne klammer xDMfg Pillow
-
breadfish.de
Hat das Thema geschlossen.