Es heißt Dialog.
Dialogmenü in SA-MP 0.3 erstellen
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
das erste mal das ich das hinbekommen habe. danke für das sehr gute tutorial =)
-
switch(listitem) {
case 0: GivePlayerWeapon(playerid,22,100);
case 1: GivePlayerWeapon(playerid,24,75);
case 2: GivePlayerWeapon(playerid,32,300);
case 3: GivePlayerWeapon(playerid,35,10);
case 4: GivePlayerWeapon(playerid,34,30);
case 5: GivePlayerWeapon(playerid,25,60);
case 6: GivePlayerWeapon(playerid,16,20);
}Um einiges kürzer & übersichtlicher.
-
Gutes TUT
Auch alles erklärt usw FS mitbeigelegt.
Für Anfänger nais8/10
-
wie kriege ich hin, dass wen ich z.B. ein Banksytem damit machen möchte, dass wenn man auf Auszahlen klickt, ein neues Menü ershcient in dem man den Betrag eingeben kann?? Der eingegeben Betrag soll mit einem Klck auf Auszahlen ausgezahlt werden??
-
Bleibt im Grunde gleich nur das du einen anderen Dialog Typ festlegen musst dazu eine Spezielle ID erstellen die kein anderer Dialog besitzt,
damit du in der zuständigen Callback abfragen kannst welche ID im mom. geöffnet ist & welches ,,Listitem´´ ausgewählt wurde basierend auf einem Index.
Input Text kann dabei auch verwendet werden , das gibt den jeweiligen Text aus der im Listen Objekt enthalten ist -
Wie mache ich es das ich
if (strcmp("/waffen", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, Waffenmenu, DIALOG_STYLE_LIST, "Waffen", "Pistole\nDesert Eagle\nM4\nRaketenwerfer\nScharfschützengewehr\nGewehr\nGranate", "Auswählen", "Abbrechen");
return 1;
}Das nur an einen bestimmten ort kann ?
-
@0.3
if (strcmp("/waffen", cmdtext, true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,radius,xyz))
{
ShowPlayerDialog(playerid, Waffenmenu, DIALOG_STYLE_LIST, "Waffen", "Pistole\nDesert Eagle\nM4\nRaketenwerfer\nScharfschützengewehr \nGewehr\nGranate", "Auswählen", "Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist nicht beim ...");
}
return 1;
}
@0.2
if (strcmp("/waffen", cmdtext, true) == 0)
{
if(PlayerToPoint(radius,playerid,coords))
{
ShowPlayerDialog(playerid, Waffenmenu, DIALOG_STYLE_LIST, "Waffen", "Pistole\nDesert Eagle\nM4\nRaketenwerfer\nScharfschützengewehr \nGewehr\nGranate", "Auswählen", "Abbrechen");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist nicht beim ...");
}
return 1;
} -
Ich habs genauso gemacht wie im Tut, funktioniert soweit nur das die zeilenumbrüche nicht gemacht werden, was mache ich da wohl falsch ?
ShowPlayerDialog(playerid, portmenu, DIALOG_STYLE_LIST, "Teleport", "Admin Base/nPräsident Base/nLSPD Base/nSFPD Base/nFBI Base/nArmy Base/nSwat Base/nMedic Base/nOrdnungsamt Base/nTaxi Base/nReporter Base/nKirche Base/nHitman Base/nTerror Base/n HellsAngels Base /nATeam Base/nGrooveStreet Base/nBallas Base/nAztecas Base/nVagos Base/nRifa Base/nYakuza Base/nDaNang Base/nLCN Base", "Auswählen", "Abbrechen");
-
Anstadt / musst du \ schreiben.
-
Oha, du hast recht - Tja so schnell hat man mal was verwechselt
1000 Dank !
-
Wie kann ich es scripten, dass man für eine Waffe Geld bezahlen muss?
Bin noch neu im Scipting bereich^^^PS: für die ganz netten^^:
Wie kann man es dann machen, dass man wenn man eins auswählt, HP bekommt? Also im Falle eines Essensmenüs? Ihr müsst euch nicht die ganze Arbeit machen, dass ich am Ende nur noch Copy'n'Paste machen muss, ich will schon dazu lernen^^ -
Moin,
versuch es ma damit
Spoiler anzeigen GivePlayerMoney(playerid, -1234);MfG
Ed_HardyEdIT: Zu deinem +HP benutz doch einfach
Spoiler anzeigen SetPlayerHealth -
Also müsste ich es dann so einbauen, oder?:
if(dialogid == Waffenmenu) // Name des Menüs, das wir als ID 0 definiert haben
{
if(response)
{
if(listitem == 0) // Pistole
{
GivePlayerWeapon(playerid,22,100);
GivePlayerMoney(playerid, -1500);
}bzw bei dem Essen einfach GivePlayerMoney(playerid, -1500) durch SetPlayerHealth(playerid, 30) ersetzen?
Und noch eine Frage, wenn ich SetPlayerHealth auf 30 setze, bekommt der Spieler dann 30HP+ oder hat er dann insgesamt 30HP?
Danke im vorraus^^Sollte man dann insgesamt 30HP haben, wie kann man es scripten, dass man +30bekommt?
-
Das mit der Waffe is richtig.
Und das mit dem Essen wie du es nimmst
Also du kannst das mit dem GivePlayerMoney(playerid, -1500); drinne lassen dann wird eben der Betrag auch beim Essen kaufen abgezogen.
Und das hier
Spoiler anzeigen new Float:health;Spoiler anzeigen GetPlayerHealth(playerid,health);
SetPlayerHealth(playerid,health+100.0);
ist für das Essen.
Also du würdest 100HP dazu bekommen, hättest dann sozusagen 200HP wenn du von 100 ausgehst.MfG
Ed_Hardy -
danke dir vielmals^^
-
das hier ist mein bisheriges Script:
Code
Alles anzeigenpublic OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == Waffenmenu) { if(response) { if(listitem == 0) // 9mm { GivePlayerWeapon(playerid,22,50); GivePlayerMoney(playerid,-1000); } if(listitem == 1) // silenced { GivePlayerWeapon(playerid,23,50); GivePlayerMoney(playerid,-1000); } if(listitem == 2) // Deagle { GivePlayerWeapon(playerid,24,50); GivePlayerMoney(playerid,-3000); } if(listitem == 3) // mp5 { GivePlayerWeapon(playerid,29,50); GivePlayerMoney(playerid,-4000); } if(listitem == 4) // AK { GivePlayerWeapon(playerid,30,50); GivePlayerMoney(playerid,-6000); } if(listitem == 5) // M4 { GivePlayerWeapon(playerid,31,50); GivePlayerMoney(playerid,-6000); } if(listitem == 6) // Gewehr { GivePlayerWeapon(playerid,33,50); GivePlayerMoney(playerid,-5000); } if(listitem ==7) //Sniper { GivePlayerWeapon(playerid,34,50); GivePlayerMoney(playerid,-100000); } if(listitem ==8) //Fallschirm { GivePlayerWeapon(playerid,49,0); GivePlayerMoney(playerid,-100); } } } return 1; }
Aber wie kann ich es machen, dass man das entsprechende Item nur kaufen kann, wenn man genug Geld hat? -
niemand?
-
Ich weis jetzt nicht genau wie man das bei Dialog einfügen muss.
Dialog ist mir auch neu.if(GetPlayerMoney(playerid) >=1000)
{
if(listitem ==8) //Fallschirm
{
GivePlayerWeapon(playerid,49,0);
GivePlayerMoney(playerid,-100);
}
else
{
SendClientMessage(playerid, FARBE , " Du hast nicht genug Geld " );Hoffe das stimmt so
Pass aber auf das immer gleichviele Klammern von beiden Sorten vorhanden sind.-Suggalike
-
ah danke^^
sieht ganz logisch aus, ich baus am freitag wenn ich am PC bin mal ein^^