Originally Posted by felipeboladao
To Work Record Maps ;D For Leave Conducter in Market.
Go to Handles Folder , Teleport.cs Replace it to
Code:
/*
* Created by SharpDevelop.
* User: sams
* Date: 3/14/2009
* Time: 1:56 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using CoEmu_v2_GameServer.Connections;
using CoEmu_v2_GameServer.Entities;
using CoEmu_v2_GameServer.Structs;
using CoEmu_v2_GameServer.Packets;
using CoEmu_v2_GameServer.Calculations;
namespace CoEmu_v2_GameServer.Handlers
{
/// <summary>
/// Handles teleportations in the Conquer worls
/// </summary>
public partial class Handler
{
public static void Teleport(int Map, int X, int Y, int Instance, ClientSocket CSocket)
{
if (Map > 0 && X > 0 && Y > 0 && CSocket != null)
{
ConquerPacket.ToLocal(ConquerPacket.General(CSocket.Client.ID, CSocket.Client.X, CSocket.Client.Y, 0, 0, 0, Struct.DataType.EntityRemove), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
CSocket.Client.RecordMap = (int)CSocket.Client.Map;
CSocket.Client.RecordX = CSocket.Client.X;
CSocket.Client.RecordY = CSocket.Client.Y;
CSocket.Client.Map = (Struct.Maps)Map;
CSocket.Client.X = X;
CSocket.Client.Y = Y;
//TODO: Instance pairing.
CSocket.Send(ConquerPacket.General(CSocket.Client.ID, (int)CSocket.Client.Map, 0, CSocket.Client.X, CSocket.Client.Y, 0, Struct.DataType.ChangeMap));
CSocket.Send(ConquerPacket.General(CSocket.Client.ID, Nano.TintR, Nano.TintG, 0, 0, 0, Struct.DataType.CompleteMapChange));
CSocket.Send(ConquerPacket.NewMap((int)CSocket.Client.Map));
CSocket.Send(ConquerPacket.General(CSocket.Client.ID, 2, 0, CSocket.Client.X, CSocket.Client.Y, 0, Struct.DataType.MapShow3));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter(CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
CSocket.Client.PrevX = 0;
CSocket.Client.PrevY = 0;
Spawn.All(CSocket);
}
}
}
}
And go to Chat.cs and Replace
Code:
case 45: // Mark. Controller
{
if (LinkBack == 0)
{
Text("Hello I can teleport You outside of the market for free! Do you want to leave?", CSocket);
Link("Why would you be so kind to do so?", 1, CSocket);
Link("No, Thank you anyway.", 255, CSocket);
End(CSocket);
}
else if (LinkBack == 1)
{
if (CSocket.Client.RecordMap == 1002) //Twin City
{
Teleport(1002, 430, 380, 0, CSocket);
}
else if (CSocket.Client.RecordMap == 1011) //phoniex
{
Teleport(1011, 232, 260, 0, CSocket);
}
else if (CSocket.Client.RecordMap == 1020) //apecity
{
Teleport(1020, 565, 565, 0, CSocket);
}
else if (CSocket.Client.RecordMap == 1000) //desertcity
{
Teleport(1000, 496, 649, 0, CSocket);
}
else if (CSocket.Client.RecordMap == 1015) //birdisland
{
Teleport(1015, 723, 573, 0, CSocket);
}
else //For Other Map
Teleport(1002, 430, 380, 0, CSocket);
}
break;
}
And Replace in Database.cs
Code:
public static void SaveCharacter(Character Client)
{
MySqlCommand Cmd = new MySqlCommand("UPDATE `characters` SET `Level` = " + Client.Level + ", `WHMoney` = " + Client.WHMoney + ", `PkPoints` = " + Client.PkPoints + ", `xCord` = " + Client.X + ", `yCord` = " + Client.Y + ", `Map` = " + (int)Client.Map + ", `HairStyle` = " + Client.Hair + ", `Class` = " + (int)Client.Class + ", `Exp` = " + Client.Exp + ", `Money` = " + Client.Money + ", `CPoints` = " + Client.CPs + ", `Str` = " + Client.Strength + ",`Vit` = " + Client.Vitality + ", `Spi` = " + Client.Spirit + ", `Dex` = " + Client.Dexterity + ", `StatPoints` = " + Client.StatPoints + ", `FirstLog` = " + 1 + ", `Reborn` = " + Client.Reborn + ", `HP` = " + Client.CurrentHP + ", `MP` = " + Client.CurrentMP + ", `RecordMap` = " + Client.RecordMap + ", `RecordX` = " + Client.RecordX + ", `RecordY` = " + Client.RecordY + " WHERE `CharID` = " + Client.ID, DatabaseConnection.NewConnection());
Cmd.ExecuteNonQuery();
Cmd.Connection.Close();
Cmd.Connection.Dispose();
Cmd.Dispose();
}
Work??, Give me +k...
|