Autor Beitrag
Thorek93
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 21.03.14 18:12 
Hallo Entwickler,
ein paar entwickler und ich arbeiten derzeit an einen Privaten warhammer online server.

Wir haben derzeit einen teleport ingame befehl wollen ihn aber vereinfachen.
Der befehl ingame geht derzeit .teleport map id wx wy wz

Wir möchten aber .teleport to "Name" sozusagen das man nur noch den namen eingeben muss und nicht mehr die wx wy und wz koordianten die sollen selber aus der mysql datenbanktabele erkannt werden.

Ich habe nun eine Mysql Tabele angelegt mit -id- -name- -map- -wx- -wy- -wz-.
id 1,2,3,4 usw name für den namen - map für die map id - wx wy wz stehen für die Koordinaten.

Der .cs code sieht derzeit so aus.

Hat da jemand Ahnung wie man ihn so umschreibt?

mfg Thorek

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
static public List<GmCommandHandler> TeleportCommands = new List<GmCommandHandler>()
{
    new GmCommandHandler("map",TeleportMap, null04"Teleport to point <zoneid,Wx,Wy,Wz>"),
};

#region Teleport

static public bool TeleportMap(Player Plr, ref List<string> Values)
{
    int ZoneID = GetInt(ref Values);
    int WorldX = GetInt(ref Values);
    int WorldY = GetInt(ref Values);
    int WorldZ = GetInt(ref Values);

    Plr.Teleport((UInt16)ZoneID, (uint)WorldX, (uint)WorldY, (UInt16)WorldZ, 0);

    return true;
}


Moderiert von user profile iconTh69: Topic aus C# & .NET Tutorials verschoben am Sa 22.03.2014 um 12:24
Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 22.03.14 13:38 
Hallo Thorek93 :welcome:

hast du denn schon den Code für den Zugriff auf die MySQL-Tabelle? Wenn nein, unter Verbindung zum MySQL-Server mit C# gibt es ein Tutorial dazu.

Du mußt aber auf jeden Fall ein neues Command anlegen (oder den vorhanden abändern), z.B.
ausblenden C#-Quelltext
1:
new GmCommandHandler("mapbyname", TeleportMapByName, null01"Teleport by <name>")					

Und in der neuen Methode TeleportMapByName dann auf den ersten Parameter zugreifen - wahrscheinlich eine Methode namens GetString o.ä.
Und dann eben die MySQL-Tabelle nach dem Namen durchsuchen und die Koordinaten auslesen.
Thorek93 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 22.03.14 18:37 
Hallo Th69,
danke für deine Antwort ich werde mir das anschauen und versuchen.

:- )