-
22.11.2011 22:48
#301
Am Cursor arbeitet ihr, daa finde ich toll, ich finde dass der jetzt schon viel besser ist als früher, ich komm aber mit der Steuerung der Maus nich ganz zurecht. Ich finde, das sie sich etwas langsam bewegt und das nan mit ihr den Bildschirm verlassen kann finde ich auch nicht optimal. Buttons und Mousover höhrt sich gut an, wäre es auch möglich, dass man die Maus bei Dialogen verwenden kann, oder gar im Menü?
-
Mit ein bisschen Eigenarbeit auf jedenfall, kannst ja einen unsichtbaren Button über die Anzeige legen... Wie du den entsprechenden Dialog dann aktivierst kann ich dir so aus dem Stegreif nicht sagen, aber eventuell schaue ich mal nach... Vielleicht merkt man sich einfach das aktive Item und simuliert dann entsprechende Tastendrücke?
-
Zitat von Lehona
Prinzipiell stehen die Schilde auf einer imaginären ToDo-Liste, aber sehr weit hinten. Erstens gibt es spannenderes (und uns ist normalerweise nicht langweilig genug) und zweitens sind andere Dinge auch wichtiger, Schildkampf ist letztendlich nur ein Gimmick - wer es als wichtigen Bestandteil seiner Mod nutzt, wird das schon selber irgendwie schaffen.
wird aber dennoch etwas am schildkampf gemacht....irgendwann einmal^^ weil ich persönlich finde den schildkampf mega toll^^
-
Die Situation ist, wie ich sie beschrieben habe. Da wir nicht bezahlt werden, kann ich dir nicht garantieren, dass wir unsere ToDo-Liste abarbeiten, ich kann dir nichtmal garantieren, dass sie irgendeine Priorität hat. Eigentlich ist sie bloß 'n Notizzettel (und existiert auch nur in unserem Kopf).
-
Hallo, ich habe eine Frage zum Bar-Paket.
Ich habe jetzt alles an LeGo 2.1 angepasst.
Habe aber ein Problem mit der Fokusbar... und zwar soll die nur eingeblendet werden wenn man jemanden im Fokus hat.
Ich habe es mit Bar_Delete() versucht, aber es scheint als würde nichts passieren. Die Bar bleibt am Bildschirm.
Hier sind mal die wichtigsten Teile vom Code.
Code:
instance OthLebenBar(Bar) {
x = Print_Screen[PS_X] / 2;
y = 20;
barTop = 3;
barLeft = 7;
width = 180;
height = 20;
backTex = "Bar_Back_bk.tga";
barTex = "Bar_Health_bk.tga";
value = 0;
valueMax = other.attribute[ATR_HITPOINTS_MAX];
};
Code:
var int OtherLebenBar;
if (Npc_GetTarget (hero) == TRUE) {
if(!Hlp_IsValidHandle(OtherLebenBar)) {
OtherLebenBar = Bar_Create(OthLebenBar);
};
}
else {
Bar_Delete(OtherLebenBar);
};
Oder muss ich eine Funktion schreiben in der die Texturen durch alpha texturen ersetzt werden?
mfg Umfi
-
Zitat von Lehona
Wir werden das Forum schon nicht vernachlässigen, keine Angst - ist ja nicht so, dass man hier nicht mehr reinposten könnte, oder? Allerdings sind die technischen Möglichkeiten auf origo.ethz.ch weit größer als hier im Forum und v.a. unkomplizierter für uns, weil wir dort natürlich mehr Rechte haben und eben auch Sachen wie ein eigenes Wiki. Natürlich könnten wir das Editing-Wiki dafür nutzen, aber das wäre zumindest in meinen Augen schon recht seltsam. Und registrieren musst du dich ja nur, wenn du dort einen Kommentar oder ähnliches posten möchtest - für das Wiki und Downloads ist meines Wissens keine Registrierung erforderlich.
Und der Lowercase-Username... Ich habe es irgendwie geschafft, ein großes "L" einzuschmuggeln, aber dafür kann ich nichts auf den FTP dort hochladen (Ich nehme zumindest an, dass das das Problem ist)
Aber wir haben die Website nicht gemacht und daher kann ich's nicht ändern.
Für deine Bars hast du nun ja zwei Möglichkeiten, entweder "bloß" auf das neue Interface upgraden oder gleich mehr oder weniger neu schreiben - ich würde dir zweiteres empfehlen, aber vielleicht willst du deinen Code ja mal posten, dann kann man dir da ein wenig helfen? Ich will ja nicht, dass du irgendwelche Unannehmlichkeiten auf dich nehmen musst wegen uns
Bzgl. der Versionen haben wir schon unsere eigene, feste Politik: Bei (größeren) Content-Changes wird die zweite Zahl erhöht, bei kleinen Anpassungen oder Bugfixes die dritte. Eine komplett neue Version ist darin nichteinmal eingeplant - das geschah bloß durch den internen Umbau auf PermMem und ich sehe keine weitere Situation, in der es nochmal geschehen könnte.
Abgesehen davon: Ist es wirklich wichtig, welche Versionsnummer dransteht?
Ist ja ok mit dem Forum, ist ja schließlich eure Sache. Ich finde es ja auch nicht schlecht, ich fürchte nur man muss für zukünftige Suchen vermutlich zunächst auf zwei Seiten suchen, bevor man euch hier direkt probiert zu erreichen Eine zentrale Quelle ist halt in der Regel immer besser.
Registriert habe ich mich schon aus Prinzip, weil LeGo einfach Klasse ist.
Auf das große L bin ich schon neidisch
Was meine Anmerkung wegen den Versionen angeht, so bezog sich diese weniger auf die Versionierung an sich, als viel mehr an die Quantität der neuen Versionen in solch einem kurzen Zeitraum.
Die neue Bar-Technologie werde ich schon noch testen, alleine aus Interesse schon. Wie gesagt, hatte ich aber auch recht guten Erfolg mit dem alten System und finde das auch schon richtig gut. Ich kann nicht verstehen, dass viele solche Probleme mit einer Ausdauerleiste haben bzw. hatten. Aber dein Angebot nehme ich gerne entgegen, wenn es soweit ist. Dann schicke ich dir entsprechende Code-Teile. Der Aufbau ist eigentlich immer gleich, nur muss ich meine Bar bei vielen Aktionen an verschiedenen Stellen schließen bzw. aufbauen. Natürlich probiere ich es zunächst mal auf eigene Faust.
-
Also alles wichtige wird weiterhin hier gepostet, auf der Seite wirst du eher Sachen finden wie "Oh, wunderschön, heute sind wir mit Paket XYZ fertig geworden / gut vorangekommen" oder "Mäh, die zEngine ist plöde und macht nicht das was ich will" - also zum Zeitvertreib oder aus Interesse sicher ein netter Platz zum Vorbeischauen, aber definitiv nicht nötig (Außer für die Dokumentation, würde ich sagen).
Aber mir fällt gerade was ein, da dir LeGo ja so gut gefällt... Hast du Lust, bei uns ein wenig mitzumachen und dich v.a. um die Gothic1-Portierung / Kompatibilität zu kümmern? Ich muss sagen, dass weder Gottfried noch Ich lust haben, uns damit zu beschäftigen, wir haben schon genug am Hut und da du es ja mehr oder weniger eh tust, zumindest die Sachen die du auch nutzt...? Solltest du auch nur geringstes Interesse zeigen, melde dich mal bei mir, optimalerweise per ICQ (s. Profil) oder Mail (lvonmulert[ät]clayesmore[pünktchen]com) da mein Internetzugang beschränkt ist, dann können wir uns darüber ein wenig unterhalten - Verpflichtungen gibt's natürlich keine, dafür mindestens Live-Support und natürlich alles an Features was du haben möchtest
Die häufigen Versionen... Nunja, ich verstehe dich definitiv, aber andererseits wollen wir den Leuten auch nichts vorenthalten - man muss ja nicht gleich zur neuesten Version upgraden (und auch wenn, ist das ja eigentlich kein Umstand)
Aber in nächster Zeit geht es vermutlich wieder langsamer
Lehona
-
-
Zitat von Gottfried
Danke fürs testen
Kein Problem.
Zitat von Gottfried
Achja.. Ich würde OtherLebenBar nach dem Löschen noch auf 0 setzen. Wenn ein Handle gelöscht wurde kann es mit der selben ID recycled werden. Das könnte zu bösen Problemen führen..
Okay danke, werd ich dann in Zukunft so machen.
mfg Umfi
-
Ist es richtig, dass bei der Funktion Print_GetScreenSize() nicht mehr aus der ini eingelesen wird, sondern fixe Werte genommen werden? Werden die jetzt an anderer Stelle gesetzt oder war das testweise und wurde vergessen zu ändern?
-
Zitat von Bonne6
[...] oder war das testweise und wurde vergessen zu ändern?
Peinlich, aber korrekt.
Ich hatte es in meiner Version bereits behoben, aber nicht hochgeladen.
Wird in der nächsten Version wieder stimmen.
MfG Gottfried
-
Hatte ich mittlerweile auch mit Lehona geklärt, aber so wissen alle Bescheid
-
Ihr habt doch jetzt ein Repo richtig? Wie kann es passieren, dass dort Testcode landet?
Wohl nicht geprüft, was du so committest, was?
Deutschland - "ein Gefängnis, das du weder riechen, noch schmecken, noch berühren kannst"
[Bild: ssp-362-60.gif]
-
-
folgendes problem:
unknown identifier STRINT_SPLIT (line 103)
skript: AI_Function.d
meine .src:
Code:
_INTERN\CONSTANTS.D
_INTERN\CLASSES.D
Floats.d
STORY\Ikarus_Const_G2.d
STORY\EngineClasses_G2\*.d
STORY\Ikarus.d
//////////
// LeGo //
//////////
LeGo\HookEngine.d
LeGo\AI_Function.d
LeGo\FrameFunctions.d
LeGo\Random.d
LeGo\BinaryMachines.d
LeGo\Interface.d
LeGo\Cursor.d
LeGo\Bloodsplats.d
LeGo\Trialoge.d
LeGo\Names.d
LeGo\Dialoggestures.d
LeGo\Focusnames.d
LeGo\Shields.d
LeGo\Saves.d
LeGo.d
AI\AI_INTERN\AI_CONSTANTS.D
//(usw.)
an den dateien habe ich nichts verändert, ich habe sie so übernommen. runtergeladen habe ich sie am 8. oktober.
ich poste auch mal das AI_FUNCTION.d skript:
Code:
/***********************************\
INTERFACE
\***********************************/
/* Abhängigkeiten:
* IKARUS
* HookEngine
*
* Info:
* Dieses Paket erlaubt es zeitverzögert Funktionen aufzurufen und zwar indem die
* Funktionen in die AI-Queue des betreffenden Npc eingereiht werden.
* Dies kann gerade bei Cutscenes oder Ähnlichem sehr nützlich sein.
*
* Inhalt:
* void AI_Function(c_npc slf, string function)
* Die Scriptfunktion 'function' wird verzögert aufgerufen: Sie reiht sich in die AI-Queue von slf ein
* slf : Npc
* function : Name der Scriptfunktion. (GROß GESCHRIEBEN)
*
* void AI_Function_I (c_npc slf, string function, int param)
* void AI_Function_S (c_npc slf, string function, string param)
* void AI_Function_II(c_npc slf, string function, int param1, int param2)
* void AI_Function_SS(c_npc slf, string function, string param1, string param2)
* void AI_Function_IS(c_npc slf, string function, int param1, string param2)
* void AI_Function_SI(c_npc slf, string function, string param1, int param2)
* "Überladungen" von AI_Function, die es erlauben Scriptfunktionen mit Parametern aufzurufen
*
* Um AI_Function nutzen zu können muss LeGo_Init mit dem Flag LeGo_AI_Function aufgerufen werden
*/
//========================================
// Verzögert eine Funktion aufrufen
//========================================
func void AI_Function (var c_npc slf, var string function) {
if(!_LeGo_Init&LeGo_AI_Function) {
MEM_Error("LeGo: AI_Function wurde nicht initialisiert!");
return;
};
var string s1; s1 = ConcatStrings("CALL ", function);
AI_PlayAni(slf, s1);
};
func void AI_Function_I(var c_npc slf, var string function, var int param) {
var string s1;
s1 = ConcatStrings("I ", IntToString(param));
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, function);
AI_Function(slf, s1);
};
func void AI_Function_II(var c_npc slf, var string function, var int param1, var int param2) {
var string s1;
s1 = ConcatStrings("II ", IntToString(param1));
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, IntToString(param2));
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, function);
AI_Function(slf, s1);
};
func void AI_Function_S(var c_npc slf, var string function, var string param) {
var string s1;
s1 = ConcatStrings("S ", param);
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, function);
AI_Function(slf, s1);
};
func void AI_Function_SS(var c_npc slf, var string function, var string param1, var string param2) {
var string s1;
s1 = ConcatStrings("SS ", param1);
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, param2);
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, function);
AI_Function(slf, s1);
};
func void AI_Function_SI(var c_npc slf, var string function, var string param1, var int param2) {
var string s1;
s1 = ConcatStrings("SI ", param1);
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, IntToString(param2));
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, function);
AI_Function(slf, s1);
};
func void AI_Function_IS(var c_npc slf, var string function, var int param1, var string param2) {
var string s1;
s1 = ConcatStrings("IS ", IntToString(param1));
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, param2);
s1 = ConcatStrings(s1, " ");
s1 = ConcatStrings(s1, function);
AI_Function(slf, s1);
};
//========================================
// [intern] Enginehook
//========================================
func void _AI_FUNCTION_EVENT() {
var string s0; var string s1;
var int i0; var int i1; var int fnc;
var int ptr; ptr = EBP+88;
MEMINT_StackPushVar(ptr);
var string AniName; AniName = MEMINT_PopString();
STRINT_Split(AniName, " ");
if (Hlp_StrCmp(STRINT_SplitGet(0), "CALL")) {
// Das eigentliche callen
AniName = STRINT_SplitGet(1);
if (Hlp_StrCmp(AniName, "I")) {
i0 = STR_ToInt(STRINT_SplitGet(2));
fnc = MEM_FindParserSymbol(STRINT_SplitGet(3));
MEMINT_StackPushInt(i0);
}
else if (Hlp_StrCmp(AniName, "S")) {
s0 = STRINT_SplitGet(2);
fnc = MEM_FindParserSymbol(STRINT_SplitGet(3));
MEMINT_PushString(s0);
}
else if (Hlp_StrCmp(AniName, "II")) {
i0 = STR_ToInt(STRINT_SplitGet(2));
i1 = STR_ToInt(STRINT_SplitGet(3));
fnc = MEM_FindParserSymbol(STRINT_SplitGet(4));
MEMINT_StackPushInt(i0);
MEMINT_StackPushInt(i1);
}
else if (Hlp_StrCmp(AniName, "SS")) {
s0 = STRINT_SplitGet(2);
s1 = STRINT_SplitGet(3);
fnc = MEM_FindParserSymbol(STRINT_SplitGet(4));
MEMINT_PushString(s0);
MEMINT_PushString(s1);
}
else if (Hlp_StrCmp(AniName, "SI")) {
s0 = STRINT_SplitGet(2);
i1 = STR_ToInt(STRINT_SplitGet(3));
fnc = MEM_FindParserSymbol(STRINT_SplitGet(4));
MEMINT_PushString(s0);
MEMINT_StackPushInt(i1);
}
else if (Hlp_StrCmp(AniName, "IS")) {
i0 = STR_ToInt(STRINT_SplitGet(2));
s1 = STRINT_SplitGet(3);
fnc = MEM_FindParserSymbol(STRINT_SplitGet(4));
MEMINT_StackPushInt(i0);
MEMINT_PushString(s1);
}
else {
fnc = MEM_FindParserSymbol(AniName);
};
MEM_CallByID(fnc);
STRINT_SplitReset();
};
};
ist diese funktion eigentlich von euch oder aus ikarus?
"Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
-Korallenkette
-
Lade die neue Version runter und alle Probleme lösen sich von selbst
(Ikarus natürlich auch)
MfG Gottfried
-
endlich funktioniert es wieder \o/
trialoge ich komme! dankeschön :3
"Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
-Korallenkette
-
sind eigentlich mittlerweile einige der schildfehler behoben? oder sind sie noch sehr fehlerhaft wie bisher?
-
Wenn ich mal den Changelog zitieren darf:
"Die Schilde sind noch sehr fehleranfällig und unfertig. Seit dem Release wurde daran nichts geändert."
Das ist noch immer so. Die Schilde wurden vorerst zurückgestellt. Lehona und ich kümmern uns derzeit um andere Dinge
MfG Gottfried
-
wird an den schilden aber irgendwann noch gearbeitet?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|