nipeditor in java

05/16/2010 04:18 fuuch#1
hi leute

mir fehlen zwar jegliche coderskills, aber dennoch versuche ich gerade einen nipeditor in java zu schreiben, der sowohl d2nt als auch d2bs syntax beherrscht

ich brauche ideen und anregungen, wie ich das am besten aufbauen soll

hier ein link zu einer sehr frühen vorab-version:
[Only registered and activated users can see links. Click Here To Register...]

und so ungefähr siehts grad aus
[Only registered and activated users can see links. Click Here To Register...]


ich wäre euch dankbar für vorschläge

danke und bis bald
05/18/2010 19:26 Muddy Waters#2
Quote:
Originally Posted by fuuch View Post
hi leute

mir fehlen zwar jegliche coderskills, aber dennoch versuche ich gerade einen nipeditor in java zu schreiben, der sowohl d2nt als auch d2bs syntax beherrscht

ich brauche ideen und anregungen, wie ich das am besten aufbauen soll

hier ein link zu einer sehr frühen vorab-version:
[Only registered and activated users can see links. Click Here To Register...]

und so ungefähr siehts grad aus
[Only registered and activated users can see links. Click Here To Register...]


ich wäre euch dankbar für vorschläge

danke und bis bald
Ehrlich gesagt hatte ich die letzten Tage eine ähnliche Idee, passenderweise während einer Informatik Vorlesung. Habe es aber gedanklich relativ schnell wieder verworfen, denn das wirklich ordentlich umzusetzen bedeutet verdammt viel Arbeit, sowie eine Menge investierte Zeit.

Da du ja scheinbar bereit bist beides aufzubringen, nenne ich einfach mal was ich mir gedacht hatte:
Grundlegend erstmal eine Itemdatenbank, die mir gewisse Muster für Uniques und Sets vorgibt. Ich suche mir quasi irgendein Grunditem aus, sage es soll unique sein, dann möchte ich gerne sämtliche variablen Stats, jeweils mit den Minimalwerten, dort stehen haben, die ich dann nach belieben anpassen kann, das Ganze in möglichste schicker und übersichtlicher Form.

Ausserdem möchte ich natürlich Stats aus einer Liste auswählen können.
Die ausgewählte Eigenschaft steht danach in irgend einer Form übersichtlich in einer Art Auflistung und ich kann den Wert per Button erhöhen oder senken.
Wie ich die verschiedenen Stats logisch verknüpfe ist natürlich auch mit irgendwelchen Übersichtlichen Buttons gelöst, denkbar wäre auch eine RadioBox, wo ich jeweils auswähle, wie die nächste Eigenschaft "angehängt" wird.
Die Basisstats des Items wähle ich natürlich als erstes aus, das könnte man wohl durchaus auch mit ComboBoxen realisieren, wie du es schon angedeutet hast, wobei gewisse Werte dann im Defaultstatus nicht gesetzt sind (das Itemlevel wäre z.B. so ein Fall).

So, das ist es auch schon, leider alles sehr vage Vorschläge, ich hoffe du kannst damit trotzdem irgendwie was anhängen.
Trotzdem Hut ab, mal eben ein GUI zu programmieren, ohne mit Begriffen wie Objektorientierung und Klassen(-hierarchie) etwas anfangen zu können, finde ich ziemlich mutig, viel Erfolg dabei! :)

Lg
Muddy
05/18/2010 23:32 fuuch#3
jo ich habe echt keine ahnung davon xD
am meisten arbeit machen aber wahrscheinlich eh die ganzen datenbanken mit den variablen stats
05/19/2010 15:47 Zerker.jar#4
so ahoi,
meine version is gerade eben fertig geworden. ihr könnts euchs mal runnerladen, so solls denne ausschauen: [Only registered and activated users can see links. Click Here To Register...]
leider kann man da (fast) nur elite sachen auswählen und kein schmuck (ring , amu , juwele, charms). wenn man die stat-werte eingegeben hat, drückt man auf den hübschen kleinen "Code"-button und es erscheint ein neues fenster wo der code drinnesteht, in dem fall dann nightwings, undzwar so:

[Name] == SpiredHelm && [Quality] == unique # [Defense] >= 1 && [Dexterty] >= 20 && [PassiveColdMastery] >= 10 || [Name] == SpiredHelm && [Quality] == unique # [Damage] >= 1 && [Dexterty] >= 20 && [PassiveColdMastery] >= 10

hatte keine andere lösung als dass es sein "#" macht und dann zwangsläufig überprüft ob def oder dmg größer als 1 is (ja, is es.). wenns jetzt richtig is, dann kanns ja irgendwer mal ausprobieren wenn er will ;)

