Hallo liebes Forum,
Ich bin grade dabei Scripten zu lernen, und hab mich an eine "Waffenkiste" gemacht.
Ganz oben im Script habe ich:
#define waffendialog 1337
Der Dialog öffnet sich mit dem befehl /waffenkiste und sieht so aus:
if(strcmp("/waffenkiste", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, 674.6451, 1845.8447, 5.3527))
{
ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "Waffenkiste", "Silenced Pistol - 750$\nDesert Eagle - 1500$\nColt - 500$", "Kaufen", "Schließen");
return 1;
}
else SendClientMessage(playerid, 0xB4B5B7FF, "Du bist nicht im Erdgeschoss an der Waffenkiste!");
}
Und das was eigentlich passieren soll ist hier:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1337)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid, 23, 20);
SendClientMessage(playerid, 0xB4B5B7FF, "Du hast eine sPistol mit 20 Schuss erhalten.");
SendClientMessage(playerid, 0xB4B5B7FF, "Du hast 750$ bezahlt. Mach keine Dummheiten!");
GivePlayerMoney(playerid, -750);
}
if(listitem == 1)
{
GivePlayerWeapon(playerid, 24, 20);
SendClientMessage(playerid, 0xB4B5B7FF, "Du hast eine Desert Eagle mit 20 Schuss erhalten.");
SendClientMessage(playerid, 0xB4B5B7FF, "Du hast 1500 bezahlt. Mach keine Dummheiten!");
GivePlayerMoney(playerid, -1500);
}
if(listitem == 2)
{
GivePlayerWeapon(playerid, 22, 20);
SendClientMessage(playerid, 0xB4B5B7FF, "Du hast einen Colt mit 20 Schuss erhalten.");
SendClientMessage(playerid, 0xB4B5B7FF, "Du hast 500$ bezahlt. Mach keine Dummheiten!");
GivePlayerMoney(playerid, -500);
return 1;
}
}
}
Problem:
Wenn ich jetzt /waffenkiste im Spiel an der richtigen Position eingebe, kommt zwar der Dialog, aber führ die Befehle darin nicht aus.
.ShiiX ~*