Thorek93 - Fr 21.03.14 18:12
Titel: Brauche hilfe für einen Teleport script .cs
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
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, null, 0, 4, "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
Th69: Topic aus C# & .NET Tutorials verschoben am Sa 22.03.2014 um 12:24
Moderiert von
Th69: Code- durch C#-Tags ersetzt
Th69 - 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# [
http://www.codeplanet.eu/tutorials/csharp/5-verbindung-zum-mysql-server-mit-csharp.html] gibt es ein Tutorial dazu.
Du mußt aber auf jeden Fall ein neues Command anlegen (oder den vorhanden abändern), z.B.
C#-Quelltext
1:
| new GmCommandHandler("mapbyname", TeleportMapByName, null, 0, 1, "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.