PS: ja, ich bin ein n00b und es is größtenteils.... müll, aber wenn jemand will kann ich ihm denne mal den quellcode schicken, damit ihrs weng weiter ausbaun könnt.

Download hier ---> [Only registered and activated users can see links. Click Here To Register...] ;)
05/19/2010 18:36 fuuch#5
ich habe meine idee überdacht und momentan spiele ich mit dem gedanken einen xml parser zu schreiben in c#

xml sieht ungefähr so aus:

Quote:
<unique>
<item>
<type>ring</type>
<name>Nagelring</name>
<var1>50-70 Tohit</var1>
<var2>15-30 ItemMagicBonus</var2>
</item>
</unique>
ich habe bisher nur ein wenig rumgespielt mit xml einbindung und das kam dabei raus xD
[Only registered and activated users can see links. Click Here To Register...]
05/19/2010 20:52 Zerker.jar#6
huj, schaut hübsch aus :P

hab meine olle version nochmal überarbeitet, jetzt kennts auch eth items und MF
der code zu dem genannten beispiel mit nightwings schaut jetzt so aus:

[Name] == SpiredHelm && [Quality] == unique # [Flag] != ethereal && [Dexterty] >= 20 && [PassiveColdMastery] >= 10

ihr könnts euch ma anschaun oder so.
undzwar hier --> [Only registered and activated users can see links. Click Here To Register...]
05/19/2010 23:27 fuuch#7
stand der dinge:

[Only registered and activated users can see links. Click Here To Register...]

weiß einer wie ich in c# durch xml nodes loope um den innertext in einer textbox auszugeben?
05/20/2010 03:47 fuuch#8
[Only registered and activated users can see links. Click Here To Register...]

im grunde bin ich fertig mit dem tool.
ich muss nur noch max variablen einfügen, eth zustand und dann noch d2bs syntax irgendwie einbauen, aber dafür müsste man wieder die xml syntax überdenken.
naja ich baue morgen weitere variablen ein und dann kann man im grunde eigene xmls erstellen.

keine angst haben, falls der installer dateien aus dem netz zieht, er zieht .net 4.0 dateien um zu laufen.
05/21/2010 13:58 Zerker.jar#9
ahoi nochmal,
für d2bs syntax würd ich nen seperaten nipeditor machen.
hier is schonmal meine komplett fertige GUI version mit allet wat jeet -> [Only registered and activated users can see links. Click Here To Register...]
kannst ja ma anschaun und dich "inspirieren" lassen oder so :P

aber ein bedenken hab ich bei deinem editor:
wie wirds möglich sein da 4-5 stats einem item anzuordnen?
wird doch bissl schwer, nich?
05/21/2010 17:29 fuuch#10
ich war heute mal im bücherladen und hab mir ein paar bücher zu c# und xml vom regal genommen und mich damit in die ecke gesetzt, so dass mich die verkäufer nicht sahen xD.

nach kurzem einlesen kam mir die idee ein tool zu schreiben das eine xml erstellt mit rootknoten <item> und dirversen unterknoten (zb <strenght>, <enhanceddamage>,...) je nach einer d2 itemcodevariable benannt.

ich habe aber irgendwie keine wirkliche idee, wie ich den anwender die knoten einfügen lasse.
ich könnte textboxen verwenden, so wie du in deinem javatool, aber das wäre wieder mit alt+tab verbunden um den jeweiligen itemcode oder itemcodenamen nachzugucken in einer tabelle.
ich könnte dropdownmenus verwenden, die aus einer vorgegebenen xml die itemcodes auslesen

die feste xml sieht dann einfach so aus:
Code:
<root>
  <1>strenght</1>
  <2>dexterity</2>
  .
  .
  .
</root>
(die zahlen und namen nehm ich dann aus der itemcode tabelle)

um das irgendwie anschaulich zu machen dann, pack ich die datagridview tabelle rein, in der die erstellte xml dargestellt wird als normale tabelle mit den ganzen unterknoten, also so wie in dem tool was ich schon gepostet habe.
man kann dann in der tabelle werte eintragen, die beim abspeichern dann in der xml übernommen werden.

wie ich das mit dem parsen hinkriege und der formatierung in d2nt/d2bs code, k.a.
05/21/2010 21:30 Zerker.jar#11
Quote:
Originally Posted by fuuch View Post
ich war heute mal im bücherladen und hab mir ein paar bücher zu c# und xml vom regal genommen und mich damit in die ecke gesetzt, so dass mich die verkäufer nicht sahen xD.

