Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

11

24.02.2009, 09:55

gesagt, getan

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

12

24.02.2009, 10:00

Zitat von »"unsigned long"«

gesagt, getan

danke, gibt keinen bessern titel dafür, was? :oops:
wie gesagt, anregungen zum code sind gerne willkommen, ich bringe sie dann im anderen forum gerne als anregung ein, mal sehen wie die 'offiziellen' developer (die, die dort im team sind und svn rechte haben) darauf reagieren werden ;)

Anonymous

unregistriert

13

24.02.2009, 10:10

Sehr eigen ;)

Was mich z. B. sehr stört ist dieses wirre darin. Man sieht eigentlich, dass ihr keine festen Coding-Conventions habt oder euch nicht daran haltet - für ein professionelles Projekt eigentlich eine Peinlichkeit.

Beispiel:
Zeile 101:

C-/C++-Quelltext

1
CreatureAI* GetAI_npc_raliq_the_drunk(Creature *_Creature)

Vor und hinter den Klammern kein Leerschritt.

Zeile 103:

C-/C++-Quelltext

1
return new npc_raliq_the_drunkAI (_Creature);
Leerschritt vor der Klammer.

Zeile 106:

C-/C++-Quelltext

1
bool GossipHello_npc_raliq_the_drunk(Player *player, Creature *_Creature )

Leerschritt VOR Klammer zu.

Zeile 108:

C-/C++-Quelltext

1
if( player->GetQuestStatus(10009) == QUEST_STATUS_INCOMPLETE )

Hinter dem if kein Leerschritt vor der Klammer aber was zwischen den Klammern steht wird weit von den Klammern getrennt. Dann noch Magic-Number und direkt daneben eine Konstante.

Zeile 92 bis 96:

C-/C++-Quelltext

1
2
3
4
5
if( Uppercut_Timer < diff )
{
    DoCast(m_creature->getVictim(),SPELL_UPPERCUT);
    Uppercut_Timer = 15000;
}else Uppercut_Timer -= diff;

Das else ist eine Einzelanweisung und direkt hinter Klammer zu des ifs.

Zeile 225 bis 234:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
// Scryers vendor

if( _Creature->isVendor() && (player->GetReputationRank(934) == REP_EXALTED) && (player->GetReputationRank(935) == REP_EXALTED) && (player->GetReputationRank(942) == REP_EXALTED) )
{
    player->ADD_GOSSIP_ITEM(1, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
    player->SEND_GOSSIP_MENU(11085, _Creature->GetGUID());
}
else
{
    player->SEND_GOSSIP_MENU(11084, _Creature->GetGUID());
}

Hier ist das else nicht direkt hinter der Klammer und in einem eigenen Scope. Auch die Methoden von player unterscheiden sich von den anderen Namenskonventionen der anderen Klassen.

Kurz: Ich würde das Projekt nicht OpenSource machen, weil ich mich für den Code schämen würde.

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

14

24.02.2009, 10:20

ok, ich hab verstanden^^
in dem fall werde ich mal n antrag auf englisch formulieren, damit es 1-2 wochen lang einen patch freeze gibt, in der zeit wird dann alles umgeschrieben und nach standards gearbeitet... so, jetzt muss ich nur noch wen finden, der das macht :roll: (naja, werde vmtl. doch ich sein, so nach dem motto "hey, war doch dein vorschlag... was freizeit? gestrichen!")

wie gesagt, weitere korrekturvorschäge sind immer sehr gerne willkommen :)

Anonymous

unregistriert

15

24.02.2009, 10:23

naja das problem ohne coding conventions ist, dass verwahrlosung im code stattfindet und die "leiter" immer denken: "warum ändern? läuft doch".

sowas sollte von anfang an gemacht werden und nicht dieses ad-hoc.

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

16

24.02.2009, 10:26

das projekt läuft eben schon seit es wow gibt (schon die alpha version, welche dsa blizzard gebäude offiziell nie verlassen hatte war schon geknackt worden und es gab den ersten server der die opcodes senden konnte^^)

naja, gibt schon ein paar coding standards, die lauten einfach, dass man sich an die bestehenden scripte halten sollte :/

Anonymous

unregistriert

17

24.02.2009, 10:31

fragen wir mal so: glaubst du man kann das programm ohne besorgnis einfach so starten?

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

18

24.02.2009, 10:41

Zitat von »"unsigned long"«

fragen wir mal so: glaubst du man kann das programm ohne besorgnis einfach so starten?

kann man, ja.
wir haben es auch am laufen, mit bis zu 800 testusern in spitzenzeiten, andere kommen angeblich auf 1.2k bis 1.5k wobei das momentan die obergrenze zu sein scheint.

wir haben bei uns einfach noch das problem, dass unsere db uralt ist und teilweise verbuggte daten beinhaltet (z.b. sollte das feld 'gender' nur 0 oder 1 enthalten, bei ca. 5 charactern von 2007 steht da ne 5stellige zahl an der position^^) und deshalb crasht unser server etwas öfters. wir sind aber daran am arbeiten (max. uptimes bei uns momentan um 24stunden rum, andere berichten von mehreren tagen mit einem ähnlichen usercap)

btw. es ist ein server ;)
aber du kannst es nicht 'einfach so' starten, du musst erst ein paar daten aus dem client extrahieren die aus copyright gründen nicht mitgeliefert werden (und weil sie zu gross zum download wären... ca. 1gb) und du musst ne mysql datenbank aufsetzten und du musst alles compilieren ;)

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

19

24.02.2009, 15:22

so, ich bitte alle hier noch tipps/meinungen zu dem code zu geben.
ich selber finde ihn auch nicht schön und werde deshalb heute abend eine diskussion im entwicklerforum starten und hätte dafür noch gerne eure meinungen. (wer will darf sie gerne auf englisch schreiben, dann muss ich sie nicht übersetzten ;))

PS: am besten die meinungen getrennt zu mangos und scriptdev2, da diese projekte *theoretisch* unabhängig sind und auch leicht andere code regeln haben (mangos ist da etwas weiter als sd2)

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

20

27.02.2009, 10:35

anmerkung für all jene die bei scriptdev2 einen account im forum haben (ich,ich und ich?), ich habe dort mal n post erstellt: http://scriptdev2.com/showthread.php?t=4019
danke für dein feedback ul, ich habs dort mal neu zusammen gefasst und noch andere sachen einfliessen lassen ;)

Werbeanzeige