10.08.2010, 13:00 | #2 (permalink) |
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
|
parseText - Bohemia Interactive Community ist das ganze "offene Geheimnis"
Ein hint auf den gewünschten Inhalt und dann passts ... mit verschiedenen Fonts, Farben, Bildern etc.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547 |
10.08.2010, 13:46 | #3 (permalink) |
vielen dank, lester -
das hatte ich auch schon versucht, aber das funktioniert bei "hint format" irgendwie nicht. da schreibt er dann wörtlich auch den bildschirm: <t color='#FFFF00'>Name</t> anstatt das wort "Name" in gelb zu schreiben... was habe ich nicht beachtet? gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
|
|
10.08.2010, 13:53 | #4 (permalink) |
funktioniert bestens...
Code:
hint parsetext format ["<br /><t align='center' color='#00E500' size='0.8'>test: %1</t><br />",_variable];
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
10.08.2010, 14:13 | #6 (permalink) |
hmmm... jetzt ist aber alles verhunzt
ich habe ein berichtsscript entworfen, was mir wesentliche details eines waffensystems anzeigt. die ursprungsversion sieht so aus: Geraetebericht Team.sqs _device = _this ?! (alive _device) : hint format ["Waffensystem %1 zerstoert", _device], exit _speed = speed _device _fuel = fuel _device _damage = getdammage _device _weapons = weapons _device _countweapons = count _weapons _weapon1 = _weapons select 0 _weapon2 = _weapons select 1 _weapon3 = _weapons select 2 _weapon4 = _weapons select 3 _weapon5 = _weapons select 4 _ammocount1 = _device ammo _weapon1 _ammocount2 = _device ammo _weapon2 _ammocount3 = _device ammo _weapon3 _ammocount4 = _device ammo _weapon4 _ammocount5 = _device ammo _weapon5 _magazines = magazines _device _magcount = count _magazines _magname1 = _magazines select 0 _magname2 = _magazines select 1 _magname3 = _magazines select 2 _magname4 = _magazines select 3 _magname5 = _magazines select 4 _magname6 = _magazines select 5 _magname7 = _magazines select 6 _magname8 = _magazines select 7 _magname9 = _magazines select 8 _magname10 = _magazines select 9 _magname11 = _magazines select 10 _magname12 = _magazines select 11 _crew = crew _device _crewcount = count _crew _commander = getdammage commander _device _gunner = getdammage gunner _device _driver = getdammage driver _device hint format ["\n%32\n\nGeschwindigkeit = %1\nTreibstoff = %2\nSchaden = %3\n\nAnzahl Waffen = %4\n\n%5 - %10\n%6 - %11\n%7 - %12\n%8 - %13\n%9 - %14\n\nMunitionpakete = %15\n\nMunition 1 = %16\n\nMunition 2 = %17\n\nMunition 3 = %18\n\nMunition 4 = %19\n\nMunition 5 = %20\n\nMunition 6 = %21\n\nMunition 7 = %22\n\nMunition 8 = %23\n\nMunition 9 = %24\n\nMunition 10 = %25\n\nMunition 11 = %26\n\nMunition 12 = %27\n\nInsassen = %28\nGesundheit Kommandant = %29\nGesundheit Schuetze = %30\nGesundheit Fahrer = %31", _speed, _fuel, _damage, _countweapons, _weapon1, _weapon2, _weapon3, _weapon4, _weapon5, _ammocount1, _ammocount2, _ammocount3, _ammocount4, _ammocount5, _magcount, _magname1, _magname2, _magname3, _magname4, _magname5, _magname6, _magname7, _magname8, _magname9, _magname10, _magname11, _magname12, _crewcount, _commander, _gunner, _driver, _device] ich würde gerne die verbleibende schussanzahl in gelb darstellen. aber wenn ich jetzt "parsetext" einfüge und jeweils vor und hinter die betroffenen einträge <t color='#FFFF00'> und </t>, dann wird der bericht völlig falsch und verkrüpppelt dargestellt. wie baue ich das jetzt richtig ein? gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
Geändert von Feuerwerker (10.08.2010 um 14:17 Uhr). |
|
10.08.2010, 14:36 | #8 (permalink) |
ok, danke. jedoch bricht der bericht jetzt nach den jeweiligen verbleibenden schuss ab. alle weiteren details werden nicht mehr genannt.
wie bekomme ich jetzt den ganzen bericht wieder dargestellt? gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
|
|
10.08.2010, 15:24 | #9 (permalink) |
Registriert seit: 27.06.2009
Beiträge: 105
|
Ich weiß nicht zu 100% was du genau meinst aber ich würde es z.B. so machen: Code:
_headl = parseText format ["<t color='#ff0000'><t size='1.8'>%1 TEST</t></t><br/><br/>", _test_var; _firstl =parseText format ["Hier schreibst du den %1. Abschnitt !<br/><br/>",_count]; _secl = "Standby"; _separator = parseText "<br />------------------------<br />"; _thil = parseText format ["<t color='#ffff00'>%1 Zeile</t>", _count_row]; _txt = composeText [_headl,_firstl,_thil,_separator,_secl]; hint _txt Da ist alles drin mit parseText format kannst du wie gewohnt deine vars einbinden ... Gruß Max PS: Du kannst es natürlich auch so machen: Code:
_txt = parseText format ["<t color='#ff0000'><t size='1.8'>%1 TEST</t></t> <br/> <br/> Hier schreibst du den %2. Abschnitt ! <br/> <br/> Standby <br />------------------------<br /> <t color='#ffff00'>%3 Zeile</t>", _test_var, _count, _count_row]; hint _txt; Geändert von N939 (10.08.2010 um 15:28 Uhr). |
10.08.2010, 16:01 | #10 (permalink) |
ach du lieber gott... davon hab ich noch gar keine ahnung
ich möchte doch nur wissen, warum das geänderte script... ...nach der darstellung der gelben zahlen für die verbliebenen schuss nichts andreres mehr anzeigt. bis zur anzeige der munitionspakete klappt ja alles wunderbar. falls jemand es ausprobieren möchte - das waffensystem muß natürlich im editor benannt sein, dann am besten über funkauslöser abspielen. dann sieht man, dass der ganze hint nach der letzten angabe zur schussmenge endet. es kämen ja aber noch viele andere variabeln. gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
|
|
11.08.2010, 12:49 | #11 (permalink) |
hallo,
ich muss nochmal fragen - gibt es mit hint und html ein darstellungslimit? er stellt den bericht nur noch zu etwa einem dritel dar. alle anderen variabeln läßt er einfach wegfallen. wie schaffe ich es jetzt, dass der ganze bericht wieder angezeigt wird? gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
|
|
11.08.2010, 12:52 | #12 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Was mir gerade auffällt.
Was soll das , vor dem exit (Z. 2)? o.O Code:
?! (alive _device) : hint format ["Waffensystem %1 zerstoert", _device], exit Ach .sqs ist doch scheiße =D .sqf schauts viel besser aus. Code:
If (!alive _device) exitWith{hint format ["Waffensystem %1 zerstoert", _device]};
__________________
|
11.08.2010, 13:13 | #13 (permalink) |
aber in .sqs steht ; doch für "ab hier nicht beachten"...??
ja, wenn ich nur mehr ahnung von .sqf hätte... aber mit dem ganzen klammergedöns verliert man ständig den überblick. also das ; war nicht das problem. er stellt mir alles bis zur 4. waffe dar. warum danach nichts mehr? gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
|
|
11.08.2010, 13:51 | #15 (permalink) |
ok, das ist ein wort
aber wie hilft mir das jetzt, dass der vollständige bericht dargestellt wird? kannst du mir mal den gefallen tun und das script ausprobieren, damit du siehst, wo der fehler ist? machs mit funkauslöser. gruß feuerwerker
__________________
Lasst mich durch - ich bin Privatpatient!!
|
|
12.08.2010, 12:44 | #16 (permalink) |
Registriert seit: 26.03.2008
Beiträge: 2.822
|
Gerade ausprobiert, bei mir funktioniert es.
Es wird aber eben nur einmal angezeigt und der Hint wird nicht aktualisiert, was auch an der fehlenden Schleife liegt. Hab es mal auf .sqf umgeschrieben: Code:
_device = _this select 0; If (!alive _device) exitWith{hint format ["Waffensystem %1 zerstoert", _device]}; _speed = speed _device; _fuel = fuel _device; _damage = getdammage _device; _weapons = (weapons _device) - (items _device); _countweapons = count _weapons; _weapon1 = _weapons select 0; _weapon2 = _weapons select 1; _weapon3 = _weapons select 2; _weapon4 = _weapons select 3; _weapon5 = _weapons select 4; _ammocount1 = _device ammo _weapon1; _ammocount2 = _device ammo _weapon2; _ammocount3 = _device ammo _weapon3; _ammocount4 = _device ammo _weapon4; _ammocount5 = _device ammo _weapon5; _magazines = magazines _device; _magcount = count _magazines; _magname1 = _magazines select 0; _magname2 = _magazines select 1; _magname3 = _magazines select 2; _magname4 = _magazines select 3; _magname5 = _magazines select 4; _magname6 = _magazines select 5; _magname7 = _magazines select 6; _magname8 = _magazines select 7; _magname9 = _magazines select 8; _magname10 = _magazines select 9; _magname11 = _magazines select 10; _magname12 = _magazines select 11; _crew = crew _device; _crewcount = count _crew; _commander = getdammage commander _device; _gunner = getdammage gunner _device; _driver = getdammage driver _device; hint parsetext format ["<br/><t color='#FFFF00'>%32</t><br/><br/>Geschwindigkeit = %1<br/>Treibstoff = %2<br/>Schaden = %3<br/><br/>Anzahl Waffen = %4<br/><br/>%5 - <t color='#FFFF00'>%10</t><br/>%6 - <t color='#FFFF00'>%11</t><br/>%7 - <t color='#FFFF00'>%12</t><br/>%8 - <t color='#FFFF00'>%13</t><br/>%9 - <t color='#FFFF00'>%14</t><br/><br/><t color='FFFF66'>Munitionpakete = %15</t><br/><br/>Munition 1 = %16<br/><br/>Munition 2 = %17<br/><br/>Munition 3 = %18<br/><br/>Munition 4 = %19<br/><br/>Munition 5 = %20<br/><br/>Munition 6 = %21<br/><br/>Munition 7 = %22<br/><br/>Munition 8 = %23<br/><br/>Munition 9 = %24<br/><br/>Munition 10 = %25<br/><br/>Munition 11 = %26<br/><br/>Munition 12 = %27<br/><br/>Insassen = %28<br/>Gesundheit Kommandant = %29<br/>Gesundheit Schuetze = %30<br/>Gesundheit Fahrer = %31", _speed, _fuel, _damage, _countweapons, _weapon1, _weapon2, _weapon3, _weapon4, _weapon5, _ammocount1, _ammocount2, _ammocount3, _ammocount4, _ammocount5, _magcount, _magname1, _magname2, _magname3, _magname4, _magname5, _magname6, _magname7, _magname8, _magname9, _magname10, _magname11, _magname12, _crewcount, _commander, _gunner, _driver, _device]; Code:
nul = [unit] execVM "bericht.sqf"; Code:
_weapons = weapons _device; Code:
_weapons = (weapons _device) - (items _device); Könntest natürlich auch noch das Nachtsichtgerät ("NVGoggles"), sowie die Ferngläser / Entfernungsmesser aus dem Waffenarray entfernen. Und dann erst mit einem If überprüfen, wie viele Elemente das Array hat und dann erst die verschiedenen Waffen in verschiedene Variablen speichern, wobei das nicht unbedingt notwendig wäre. Das selbe auch bei den Magazinen. Denn wenn mal eine Einheit oder ein Fahrzeug weniger als deine 5 Waffen hat, wird dein Skript Fehler bringen: Du kannst ja Code:
X select Y; Ansonsten mit einer While Schleife würde es so aussehen: Code:
_device = _this select 0; While {alive _device} do { _speed = speed _device; _fuel = fuel _device; _damage = getdammage _device; _weapons = (weapons _device) - (items _device); _countweapons = count _weapons; _weapon1 = _weapons select 0; _weapon2 = _weapons select 1; _weapon3 = _weapons select 2; _weapon4 = _weapons select 3; _weapon5 = _weapons select 4; _ammocount1 = _device ammo _weapon1; _ammocount2 = _device ammo _weapon2; _ammocount3 = _device ammo _weapon3; _ammocount4 = _device ammo _weapon4; _ammocount5 = _device ammo _weapon5; _magazines = magazines _device; _magcount = count _magazines; _magname1 = _magazines select 0; _magname2 = _magazines select 1; _magname3 = _magazines select 2; _magname4 = _magazines select 3; _magname5 = _magazines select 4; _magname6 = _magazines select 5; _magname7 = _magazines select 6; _magname8 = _magazines select 7; _magname9 = _magazines select 8; _magname10 = _magazines select 9; _magname11 = _magazines select 10; _magname12 = _magazines select 11; _crew = crew _device; _crewcount = count _crew; _commander = getdammage commander _device; _gunner = getdammage gunner _device; _driver = getdammage driver _device; hintSilent parsetext format ["<br/><t color='#FFFF00'>%32</t><br/><br/>Geschwindigkeit = %1<br/>Treibstoff = %2<br/>Schaden = %3<br/><br/>Anzahl Waffen = %4<br/><br/>%5 - <t color='#FFFF00'>%10</t><br/>%6 - <t color='#FFFF00'>%11</t><br/>%7 - <t color='#FFFF00'>%12</t><br/>%8 - <t color='#FFFF00'>%13</t><br/>%9 - <t color='#FFFF00'>%14</t><br/><br/><t color='FFFF66'>Munitionpakete = %15</t><br/><br/>Munition 1 = %16<br/><br/>Munition 2 = %17<br/><br/>Munition 3 = %18<br/><br/>Munition 4 = %19<br/><br/>Munition 5 = %20<br/><br/>Munition 6 = %21<br/><br/>Munition 7 = %22<br/><br/>Munition 8 = %23<br/><br/>Munition 9 = %24<br/><br/>Munition 10 = %25<br/><br/>Munition 11 = %26<br/><br/>Munition 12 = %27<br/><br/>Insassen = %28<br/>Gesundheit Kommandant = %29<br/>Gesundheit Schuetze = %30<br/>Gesundheit Fahrer = %31", _speed, _fuel, _damage, _countweapons, _weapon1, _weapon2, _weapon3, _weapon4, _weapon5, _ammocount1, _ammocount2, _ammocount3, _ammocount4, _ammocount5, _magcount, _magname1, _magname2, _magname3, _magname4, _magname5, _magname6, _magname7, _magname8, _magname9, _magname10, _magname11, _magname12, _crewcount, _commander, _gunner, _driver, _device]; sleep 0.1; }; Einfacher wäre es mit einer switch do Anweisung. Und was mir aufgefallen ist. Bei deinem Analyse Skript werden die Magazine und Waffen immer nur vom Hauptturret angezeigt. Wenn ein Fahrzeug mehrere Turrets hat, dann werden diese nicht angezeigt. Musst das Skript also noch anpassen
__________________
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|