Page 1 of 1
Frischer Server und die Problemchen
PostPosted: Thu Nov 20, 2014 6:44 pm
by Uchihs
Hallo!
Habe einen Server und Programme die dafür nötig sind installed.
MySQL
SharpDevelop
TortoiseSVN
DaocPortal
HeidiSQL
Einmal das DOL Server Package gesaugt, damit klappt alles bisher, skills sind da, Trainer und Merchants funktionieren etc pp.
Leider gibt es bei dem Build (anderer Ordner) von SVN und nach dem Kompilieren mit SharpDevelop nicht so richtig.
Also sind zwei Packages, einmal Server Package von DOL, so zum testen und einmal SVN um darin herumzubasteln und ggf (falls möglich?!) in den Package-Pfad zu integrieren.
Nun nach dem Kompilieren erscheinen ja im SVN- Debug - Ordner die Exe files, Dolserver etc, wenn ich auf den Server dort Connecte gibt es leider ein Problem, denn es gibt zwar Klassen, Base(Starterklassen) und Die, welche ab lvl 5 möglich sind.
Leider aber keine Spelllines, keine Skills, keine Pasive Skills, nichts. Nichtmal Sprinten gibt es ^^ auch von Erstellung eines Chars angelegte Grundausrüstung lässt sich nach dem Ablegen nicht anziehen weil z.B die Fähigkeit zum Tragen der Rüsse/Waffe fehlt ^^
Jemand eine Idee, wo das Problem liegen könnte?!
MfG
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 3:24 pm
by Uchihs
Danke für's Freischalten, das Probleme wurde im Englischen Forum bereits gelöst. Kann geschlossen werden
Grüßerl
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 5:30 pm
by Xanth
ich gebe dir nen tipp, benutze nicht sharpdevelop, benutz microsoft visual c# desktop 2013 version
funktioniert am beste, finde ich, einfach zu bedienen

Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 5:47 pm
by Uchihs
Leider hatte sich Visual c# 2013 auf meiner Systemplatte breitgemacht, obwohl der Installpfad auf eine andere gelegt war.
Nach ein bisl Googlen kam raus, dass sich das wohl nicht ändern lässt-.-
Keinen Platz auf C: für so eine große Install.
Sag mal Xanth, bin gerade am Custom Klasse hinbiegen und habe zb eine bisherige Klasse (ClassHero+HeroTrainer) kopiert umbenannt und alles darin, wo Hero stand in den neuen Klassennamen umbenannt.
Dann auch das ganze Projekt durchsucht und bei den Definitionen für die Titel usw bisherige Schemata kopiert und umbenannt.
Z.B in CharacterCreateRequestHandler:
- Code: Select all
(int)eCharacterClass.Guardian, // Gaian = 63,
hinzugefügt, bei den Rassen die erwünscht sind.
Auch beim GuardianTrainer.
- Code: Select all
case "Gaian":
if(player.Race == (int)eRace.Celt || player.Race == (int)eRace.Firbolg || player.Race == (int)eRace.Elf || player.Race == (int)eRace.Sylvan || player.Race == (int)eRace.HiberniaMinotaur)
{
player.Out.SendMessage(this.Name + " says, \"I can't tell you something about this class.\"", eChatType.CT_System, eChatLoc.CL_PopupWindow);
}
else{
player.Out.SendMessage(this.Name + " says, \"The path of the Protectors of Gaia is not available to your race. Please choose another.\"", eChatType.CT_System, eChatLoc.CL_PopupWindow);
}
return true;
Playerclasses.txt:
- Code: Select all
PlayerClass.Name.Gaian: Gaian
sowie bei PlayerTitles.txt und Trainer.txt
PlayerClasses.txt:
- Code: Select all
PlayerClass.Name.Gaian: Gaian
Bei der Trainerdatei:
- Code: Select all
using System;
using DOL.GS;
using DOL.Language;
namespace DOL.GS.PlayerClass
{
/// <summary>
///
/// </summary>
[CharacterClassAttribute((int)eCharacterClass.Gaian, "Gaian", "Guardian", "Gaian")]
public class ClassGaian : ClassGuardian
{
public ClassGaian() : base()
{
m_profession = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "PlayerClass.Profession.PathofFocus");
m_specializationMultiplier = 20;
m_primaryStat = eStat.STR;
m_secondaryStat = eStat.CON;
m_tertiaryStat = eStat.DEX;
m_wsbase = 500;
}
public override string GetTitle(GamePlayer player, int level)
{
if (level >= 50) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.50");
if (level >= 45) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.45");
if (level >= 40) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.40");
if (level >= 35) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.35");
if (level >= 30) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.30");
if (level >= 25) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.25");
if (level >= 20) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.20");
if (level >= 15) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.15");
if (level >= 10) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.10");
if (level >= 5) return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.Gaian.GetTitle.5");
return LanguageMgr.GetTranslation(player.Client.Account.Language, "PlayerClass.GetTitle.none");
}
public override bool HasAdvancedFromBaseClass()
{
return true;
}
}
}
wird bei der Zeile: ((int)eCharacterClass.Gaian, das Gaian nicht erkannt, es fehle die Definition.
- Code: Select all
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1613,32
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1299,28
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1449,28
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1461,28
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1474,28
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1521,28
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\packets\Client\168\CharacterCreateRequestHandler.cs:1578,28
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\playerclasses\hibernia\ClassGaian.cs:28,48
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\trainer\hibernia\GaianTrainer.cs:33,33
'DOL.GS.eCharacterClass' enthält keine Definition für 'Gaian'. (CS0117) - D:\Program Files (x86)\Dawn of Light\Yo SVN\GameServer\trainer\hibernia\GaianTrainer.cs:103,49
Auch beim selbigen Trainer ist es so.
Hast Du eine Idee, was fehlt?
Grüßle
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 6:03 pm
by Uchihs
Ahhhhh der Fehler schien am folgenden zu liegen.
In der GlobalConstants.cs war die Klasse mit Namen und ID nicht hinterlegt.
Hab ich wohl beim durchsuchen übersprüngen ^^
Jetzt müsste man noch in der DB alles verlinken/organisieren/umbenennen etc?!
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 6:52 pm
by Xanth
genau also die spelllines stayles was auch immer adden, vlt auch items für den jeweiligen char wie eldritch_staff_free oder so, dann brauchst du für custom classes noch einen custom trainer, der deine character id setzt, etc. aber eigentlich. habe ich da keine ahnung, bei mir war das auch erst interessant und hatte viele eindrücke von geshi (faith-admin), wir haben mal darüber geredet und er meinte man brauch einen " Custom Class Changer Script "
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 7:05 pm
by Uchihs
Hmmm, habe einen der herrkömmlichen Trainer kopiert und dort auch alles abgeändert, er lässt sich auch erstellen und hat auch die von mir definierten Texte und Highlights zum Anklicken. Mal schauen
Sitze grad an den Styles/Spells. auch dort muss man scheinbar die Karriere für die Klasse festlegen, wie z.B HeroCareer, WarlockCareer usw. Hoffe es klappt dann damit wie erhofft
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 7:15 pm
by Xanth
also ein custom trainer sollte die id vom char ändern weil am anfang startest du mit guardian oder so, ann musst du einfügen das er alle styles und psells löschen soll und dann nach change der ip die spells und styles des jeweiligen trainers übernehmen soll
Re: Frischer Server und die Problemchen
PostPosted: Fri Nov 21, 2014 7:41 pm
by Uchihs
Joa, das alte ID auflösen und durch neue ID ersetzen klappt noch nicht so.
Aber immerhin wird "es" schonmal als Trainer erkannt, siehe Log:
http://img5.fotos-hochladen.net/uploads ... vcq1ue.jpg
Nun suche ich nach den entsprechenden Zeilen und schaue dabei die bishereigen Trainer/Klassen.cs an, dort gibt es keine unterschiedlich speziefischen ID Geschichten.
- Code: Select all
public class GaianTrainer : GameTrainer
{
public override eCharacterClass TrainedClass
{
get { return eCharacterClass.Gaian; }
}
Dieser Pfad sieht für mich nach dem gesuchten Feld aus und ist in jedem Trainer gleichermaßen hinterlegt, nur eben mit anderen Klassennamen. Hmmm
Re: Frischer Server und die Problemchen
PostPosted: Mon Nov 24, 2014 10:10 am
by Xanth
also Ich kann dir sagen wie geshi das gemacht hat, er hat eine custom Gameplayer klasse gemacht mit dem namen MyPlayer.cs, dort hat er angegeben, dass wenn deine custom klasse gesetzt ist, soll er die werte und so haben, dann brauchst du ein Class Unlocker und ein Class Changer, beim Class Changer, wird eine Methode aufgerufen ClassChange, welche die Class des gameplayers changed und alle spelllines, und so removed wie hier
- Code: Select all
//remove all their tricks and abilities!
player.RemoveAllSkills();
player.RemoveAllSpecs();
player.RemoveAllSpellLines();
player.RemoveAllStyles();
//reset before, and after changing the class.
player.Reset();
player.SetCharacterClass(classID);
player.Reset();
//this is just for additional updates
//that add all the new class changes.
player.OnLevelUp(0);
player.Out.SendUpdatePlayer();
player.Out.SendUpdatePlayerSkills();
player.Out.SendUpdatePoints();
SayTo(player, "Done!");
Er hat auch eine table in der DB gemacht, und hat gesagt, wenn player changed setzt er von false auf true, damit man sieht, ah er ist jetzt ein Gaian, oder was auch immer,
ich hoffe ich konnte weiterhelfen
best regards