Du bist nicht eingeloggt.

B2B-Realm Status

Social Networks

B2B auf Twitter
B2B auf Facebook

Bugtracker

Account erstellen   |   Login   |   Download / How To Play   |  FAQ   |   Support

antifreak

Drachentöter

  • »antifreak« ist der Autor dieses Themas

Beiträge: 1 366

Registrierungsdatum: 01.09.2010

Gilde: Innocence of Cræck

  • Private Nachricht

1

Montag, 25. April 2011, 07:23

Fixes und ihre Herangehensweise

Ja, mir ist jetzt kein besserer Titel eingefallen, aber ich versuche es jetzt mal zu erklären, was ich meine.

Mir kommen immer häufer Dinge unter die Nase, die so mit dem momentanen Core nicht möglich sind, oder viel zu umständlich.
Jetzt wäre es aber mit ein wenig if und fors und was weiß ich nicht alles, dieses spezielle Problem möglich zu beheben. Zwar auf keine schöne Art und Weise, aber immerhin funktioniert es (Blizzlike, nur der Code an sich ist Müll :P).

Jetzt stellt sich mir die Frage, wie ihr (das Team) dazu steht, eben solche Hackfixes einzubauen. Letztendlich macht es euch nichts kaputt, wenn man es ordentlich abfängt, aber darum geht es mir auch nicht. Es wird einfach irgendwann mal zu viel Arbeit, wenn jeder seine Core Hackfixes eingespielt haben möchte. Das ist das Problem, was ich sehe. Ich versuche bisher alles so global wie möglich zu halten, das man es später auch nochmal nutzen kann, nur ab und an kommen dann doch wieder Dinge auf mich zu (vorallem bei merkwürdigen Quests) die einfach mal nur mit einer temporären Veränderung an irgendwas bestehendem möglich sind.

Um mal ein Beispiel zu nennen:

Ich habe ein GO, was mir bei Berührung, oder bzw wenn ich in einem gewissen Radius um das GO stehe ein Script ausführen soll. So, nun nutze ich das GO Trap (quasie prädistiniert für sowas). Das Problem an der geschichte ist jetzt nur das "TRAP" das Object nicht "Used" sondern nur einen Spell ausführt. Also würde ich jetzt in die GO Klasse rein gehen, ein if mit der Entry meines GOs setzen und dem ganzen einen "Use" Aufruf verpassen. Nicht schön, aber effektiv.

Auf diese Weise könnte man wohl viele Sachen einfach mal schnell machbar machen, hätte mit dem nächsten Update allerdings zu 90% wieder das Problem das irgendwas nicht klappt, und die Übersicht geht verloren.

Jetzt stellt sich mir die Frage, soll ich solche Fälle dennoch Bearbeiten, und eben solche Methoden nutzen, oder einfach bleiben lassen und schauen was die Devs bei Mangos so alles noch einfallen lassen?

mfg


Beiträge: 306

Registrierungsdatum: 12.10.2010

  • Private Nachricht

2

Montag, 25. April 2011, 11:52

mhm ich sehe das ein bisschen zwigespalten...
Einerseits ist es temporär gesehen ziemlich gut gelöst, da man somit schnell einige sachen fixen könnte.
Andererseits ist es wenn mangos dann die GO klasse beispielsweise updated ziemlich sicher das dieser fix nicht mehr funktioniert (ausser die ändern nichts an traps und use).

Also ich finde so ein paar if abfragen nicht mal wirklich schnell, besonders da man diese auch schnell angepasst hat. Wenn man realistisch ist weiß man auch das es nicht mehr als 100 werden, und man hat dies dann doch auch schnell reviewt und berichtigt falls es auf der neuen rev nicht passt (besonders da dann beim compilieren fehler auftreten...). Es ist natürlich mehrarbeit für das Team, das diese dann reviewt aber es ist glaube ich jeden mehr geholfen wenn man ne wichtige quest hackfixt als darauf zu warten bis mangos das unterstützt ;)

nur meine gedanken dazu

Betagan

Wandelnde Legende

Beiträge: 1 698

Registrierungsdatum: 22.08.2010

Wohnort: Kiel

Hauptcharakter: Betagan

Gilde: Bloodline

  • Private Nachricht

3

Montag, 25. April 2011, 12:04

hast du mal gecheckt, dass es für dein obigen Problem keinen Areatrigger gibt? Ich hatte quasi das selbe, als ich diese Quest Larkowis Fährte gefixt habe, da soll man ja auch das Weibchen anlocken, wenn man auf ihren Eiern herumtrampelt. Hier gab es nun für jedes Ei einen AreaTrigger, der dann ausgelöst wurde. den hab ich dann halt behandelt. Das ist die deutlich schönere Methode dafür und danach würd ich erstmal schauen, obs da nicht was neben dem GO auch gibt bei dir.


Ich hab dich sonst richtig verstanden, du würdest das in die Update-Methode des GOs reinschreiben wollen? Da wär ich dagegen, das verlangsamt zu viel denke ich. Oder kannst du dieses Spell-casten onTrap noch genauer Abfangen? Dann würde es zwar weniger oft triggern, aber immernoch relativ häufig, hmmm.. Also ich glaub das muss man sich wirklich im Einzelfall anschauen und mal überschlagen, wie oft sowas wirklich gecalled wird, damit man sich nicht sein Gesamtsystem zu sehr runterzieht. Ich würd da wirklich pauschal nichts zu sagen wollen. Ich hab sowas selbst schon gemacht, aber zB nur bei periodischen Ticks aus der Spell-Klasse warrior, um Deep Wounds zu fixen. Da ist das sehr überschaubar, denn wenn son warrior nen periodic tick hat, dann hat er glaub ich nur 3 mögliche spells die das triggern und dann ist es halt relativ wahrscheinlich, dass er das gebrauchen kann. Sowas wie das GO-Trap daoben würden vmtl. eher >90% overhead erzeugen



Gucky

Server-Gründer im Ruhestand

Beiträge: 2 113

Registrierungsdatum: 13.08.2010

Wohnort: Berlin

Hauptcharakter: Silver

  • Private Nachricht

4

Montag, 25. April 2011, 13:21

Klingt für mich klassisch nach Trigger-Mob Lösung.
Stell einen unsichtbaren Mob in das GO und rüste seine MoveInLOS-Methode entsprechend aus.
Hat man generell die GO-Klasse nicht mit Balast bestückt, der Rechenaufwand ist lokal auf diesen Trigger-Mob begrenzt und stört nicht wenn keiner in der Nähe ist.
Always remember that you are unique, just like everybody else!