Wie kann ich ein menü (z.B. waffenmenü) machen, das erscheint, sobald man in einen pickup hineinläuft? man soll dann waffen kaufen können und wenn man nicht genug geld hat gekillt werden...
mfg HwS-Marshall
//edit: kann mir niemand helfen?
Wie kann ich ein menü (z.B. waffenmenü) machen, das erscheint, sobald man in einen pickup hineinläuft? man soll dann waffen kaufen können und wenn man nicht genug geld hat gekillt werden...
mfg HwS-Marshall
//edit: kann mir niemand helfen?
Ganz oben
new Menu: Handfeuerwaffen // Menuname variabel
new test
dann unter On GameModeInit
test = CreatPickUp(blabla)
und
Handfeuerwaffen = CreateMenu("Handfeuerwaffen",2, 200.0, 100.0, 150.0, 150.0); //Handfeuerwaffen
AddMenuItem(Handfeuerwaffen,0, "9mm Pistol 500$");
AddMenuItem(Handfeuerwaffen,0, "Silenced pistol 600$");
AddMenuItem(Handfeuerwaffen,0, "Desert eagle 1000$");
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:CurrentMenu = GetPlayerMenu(playerid);
if(CurrentMenu == Handfeuerwaffen)
{
switch(row)
{
case 0:
{
GivePlayerWeapon(playerid,22,300);
GivePlayerMoney(playerid,-500);
SendClientMessage(playerid,GELB,"Du hast eine Waffe für 500$ gekauft.");
}
case 1:
{
GivePlayerWeapon(playerid,23,300);
GivePlayerMoney(playerid,-600);
SendClientMessage(playerid,GELB,"Du hast eine Waffe für 600$ gekauft");
}
case 2:
{
GivePlayerWeapon(playerid,24,300);
GivePlayerMoney(playerid,-1000);
SendClientMessage(playerid,GELB,"Du hast eine Waffe für 1000$ gekaut.");
}
}
}
jenachdem wie viele cases du haben willst kann man das einstellen, du musst nur immer bei AddMenuItem mit zählen^^
public OnPlayerPickUpPickup(playerid, pickupid)
if(CurrentPickUp = test)// pickup name in diesem falle test, ist aber variabel
{
ShowMenuForPlayer(Handfeuerwaffen,playerid);
return 1;
}
ich bin mir beim pick up nit so sicher ansonsten ist das so richtig
hab leider 4 errors:
H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(423) : warning 225: unreachable code
H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(423) : error 017: undefined symbol "CurrentPickUp"
H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(423) : warning 215: expression has no effect
H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(423) : error 001: expected token: ";", but found ")"
H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(423) : error 029: invalid expression, assumed zero
H:\Spiele\GTA San Andreas\gamemodes\fun.pwn(423) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Alles anzeigen
hier die zeilen (423 ist hier zeile 1):
if(CurrentPickUp = ammu)// pickup name in diesem falle test, ist aber variabel
{
ShowMenuForPlayer(Waffen,playerid);
return 1;
}
kann mir vlt jemand helfen??
//edit: weiß niemand was ich flasch gemacht habe??
ersetze es mal mit diesem hier:if(pickupid == ammu)// pickup name in diesem falle test, ist aber variabel
{
ShowMenuForPlayer(Waffen,playerid);
return 1;
}
hab ich schon versucht aber das bringt auch nix...
Es muss gehen,
oder poste mal den code davor.
thx
Unreachable Code = Klammerfehler
poste wie gesagt die zeilen davor
also so:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == test)// hier hat ein "=" gefehlt
{
ShowMenuForPlayer(Handfeuerwaffen,playerid);
return 1;
}
}
habs jetzt umgeändert bekommen aber immer noch ne warung:
so sieht das ganze OnPlayerPickUpPickup aus:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == fallschirm)
{
GivePlayerWeapon(playerid, 46, 1);
}
return 1;
if(pickupid == ammu)
{
ShowMenuForPlayer(Waffen,playerid);
}
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == fallschirm)
{
GivePlayerWeapon(playerid, 46, 1);
}
if(pickupid == ammu)
{
ShowMenuForPlayer(Waffen,playerid);
}
return 1;
}
So gehts.
War bloß der Return fehler.
und so?:public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == fallschirm)
{
GivePlayerWeapon(playerid, 46, 1);
}
if(pickupid == ammu)
{
ShowMenuForPlayer(Waffen,playerid);
}
return 1;
}
//Edit: Da war jemand schneller
ey cool jetzt gehts...thx @ all
hab nochmal ne frage zu dem thema:
Wie bekomme ich das hin, dass wenn man nicht genug geld hat, man die waffe auch nicht kaufen kann?
if(GetPlayerMoney(playerid) < 500)
{
SendClientMessage(playerid, COLOR_GREY, " Du hast zuwenig geld !");
return 1;
}
muss ich das bei jedem case hinschreiben?