AMIGA-RESISTANCE https://forum.amiga-resistance.info/ |
|
kleines Lunch Tool für PC https://forum.amiga-resistance.info/viewtopic.php?t=2708 |
Seite 5 von 6 |
Autor: | Murmel [ 24 Okt 2010, 17:22 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
@Helmut Hi. Jupp Tipsi ist super hier ![]() ![]() Also das Tool hat schon nen Schritt gemacht inzwischen ![]() ![]() Allerdings habe ich ein Problem mit dem Namen unter dem Bild. Ich habe versucht es auszugeben mit Textout und nprint (Jeder Buchstabe des Namens wird einzeln gesetzt um es farblich zu machen) Aber das ist alles nicht so das wahre, weil es wird nie wirklich mittig zentriert, und löschen kann man es auch nicht es wird dann der Text bei Änderungen immer wieder nur überschrieben. Wie kann man überhaupt das geschriebene von Texout/locate/nprint wieder löschen? Ich komme da irgendwie nicht weiter, dachte nicht das so ne kleine Sache so kompliziert wird oo# Vieleicht weiss ja jemand ne Lösung ? Code: Alles auswählen ; Namensparser Function fparser(msg) ;TextOut(230, 213, "---------------------------") ;gamename$ ObjektID = scui.GetIFOID("Playeroption1") Obj=scui.Get(ObjektID) gamename$=Obj.value ;a$ = TrimStr("aaaaHello World", "a", False) ;a$ = TrimStr(gamename$, "^1", False) len = StrLen(gamename$) ;split = {} ;a$ = ToString(gamename$) ;test$=MidStr("Hello World!",1,1) ;NPrint(test$) For k = 0 To len split$.k = MidStr(gamename$, k, 1) split1$.k = MidStr(gamename$, k + 1, 1) If split$.k= "^" And split1$.k = "1" SetFontColor (#RED) split$.k= "" split1$.k = "" EndIf If split$.k= "^" And split1$.k = "2" Then SetFontColor (#GREEN) If split$.k= "^" And split1$.k = "4" Then SetFontColor (#BLUE) ;Locate (218 + ( k * 12 ),218) ;If split$.k <> "^" And split$.k <> "1" ;If split1$.k <> "^" And split1$.k <> "1" ;ElseIf ;NPrint (split$.k) TextOut(235 + ( k * 7 ) , 213, split$.k) ;EndIf ;Print (split$.k) ; Next EndFunction |
Autor: | Tipsi [ 24 Okt 2010, 19:38 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Salli Murmel Um den Text wieder zu löschen, kenne ich zwei Möglichkeiten: Du schreibst den selben Text nochmals, allerdings diesmal mit der Hintergrundfarbe. Du zeichnest über den Text ein Rechteck mit der Hintergrundfarbe. Den Text einmitten ist für mich auch was neues. Was ich aus Deinem Code herauslesen kann, ist, dass der TextOut() Befehl immer bei 235 beginnt, Egal welche Buchstaben oder Zahlen Du verwendest. Das Problem ist nun, dass Du eine Porpotionalschrift verwendest. Das bedeutet, ein "i" ist weniger breit wie ein "R" (jedes Zeichen hat eine andere Breite). Somit musst Du für jeden Text die gesammte Breite neu berechnen. So, die Position vom Text soll ja mittig zum Bild sein. MitteBild = BildPositionX + Bildbreite / 2 StartPositionText = MitteBild - TextBreite / 2 oder beides in einer Zeile: StartPositionText = BildPositionX + Bildbreite / 2 - TextBreite / 2 Jetzt musst Du nur noch beim Befehl TextOut(235 + ( k * 7 ) , 213, split$.k) diese 235 mit StartPositionText austauschen TextOut(StartPositionText + ( k * 7 ) , 213, split$.k) Allerdings musst Du die Berechnung für die StartPositionText vor der For-Next Schlaufe einfügen. BildPositionX -- sollte irgendwo in Deinem Code stehen. Bildbreite -- Ich weiss nicht, ob in Hollywood ein Befehl existiert, welcher die Bildbreite liefert. Falls aber das Bild nie ändert, kannst Du auch mit einem Bildbearbeitungs- programm die Breite herausfinden. TextBreite -- mit dem Hollywoodbefehl TextWidth() kannst Du die TextBreite berechnen. Ich hoffe nur, meine Überlegungen stimmen und Du kannst sie nachvollziehen. Sonst melde Dich nochmals. Griessli Tipsi Kleiner Nachtrag: Falls Hollywood die Punkt vor Strich Regel nicht beachtet, musst Du alle Mal- und Durchrechnungen (Multiplikation und Division) in Klammer setzten. Ich ging beim Aufschreiben von der Punkt vor Strich Regel aus. |
Autor: | Murmel [ 25 Okt 2010, 23:41 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Hi Tipsi Danke für die Tips ![]() Das mit der Box hat mir sehr geholfen, das klappt wenigstens einwandfrei. Der Rest mit dem erechnen war dann doch zu ungenau, aber dann plötzlich fiel mir auf wie doof ich bin oo xD Code: Alles auswählen ; Namensparser Function fparser() SetFontColor ($d3d3d3) SetFillStyle(#FILLCOLOR) Box(225, 215, 155, 30, $525252, {RoundLevel = 80}) ObjektID = scui.GetIFOID("Playeroption1") Obj=scui.Get(ObjektID) gamename$=Obj.value ; Steuerzeichen werden durch Textfarbanweisungen ersetzt Nickcolor$ = ReplaceStr(gamename$, "^1", "[color=#RED]") Nickcolor$ = ReplaceStr(Nickcolor$, "^2", "[color=#GREEN]") Nickcolor$ = ReplaceStr(Nickcolor$, "^3", "[color=#YELLOW]") Nickcolor$ = ReplaceStr(Nickcolor$, "^4", "[color=#BLUE]") Nickcolor$ = ReplaceStr(Nickcolor$, "^5", "[color=$00ffff]");CYAN Nickcolor$ = ReplaceStr(Nickcolor$, "^6", "[color=#$ffc0cb]");PINK Nickcolor$ = ReplaceStr(Nickcolor$, "^7", "[color=#WHITE]") Nickcolor$ = ReplaceStr(Nickcolor$, "^8", "[color=#BLACK]") SetFontColor (#BLACK) TextOut(#CENTER - 17, 222, Nickcolor$) EndFunction Mein Gott hat mich das Zeit gekostet ![]() Aber nächste Frage ![]() |
Autor: | Tipsi [ 26 Okt 2010, 14:45 ] | |||
Betreff des Beitrags: | Re: kleines Lunch Tool für PC | |||
Salli Murmel Bitte, gern geschehen Und Du bist um eine gute Erfahrung reicher ![]() Das ist erst ab Hollywood 4.7 möglich. Da existiert für diesen Wunsch ein Preprozessorbefehl: @APPICON Ich habe allerdings noch keine Erfahrung damit. Griessli Tipsi |
Autor: | root [ 26 Okt 2010, 14:51 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Hey nette Programm, lese ja hier schon ein Weile mit. Für das Apicon gibt es Windowsprogramme die so etwas auch austauschen können habe sogar eins. ![]() |
Autor: | Murmel [ 26 Okt 2010, 21:10 ] | |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC | |
Also das mit dem Appicon bekomme ich überhaupt nicht hin. Kannst Du mal bitte näheres dazu schreiben ? |
Autor: | Murmel [ 29 Okt 2010, 19:33 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
So mal ein neuer Snapshot, mal wieder verbunden mit Fragen ![]() ![]() Also der erste Release + Code mache ich dieses Wochenende + Source. Also erstmal nur hier im forum, und dann kann testen und verbessern wer lust hat ![]() Der CFGmaker ist völlig eigenständig. Ich habe den bewusst neu programmiert weil er nun nur noch Funktionen benutzt, und keine goto + labels mehr. Im Moment habe ich mich auf die "wichtigsten" Playersettings beschränkt die wenn sie nicht verändert werden standard sind bis auf com_maxfps. Network ect. wird dann vermutlich im nächsten Release sein. Aber Frage! Der cfgmaker kann als eigne exe natürlich seperat gestartet werden, was er nicht soll! Ich will auch nicht unbedingt checkvariablen abspeichern müssen. Z.b nutzt der cfgmaker den Versionstring von quakelaunch, was er aus den Prefs ausliest. kann man unter HW mit ner zweite hw.exe Daten austauschen, bzw. die andere exe kontollieren ? |
Autor: | Tipsi [ 30 Okt 2010, 13:28 ] | |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC | |
Salli Murmel Es ist mir nichts bekannt, dass HW.exe Daten direkt untereinander austauschen können. Indirekt ist es bei den Amigakompatiblen mit AREXX möglich. Aber bei Win oder Mac funktioniert das nicht. Griessli Tipsi |
Autor: | root [ 30 Okt 2010, 17:48 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Hmm verstehe das gerade nich so, du kannst doch aus dem einen Tool das andere starten (beenden) lassen und umgekehrt. |
Autor: | Tipsi [ 30 Okt 2010, 22:19 ] | |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC | |
Salli Root Jep, hab gerade gesehen, dass es neben dem Run() Befehl (Man kann mit beiden Tools gleichzeitig arbeiten) noch der Execute() Befehl existiert (das Hauptprogramm hält solange an, bis das andere Programm wieder geschlossen wird). Der Datenaustausch ist aber einseitig. Man kann dem Aufrufenden Programm Parameter übergeben, aber wenn es geschlossen wird, findet keine Rückmeldung statt. Man könnte aber nach dem Schliessen vom cfgmaker die autoexec.cfg wieder frisch auslesen. Oder gibt es noch eine andere Möglichkeit? Griessli Tipsi |
Autor: | Murmel [ 31 Okt 2010, 08:31 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Also danke für Eure Tips ![]() Dazu kommt das ich generell verhindern will das z.b der cfgmaker eigenständig gestartet wird. Er wurde ja nur komplett neu programmiert, weil ich denke das meine Kenntnisse inzwischen etwas besser sind, und wer weiss ob HW 5.0 noch alle alten Befehle unterstützt, so muss man nicht alles neuschreiben. Man kann das natürlich alles immer in einem Textfile zwischenspeichern was aber schmarn ist denke ich mal, alternativ habe ich mir überlegt das per Peek, Poke zu machen. Also per Poke nen Flag setzen, und diesen per Peek überprüfen. Das nächste was zu überdenken ist ist ob es generell sinnvoll ist das sich das Tool mehrfach starten lässt, oder ob man das mehrfach starten des Tools nicht unterbinden sollte ? @Tipsi Ok danke, in der Tat könnte ich execute benutzen bisher run, mal ausprobieren. Und nein die autoexec.cfg wird nur einmal geschrieben. Bzw. kann man den Namen wählen. Q3 führt die autoexec.cfg beim Start automatisch aus, deswegen ist noch keine Übergabe Nötig ![]() Aber die Betonung ist auf Noch, weil man z.b einen eignen Namen für die cfg vergibt, z.b tipsi.cfg dann könnte man das der q3.exe mitteilen, das geht aber natürlich nur wenn sich beide Programme austauschen können. Aber wie gesagt z.b konnte man ja QLT in den FULLSCREEN Modus schalten. Ich habs noch nicht getestet aber wenn QLT im Fullscreen ist, und man den cfgmaker startet wird der vermutlich im window starten, weil er ja nicht weiss in welchem Modus Qlt ist. |
Autor: | Murmel [ 25 Feb 2011, 16:07 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Wer es vieleicht mitbekommen hat ist während Resitance offline war Quakelaunchtool V 0.331 erschiehen. Weil diese Seite ja angeben ist und wem es interessiert hier ist der Src dafür. Das Archiv ist zip gepackt. Leider kann ich nur 256 KB hochladen, deswegen biete ich es über meinen Server an. Das Archiv hat ca 1.6 MB http://www.skyfighters.org/quakelaunch0331.zip |
Autor: | root [ 26 Feb 2011, 12:50 ] |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC |
Hey Murmel Super Arbeit!!! ![]() Das mit dem Warnfenster beim Start wenn die Game.exe nicht gefunden wird ist eine prima Idee. Kleiner Tipp die Grafiken vom CFGMaker würde ich lieber in ein anderes Format umwandeln *.bmp Dateien sind doch viel zu groß. bb |
Autor: | HelmutH [ 26 Feb 2011, 18:56 ] | |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC | |
Hi Murmel Wir hatten hier auch ein Plattenplatz Problem zusätzlich zu dem Crash, deshalb hat Uwe das jetzt wohl begrenzt. Er will da auch nochmal drüber schaun, wo er eventuell noch was Platz schaffen kann. Werd mir dein Tool die Tage mal runterladen und schaun was du da alles verändert hast. |
Autor: | Murmel [ 27 Feb 2011, 05:45 ] | |
Betreff des Beitrags: | Re: kleines Lunch Tool für PC | |
Hi Root Das Problem mit den Grafiken ist das z.b iff standardmässig unter Win nicht gelesen wird. Ich nehme mal an beim Mac auch nicht. Bmp wird zumindest überall erkannt. Aber ich sehe das Problem eher bei der Scui-Lib. Je mehr man die verwendet, je mehr Elemente man einbaut, desto grösser schwillt so ein kleines Tool an, so das das Ding schon beim Start weg mal schlappe 15 MB raubt, und es wird immer lahmer. Dazu denke ich es könnte ne Tragödie sein es auf einem 060er Amiga zu verwenden ![]() Ich hoffe der Andreas baut irgendwann eigne Gui-Elemente ein. Da ich die meiste Zeit mit der IDE unter Win gearbeitet habe fiel das hier nicht so auf, weil das Tool hier schnell ist, und man starrt nicht dauernd auf die Ramanzeige weil genug da ist. Das einzige was mir im Moment noch einfiele wäre wirklich alles was man aus der Scuilib nicht braucht rauszunehmen. @Helmuth Danke, kein Problem. |
Seite 5 von 6 | Alle Zeiten sind UTC |
Powered by phpBB® Forum Software © phpBB Limited Deutsche Übersetzung durch phpBB.de |