nach kurzem einlesen kam mir die idee ein tool zu schreiben das eine xml erstellt mit rootknoten <item> und dirversen unterknoten (zb <strenght>, <enhanceddamage>,...) je nach einer d2 itemcodevariable benannt.

ich habe aber irgendwie keine wirkliche idee, wie ich den anwender die knoten einfügen lasse.
ich könnte textboxen verwenden, so wie du in deinem javatool, aber das wäre wieder mit alt+tab verbunden um den jeweiligen itemcode oder itemcodenamen nachzugucken in einer tabelle.
ich könnte dropdownmenus verwenden, die aus einer vorgegebenen xml die itemcodes auslesen

die feste xml sieht dann einfach so aus:
Code:
<root>
  <1>strenght</1>
  <2>dexterity</2>
  .
  .
  .
</root>
(die zahlen und namen nehm ich dann aus der itemcode tabelle)

um das irgendwie anschaulich zu machen dann, pack ich die datagridview tabelle rein, in der die erstellte xml dargestellt wird als normale tabelle mit den ganzen unterknoten, also so wie in dem tool was ich schon gepostet habe.
man kann dann in der tabelle werte eintragen, die beim abspeichern dann in der xml übernommen werden.

wie ich das mit dem parsen hinkriege und der formatierung in d2nt/d2bs code, k.a.

ein vorschlag , wie du det janze in d2nt formatierst hab ich für dich :
du kannst für jeden stat ein string machen (ich kenn mich in c# und xml nit aus), z.B arstring (attack rate), der würde dann bestehen aus : "[ToHit] >= " + wert, den der benutzer eingegeben hat. am ende dann alle statstrings aneinanderhängen. so hab ichs jedenfalls gemacht und des programm weiß auch wann es ein "#" oder "&&" setzen muss. wennde willst kann ich dir den quellcode von meim programm mal schicken.

greez
zerker
05/23/2010 02:59 fuuch#12
ok also ich habe es geschafft xmls einzubinden mit festen werten für z.b. white armors:

syntax ist ungefähr so:
Code:
<item type="armor"name="Quilted Armor"quality="normal" id="qui" sockets="2"minstr="12" maxdef="11"pic="duskarmor"></item>
es ist nicht besonders schwer, jetz wo ich etwas übung dazugewonnen habe, aber es gibt sauviel arbeit mit den xml datenbanken..

man kann soviele variablen wie man will eintragen, die nodeattribute können in einer schleife gelesen werden und dann mit einer methode formatiert werden.

sieht grad so aus
[Only registered and activated users can see links. Click Here To Register...]
05/23/2010 09:54 Zerker.jar#13
ich würd ma aufpassen mit diesem "[Defense] == 489". der bot hebt dann des item nur auf, wenn es 489 def hat. mach da lieber nen >= rein (größer gleich)
und da bei "[Flag] == [Noneth]" : soll des d2nt sein? wenn ja sollte es doch heißen "[Flag] == ethereal" oder "[Flag] != ethereal"
05/23/2010 11:48 Muddy Waters#14
Quote:
Originally Posted by monsonov View Post
ich würd ma aufpassen mit diesem "[Defense] == 489". der bot hebt dann des item nur auf, wenn es 489 def hat. mach da lieber nen >= rein (größer gleich)
und da bei "[Flag] == [Noneth]" : soll des d2nt sein? wenn ja sollte es doch heißen "[Flag] == ethereal" oder "[Flag] != ethereal"
Wobei das bei sämtlichen Werten der Fall ist. Alle Absolutwerte dürfen nicht in eckigen Klammern stehen! ;)

Aber ansonsten schauts durchaus interessant aus. Dass das verdammt viel Arbeit ist hatte ich dir ja schon vorher prophezeit. :p

Lg
Muddy
05/23/2010 13:26 fuuch#15
ich habe mir überlegt für die normal armor items den min und max def wert mit beizugeben,
sodass man nicht immer rumtabben muss für eth armors zum buggen, die ich z.B. mit dem (maxdefwert - 10) in der pickit habe und so(eth wert errechne ich dann über ne eigene methode mit x+x/2). bei waffen ist es ja egal, da sie immer gleichviel min/maxdmg haben und die enhanceddefense/damage geschichte mache ich dann direkt über das GUI. das kommt gar nicht erst in die xml datenbanken. eventuell lasse ich eine eigene methode die ed prozente vom basedef ausrechnen, um dann nur wirklich gute basedef ed items zu picken. sieht dann einfach so aus über die methode gerechnet
Quote:
if((picked item def wert) >= abrunden((picked item def wert / 100)*15)+(maxdef vom gepickten armoritem))
hoffe ich habe da keinen gedankenfehler drin grad