Hallo,
ich suche schon ne weile an einem Hilfe Dialog und bräuchte dabei etwas hilfestellung.
Und zwar habe ich im Z-Menü einen Weiteren Button eingefügt, bei betätigung soll dann ein weiteres Fenster mit Informationen aufgehen.
Der Button ist nicht das Problem, ich weiß nicht wie ich das mit dem Hilfe Dialog machen soll.
Es sollte so in die richtung wie bei Team ELAN oder so gehen, es gibt ja viele Server, die sowas haben.
Kann mir da jemand helfen?

Hilfe Dialog
-
Blackwolf99 -
7. August 2016 um 20:34 -
Geschlossen -
Erledigt
-
-
Was genau ist dein Problem denn genau? Das Erstellen des Dialogs? Das aufrufen?
Zum Erstellen empfehle ich: GUI Editor für Anfänger
-
Ich habe das GUI programm schon, neube Frage ist wie ich einen erstelle & aufrufe^^
-
Erstellen: Grundsätzlich musst du nur die Elemente von links in das Feld mittig ziehen und anpassen. aufrufen dann mit createDialog "life_meinDialogname";
-
Also als Anfänger in dem bereich kopiere ich z.B. keychain.sqf oder wie dei Datei heißt, nenne Sie um und mach dann mithilfe des GUI Programms meinen Dialog drauß, oder wäre das falsch? xD
-
Da muss ich mich eben einschalten
Das Gui Tool von mir ist nicht geeignet um Altis Life Dialoge zu bearbeiten oder zu verändern, da zu viele Fehler dabei entstehen könnten.
Sinnvoller ist es da eine neue GUI zu erstellen.Wenn du es aufrufen willst um es ingame zu testen musst du folgendes beachten:
Nehmen wir an dein Dialog heißt
class MRT_SERVER_BUGS {
und deine IDD <- ganz wichtig! Nicht IDC sondern IDD ! zu finden im obersten Teil eines Dialogesbsp.:
class MRT_SERVER_BUGS {
idd = 8065;
name= "MRT_SERVER_BUGS";
onLoad = "uiNamespace setVariable ['MRT_SERVER_BUGS', _this select 0];";
onUnLoad = "uiNamespace setVariable ['MRT_SERVER_BUGS', nil]";
movingEnable = false;
enableSimulation = true;
class controlsBackground {Also hast du nun den Namen -> MRTS_SERVER_BUGS und die IDD 8065
Mit denen kannst du nun den Dialog ingame öffnen indem du folgenden Code ausführst
_ok = createDialog "MRTS_SERVER_BUGS";
disableSerialization;
waitUntil {!isNull (findDisplay 8065)};
_display = findDisplay 8065;Das alles natürlich vorausgesetzt dass du den Dialog bereits in der description.ext eingetragen hast und diese Konform sind mit den Life_ Tags (wenn altis life)
-
Hey,
du hast zwar gesagt der Button sei nicht das Problem, aber ich frage sicherheitshalber mal nach... : Hast du im "onButtonClick" deines Buttons auch den gewünschten Dialog aufgerufen?
onButtonClick = "[] call life_fnc_myfunction";
Grüße
-
Ich kann dem obenstehenden leider nicht ganz folgen
Ich möchte halt sowas wie bei Life your Life einbauen, wo man auch serverregeln anschauen kann, etc...Und ich hab das mit dem GUI noch nie gemacht...
Ich fänds super wenn mir da mal jemand von anfang an auf die Sprünge helfen könnte^^
Lg -
Huhu,
wenn du das mit dem GUI-Editor noch nie gemacht hast, empfehle ich dir folgendes Tutorial von Smart-Tactics:
https://www.youtube.com/playlist?list=…ObAKtxckmQ_9ZMx
Für später:
Da du möchtest, dass sich ein Fenster (ein Dialog) mit Informationen über deinen Server öffnet, wenn du auf deinen Button klickst, solltest du dir vorweg Gedanken darüber machen, welche Infos du dort reinschreiben willst.
Denn je nach dem was du dort reinschreiben möchtest brauchst du mehrere Textfelder (RscText) oder bei längeren Texten sogar scrollfähige Textfelder (RscControl + RscStructuredText). Da du einen "StructuredText" in XML-Syntax formatieren kannst (also <br> oder <t size='1.6'>text</t> - kennste vielleicht), würde ich dir prinzipiell empfehlen StructuredText zu verwenden wenn es für dich sinnvoll ist. (Meistens ist es das)
Als kleiner Tipp:
Stell dir die Frage: Gibt es sowas ähnliches wie das was du machen möchtest schon auf deinem Server? Meistens ja - und dann schau dir an wie Tonic das gescriptet hat. Du hast bei dir viele viele Dialoge, nutze sie, experimentiere mit ihnen, schaue wie sie aufgerufen und welche Formatierungen verwendet werden.Gruß
Ten4Rius
LiveYourLife - Entwickler -
Ja, also ich habe das jz einfach ma gemacht:
Code
Alles anzeigenclass Life_info { idd = 2700; name= "life_info"; movingEnable = 0; enableSimulation = 1; class controlsBackground { class HG: life_RscPicture { idc = -1; text = "images\tablet\tablet.paa"; x = 0.258501 * safezoneW + safezoneX; y = 0.0716 * safezoneH + safezoneY; w = 0.485625 * safezoneW; h = 0.854 * safezoneH; }; class txt_regeln: life_RscStructuredText { idc = 1100; text = " <t size='1.6'>New-Life</t><br>Erklärung<br>Stirbt ein Spieler während einer RP-Situation oder in einem Gefecht, verliert er diesbezüglich jegliche Erinnerungen (nach dem endgültigen Tod)..... Meldet euch im Support. "; //--- ToDo: Localize; x = 0.314375 * safezoneW + safezoneX; y = 0.269 * safezoneH + safezoneY; w = 0.366094 * safezoneW; h = 0.429 * safezoneH; }; }; class controls { class CloseButtonKey : Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = 0.314375 * safezoneW + safezoneX; y = 0.7024 * safezoneH + safezoneY; w = 0.0721875 * safezoneW; h = 0.022 * safezoneH; }; }; };
Jedoch zeigt es den langen text nicht an...Es zeigt nur 'New Life' an, is da was falsch? -
Ich habe so einen Help Button auf meinem Server!
also der sieht fast so aus wie bei Team-Elan dort stehen die ganzen Infos, Regeln, Anfänger Tutorials, Preise usw... Ich kann dazu ein Tutorial machen wenn du willst!
-
Also das wäre ja absolut perfekt
-
Ok komme am Wochenende wieder und gucke ob ich da Zeit finde! Ist aufjedenfall einfach sind nur 2 Datein eine Hpp und eine Sqf war das glaube ich
-
Ok komme am Wochenende wieder und gucke ob ich da Zeit finde! Ist aufjedenfall einfach sind nur 2 Datein eine Hpp und eine Sqf war das glaube ich
Hallo nochmal,
wäre es vielleicht möglich, das du mir die Datein zur verfügung stellst? Ich würde alles abändern, etc, wäre nur sehr interessiert an einem Solchen Script... -
Jedoch zeigt es den langen text nicht an...Es zeigt nur 'New Life' an, is da was falsch?
Du müsstes mal aus <br> ein <br/> machen. Dann sollte es klappen.
Ansonsten empfehle ich dir das Ganze über eine externe sqf laufen zu lassen.
//
creatdialog "Life_info";_StructuredText = ((findDisplay 2700) displayCtrl 11000);
_StructuredText ctrlSetStructuredText parsetext format ["<t size='1.6'>New-Life</t><br/>Erklärung<br/>Stirbt ein Spieler während einer RP-Situation oder in einem Gefecht, verliert er diesbezüglich jegliche Erinnerungen (nach dem endgültigen Tod)..... Meldet euch im Support."];
// -
@Ten4Rius Vielen Dank...xD Jz gehts.
Wie kann man das machen, dass man auf der Rechten Seite so ne 'Scroll Bar' hat? Also so zum Runterscrollen...^^ -
Code
Alles anzeigenclass Menu : life_RscControlsGroup { idc = -1; x = 0.447 * safezoneW + safezoneX; y = 0.412 * safezoneH + safezoneY; w = 0.2876 * safezoneW; h = 0.118 * safezoneH; class Controls { class Menu2 : life_RscStructuredText { idc = 13998; sizeEx = 0.020; text = "Hier deinen StructuredText einfügen"; x = 0; y = 0.23 * safezoneH + safezoneY; w = 0.282 * safezoneW; h = 0.3 * safezoneH; }; }; };
-
Das funktioniert leider nicht.
Der Code:Code
Alles anzeigenclass Life_info { idd = 2700; name= "life_info"; movingEnable = 0; enableSimulation = 1; class controlsBackground { class HG: life_RscPicture { idc = -1; text = "images\tablet\tablet.paa"; x = 0.258501 * safezoneW + safezoneX; y = 0.0716 * safezoneH + safezoneY; w = 0.485625 * safezoneW; h = 0.854 * safezoneH; }; }; class Menu : life_RscControlsGroup { idc = -1; x = 0.447 * safezoneW + safezoneX; y = 0.412 * safezoneH + safezoneY; w = 0.2876 * safezoneW; h = 0.118 * safezoneH; class Controls { class Menu2 : life_RscStructuredText { idc = 13998; sizeEx = 0.020; text = "<t size='1.6'>New-Life</t><br/>Erklärung<br/> Test."; //--- ToDo: Localize; x = 0; y = 0.23 * safezoneH + safezoneY; w = 0.282 * safezoneW; h = 0.3 * safezoneH; }; }; }; };
Und das sieht dann so aus:
-
Code
Alles anzeigenclass Menu : life_RscControlsGroup { idc = -1; x = 0.447 * safezoneW + safezoneX; y = 0.412 * safezoneH + safezoneY; w = 0.2876 * safezoneW; h = 0.118 * safezoneH; class Controls { class Menu2 : life_RscStructuredText { idc = 13998; sizeEx = 0.020; text = "Hier deinen StructuredText einfügen"; x = 0; y = 0.23 * safezoneH + safezoneY; w = 0.282 * safezoneW; h = 0.3 * safezoneH; }; }; };
Hast du das gemacht oder irgendwo Kopiert/geklaut?!
-
Hast du das gemacht oder irgendwo Kopiert/geklaut?!
Naja, das sind ganz normale Dialog-Elemente. Was soll man da klauen?
Das funktioniert leider nicht.
Wenn kein Fehler kam wird werden die Koordinaten nicht stimmen. Da musst du rumtesten. Am besten du machst die eine VR-Mission und lädst die .hpp per Konsole mit 'createdialog'. (Nicht vergessen die Common-hpp zu übernehemen und die .hpp´s in der description.ext zu listen (#include))
-