Wie kann ich bei einem Durchsuchenbefehl die Waffen des Spielers anzeigen lassen? Ich verstehe das mit GetWeapondata irgendwie nciht. Könnte mir jemand den Code vorschreiben?
Mfg Kryx
Wie kann ich bei einem Durchsuchenbefehl die Waffen des Spielers anzeigen lassen? Ich verstehe das mit GetWeapondata irgendwie nciht. Könnte mir jemand den Code vorschreiben?
Mfg Kryx
if (strcmp("/waffen", cmdtext, true, 10) == 0){
new weapons[13][2],i,string[64];
for (; i < 13; ++i){
GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
weapons[i][0] && (GetWeaponName(weapons[i][0],string,24),format(string,64,"Slot: %d | Waffename: %s | Munition: %d",i,string, weapons[i][1]),SendClientMessage(playerid,-1,string));
}
if(string[0]==EOS)return SendClientMessage(playerid,-1,"Der Spieler hat keine Waffen");
return 1;
}
ich hab dir mal ein beispiel code gemacht da sist eigentlich ganz einfach
GetPlayerWeaponData benötigt eine spielerid als erstes argument das zweite ist der Slot und das dritte und vierte sind rückgabe werte. Daher wird die id der Waffe an weapons[i][0] und die Munition an
weapons[i][1] zurück gegeben daher auch eine 2 dimensionale array um das ganze leichter handzuhaben. Mit den werten kannst du nun arbeiten.
die for-schleife wird benötigt um durch die ganzen slots zu gehen es gibt insgesammt ja 13 slots( von 0 - 12).
Ok, danke aber wie kann ich ein - reinmachen, wenn keine Waffe da ist? also dass es alle Slots anzeigt.
[b]Es wird eine for i Schleife benutzt, deshalb wird die Message für jede ID gesendet.
Wird es eben nicht,das ist das Problem
Wird es eben nicht,das ist das Problem
In dem du ganz einfach due Abfrage umstellst weil der code wird nur ausgeführt wenn weapons[i][0] 1 oder höher ist daher muss eine waffe vorhanden sein.
Also wie schon erwähnt einfach die Abfrage umstellen