|
You last visited: Today at 19:43
Advertisement
[Help] Guild Gates and Guild Pole
Discussion on [Help] Guild Gates and Guild Pole within the CO2 Private Server forum part of the Conquer Online 2 category.
01/23/2011, 16:46
|
#1
|
elite*gold: 0
Join Date: May 2006
Posts: 1,190
Received Thanks: 516
|
[Help] Guild Gates and Guild Pole
Hey guys, been working on my server and haven't tested my Guild War till now but I have a major problem.
The Guild Gates and Pole don't show up... they are there because I cant physically jump / move onto the spot where the pole should be...
I have tried with a few different clients and they just don't show up...
Anyone have any ideas?
If possible could someone please post the Mesh IDs and the Mesh files if you have them?
I have probably missed something so simple, but any help would be much appreciated.
|
|
|
01/23/2011, 17:15
|
#2
|
elite*gold: 0
Join Date: Apr 2009
Posts: 782
Received Thanks: 458
|
what version?
|
|
|
01/23/2011, 17:16
|
#3
|
elite*gold: 0
Join Date: May 2006
Posts: 1,190
Received Thanks: 516
|
Quote:
Originally Posted by 12tails
what version?
|
Oh sorry forgot to mention that part lol
It's 5165
|
|
|
01/23/2011, 17:22
|
#4
|
elite*gold: 0
Join Date: Apr 2009
Posts: 782
Received Thanks: 458
|
Take a look on that... check the packet and the mesh and type of pole and gates...
THIS Packet is for 535+ source.... so don't use it as a base ... cause won't work... but you can use to check the values... hope it help you!
Code:
public enum SOBType : ushort
{
Gate = 0x1A,
Scarecrow = 0x16,
Shop = 14,
Stake = 0x15,
Pole = 0x0A
}
public enum SOBMesh : ushort
{
ShopFlag = 406,
LeftGate = 0x00F1,
LeftGateOpen = 251,
RightGate = 0x0115,
RightGateOpen = 287,
Pole = 0x471
}
public class Terrain : Writer, Interfaces.IPacket, Interfaces.ITerrain, Interfaces.IMapObject
{
private byte[] Buffer;
private ushort _MapID;
private Conquer_Online_Server.Game.Enums.ConquerAngle _Facing;
private string _name = "";
public Terrain(string setName)
{
_name = setName;
Buffer = new byte[8 + 32 + setName.Length];
WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer);
WriteUInt16(0x455, 2, Buffer);
}
public uint UID
{
get { return BitConverter.ToUInt32(Buffer, 4); }
set { WriteUInt32(value, 4, Buffer); }
}
public uint MaxHitpoints
{
get { return BitConverter.ToUInt32(Buffer, 12); }
set { WriteUInt32(value, 12, Buffer); }
}
public uint HitPoints
{
get { return BitConverter.ToUInt32(Buffer, 16); }
set { WriteUInt32(value, 16, Buffer); }
}
public ushort X
{
get { return BitConverter.ToUInt16(Buffer, 20); }
set { WriteUInt16(value, 20, Buffer); }
}
public ushort Y
{
get { return BitConverter.ToUInt16(Buffer, 22); }
set { WriteUInt16(value, 22, Buffer); }
}
public SOBMesh Type
{
get { return (SOBMesh)BitConverter.ToUInt16(Buffer, 24); }
set { WriteUInt16((ushort)value, 24, Buffer); }
}
public SOBType Flag
{
get { return (SOBType)BitConverter.ToUInt16(Buffer, 26); }
set { WriteByte((byte)value, 26, Buffer); }
}
public bool ShowName
{
get { return (Buffer[30] > 0); }
set { WriteByte((byte)(value ? 1 : 0), 30, Buffer); }
}
public byte NameLength
{
get { return Buffer[31]; }
set { WriteByte(value, 31, Buffer); }
}
public string Name
{
get { return _name; }
set
{
_name = value;
Buffer = new byte[8 + 32 + _name.Length];
WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer);
WriteUInt16(0x455, 2, Buffer);
Buffer[30] = 1;
Buffer[31] = (byte)_name.Length;
WriteString(value, 32, Buffer);
}
}
public ushort MapID
{
get { return _MapID; }
set { _MapID = value; }
}
public Conquer_Online_Server.Game.MapObjectType MapObjType
{
get { return Conquer_Online_Server.Game.MapObjectType.Terrain; }
}
public Client.GameState Owner { get { return null; } }
public Game.Enums.ConquerAngle Facing { get { return _Facing; } set { _Facing = value; } }
public void SendSpawn(Client.GameState client, bool checkScreen)
{
if (client.Screen.Add(this) || !checkScreen)
{
client.Send(Buffer);
}
}
public void SendSpawn(Client.GameState client)
{
SendSpawn(client, false);
}
public byte[] ToArray()
{
return Buffer;
}
public void Deserialize(byte[] buffer)
{
Buffer = buffer;
}
public void Send(Client.GameState client)
{
SendSpawn(client, false);
}
}
Cya!... send a pv msg to me if you need some help....
|
|
|
01/23/2011, 18:02
|
#5
|
elite*gold: 0
Join Date: May 2006
Posts: 1,190
Received Thanks: 516
|
Quote:
Originally Posted by 12tails
Take a look on that... check the packet and the mesh and type of pole and gates...
THIS Packet is for 535+ source.... so don't use it as a base ... cause won't work... but you can use to check the values... hope it help you!
Code:
public enum SOBType : ushort
{
Gate = 0x1A,
Scarecrow = 0x16,
Shop = 14,
Stake = 0x15,
Pole = 0x0A
}
public enum SOBMesh : ushort
{
ShopFlag = 406,
LeftGate = 0x00F1,
LeftGateOpen = 251,
RightGate = 0x0115,
RightGateOpen = 287,
Pole = 0x471
}
public class Terrain : Writer, Interfaces.IPacket, Interfaces.ITerrain, Interfaces.IMapObject
{
private byte[] Buffer;
private ushort _MapID;
private Conquer_Online_Server.Game.Enums.ConquerAngle _Facing;
private string _name = "";
public Terrain(string setName)
{
_name = setName;
Buffer = new byte[8 + 32 + setName.Length];
WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer);
WriteUInt16(0x455, 2, Buffer);
}
public uint UID
{
get { return BitConverter.ToUInt32(Buffer, 4); }
set { WriteUInt32(value, 4, Buffer); }
}
public uint MaxHitpoints
{
get { return BitConverter.ToUInt32(Buffer, 12); }
set { WriteUInt32(value, 12, Buffer); }
}
public uint HitPoints
{
get { return BitConverter.ToUInt32(Buffer, 16); }
set { WriteUInt32(value, 16, Buffer); }
}
public ushort X
{
get { return BitConverter.ToUInt16(Buffer, 20); }
set { WriteUInt16(value, 20, Buffer); }
}
public ushort Y
{
get { return BitConverter.ToUInt16(Buffer, 22); }
set { WriteUInt16(value, 22, Buffer); }
}
public SOBMesh Type
{
get { return (SOBMesh)BitConverter.ToUInt16(Buffer, 24); }
set { WriteUInt16((ushort)value, 24, Buffer); }
}
public SOBType Flag
{
get { return (SOBType)BitConverter.ToUInt16(Buffer, 26); }
set { WriteByte((byte)value, 26, Buffer); }
}
public bool ShowName
{
get { return (Buffer[30] > 0); }
set { WriteByte((byte)(value ? 1 : 0), 30, Buffer); }
}
public byte NameLength
{
get { return Buffer[31]; }
set { WriteByte(value, 31, Buffer); }
}
public string Name
{
get { return _name; }
set
{
_name = value;
Buffer = new byte[8 + 32 + _name.Length];
WriteUInt16((ushort)(Buffer.Length - 8), 0, Buffer);
WriteUInt16(0x455, 2, Buffer);
Buffer[30] = 1;
Buffer[31] = (byte)_name.Length;
WriteString(value, 32, Buffer);
}
}
public ushort MapID
{
get { return _MapID; }
set { _MapID = value; }
}
public Conquer_Online_Server.Game.MapObjectType MapObjType
{
get { return Conquer_Online_Server.Game.MapObjectType.Terrain; }
}
public Client.GameState Owner { get { return null; } }
public Game.Enums.ConquerAngle Facing { get { return _Facing; } set { _Facing = value; } }
public void SendSpawn(Client.GameState client, bool checkScreen)
{
if (client.Screen.Add(this) || !checkScreen)
{
client.Send(Buffer);
}
}
public void SendSpawn(Client.GameState client)
{
SendSpawn(client, false);
}
public byte[] ToArray()
{
return Buffer;
}
public void Deserialize(byte[] buffer)
{
Buffer = buffer;
}
public void Send(Client.GameState client)
{
SendSpawn(client, false);
}
}
Cya!... send a pv msg to me if you need some help....
|
Nope, didn't help
Just downloaded Rickardo Updated - From Arcos thread and that works with my client and also shows the Pole and Gates :/
Mesh IDs are correct and everything is pretty much the same as the other source I downloaded... I am at a loss of what to do and try!?!
Add me on msn if you can 12tails or anyone that knows / thinks they know whats wrong
|
|
|
01/27/2011, 23:37
|
#6
|
elite*gold: 0
Join Date: Sep 2009
Posts: 1
Received Thanks: 0
|
me I wwant to be a website designer... deal...
|
|
|
01/28/2011, 11:48
|
#7
|
elite*gold: 0
Join Date: Aug 2010
Posts: 992
Received Thanks: 1,110
|
as long as you have that Rickardo Updated look at the SpawnNPCWithHP packet/GuildWar.cs .
ThePole , ID = 6700 ;
ThePole , Mesh = 1137;
TheLeftGate , ID = 6701;
opened , Mesh = 240;
Closed , Mesh = 250;
TheRightGate , ID = 6702;
opened , Mesh = 270;
Closed , Mesh = 280;
i'll upload the meshes/monster folder out of my client it might work .
Edit... here is the link .
|
|
|
01/28/2011, 13:08
|
#8
|
elite*gold: 0
Join Date: May 2006
Posts: 1,190
Received Thanks: 516
|
Still can't get the **** thing working... everything is the same as rikardos as I just copied it all over to see if it would work and nothing! tried your files and they still work for rikardos source but not mine  hmmmm
|
|
|
01/28/2011, 13:56
|
#9
|
elite*gold: 0
Join Date: Aug 2010
Posts: 992
Received Thanks: 1,110
|
Any time
|
|
|
01/28/2011, 21:03
|
#10
|
elite*gold: 0
Join Date: May 2006
Posts: 1,190
Received Thanks: 516
|
Hmm okay, thought of another way for people to help me out lol
This is my GW code but I can't see whats wrong with it, its the one out of NCOS just modified some stuff to work with my source... can anyone see what's wrong?
Code:
using System;
using System.Collections;
using MayaConquer_v2.World;
using MayaConquer_v2.Kernel;
using MayaConquer_v2.Features;
using MayaConquer_v2.Structures;
using MayaConquer_v2.GameSystem;
using System.Collections.Generic;
namespace MayaConquer_v2.Features
{
public partial class GuildWars
{
public static string PoleHolder = "None";
public static Pole ThePole;
public static Gate TheLeftGate;
public static Gate TheRightGate;
public static bool War;
public static Dictionary<uint, GWScore> Points;
public static Hashtable Scores;
public static DateTime LastScores;
public static Guild LastWinner;
public struct Gate
{
public Location Loc;
public uint MaxHP;
public uint CurHP;
public uint EntityID;
public uint Mesh;
public bool Opened
{
set
{
if (EntityID == 6701)//Left Gate
{
if (value) Mesh = 250;
else Mesh = 240;
}
else if (EntityID == 6702)//Right Gate
{
if (value) Mesh = 280;
else Mesh = 270;
}
}
get
{
if (EntityID == 6701)//Left Gate
{
if (Mesh == 250) return true;
else return false;
}
else if (EntityID == 6702)//Right Gate
{
if (Mesh == 280) return true;
else return false;
}
return false;
}
}
public void Spawn(Character C, bool Check)
{
if (C.Loc.Map == Loc.Map && Calculate.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16) && (!Calculate.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Loc.X, Loc.Y, 16) || !Check))
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
}
public void ReSpawn()
{
foreach (Character C in Game.H_Chars.Values)
{
if (C.Loc.Map == Loc.Map && Calculate.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16))
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
}
}
public void ReciveDamage(Character C, uint Damage, byte AtkType)
{
if (AtkType != 21)
{
Actions.Action(C, ConquerPacket.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, Damage, AtkType).Get);
}
if (Damage >= CurHP)
{
C.AtkMem.Attacking = false;
C.AtkMem.Target = 0;
Actions.Action(C, ConquerPacket.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, 0, 14).Get);
Opened = true;
ReSpawn();
}
else
{
CurHP -= Damage;
}
}
}
public struct Pole
{
public Location Loc;
public uint MaxHP;
public uint CurHP;
public uint Mesh;
public uint EntityID;
public void Spawn(Character C, bool Check)
{
if (C.Loc.Map == Loc.Map && Calculate.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16) && (!Calculate.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Loc.X, Loc.Y, 16) || !Check))
{
if (LastWinner == null)
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
else
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, LastWinner.Name, CurHP, MaxHP));
}
}
public void ReSpawn()
{
foreach (Character C in Game.H_Chars.Values)
{
if (C.Loc.Map == Loc.Map && Calculate.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16))
{
if (LastWinner == null)
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
else
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, LastWinner.Name, CurHP, MaxHP));
}
}
}
public void TakeAttack(Character C, uint Damage, byte AtkType)
{
if (War && C.Guild != null && C.Guild != LastWinner)
{
if (AtkType != 21)
Actions.Action(C, ConquerPacket.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, Damage, AtkType).Get);
if (Damage >= CurHP)
{
AddScore(C.Guild, CurHP);
C.AtkMem.Attacking = false;
C.AtkMem.Target = 0;
Actions.Action(C, ConquerPacket.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, 0, 14).Get);
CurHP = MaxHP;
EndWar();
}
else
{
CurHP -= Damage;
AddScore(C.Guild, ((Damage * 20) / 100));
}
}
}
}
public static void Init()
{
War = false;
Points = new Dictionary<uint, GWScore>();
LastScores = DateTime.Now;
ThePole = new Pole();
ThePole.EntityID = 6700;
ThePole.Mesh = 1137;
ThePole.CurHP = 20000000;
ThePole.MaxHP = 20000000;
ThePole.Loc = new Location();
ThePole.Loc.Map = 1038;
ThePole.Loc.X = 84;
ThePole.Loc.Y = 99;
TheLeftGate = new Gate();
TheLeftGate.EntityID = 6701;
TheLeftGate.Opened = false;
TheLeftGate.MaxHP = 10000000;
TheLeftGate.CurHP = 10000000;
TheLeftGate.Loc = new Location();
TheLeftGate.Loc.Map = 1038;
TheLeftGate.Loc.X = 163;
TheLeftGate.Loc.Y = 210;
TheLeftGate.ReSpawn();
TheRightGate = new Gate();
TheRightGate.EntityID = 6702;
TheRightGate.Opened = false;
TheRightGate.MaxHP = 10000000;
TheRightGate.CurHP = 10000000;
TheRightGate.Loc = new Location();
TheRightGate.Loc.Map = 1038;
TheRightGate.Loc.X = 222;
TheRightGate.Loc.Y = 177;
TheRightGate.ReSpawn();
}
public static void AddScore(Guild G, uint Damage)
{
if (!Scores.Contains(G.ID))
{
GWScore S = new GWScore();
S.Score = (Damage * 20 / 100);
S.TheGuild = G;
S.TheGuild.Fund += (Damage / 1000);
Points.Add(G.ID, S);
}
else
{
Points[G.ID].Score += (Damage * 20 / 100);
Points[G.ID].TheGuild.Fund += (Damage / 1000);
}
}
public static string[] ShuffleGuildScores()
{
try
{
string[] ret = new string[5];
DictionaryEntry[] Vals = new DictionaryEntry[5];
for (sbyte i = 0; i < 5; i++)
{
Vals[i] = new DictionaryEntry();
Vals[i].Key = (ushort)0;
Vals[i].Value = (uint)0;
}
foreach (DictionaryEntry Score in Scores)
{
sbyte Pos = -1;
for (sbyte i = 0; i < 5; i++)
{
if (((GWScore)Score.Value).Score > (uint)Vals[i].Value)
{
Pos = i;
break;
}
}
if (Pos == -1)
continue;
for (sbyte i = 4; i > Pos; i--)
Vals[i] = Vals[i - 1];
Vals[Pos] = Score;
}
for (sbyte i = 0; i < 5; i++)
{
if ((ushort)Vals[i].Key == 0)
{
ret[i] = "";
continue;
}
Guild eGuild = Game.GameGuilds[(ushort)Vals[i].Key];
ret[i] = "N° " + (i + 1).ToString() + ": " + eGuild.Name + "(" + ((GWScore)Vals[i].Value).Score + ")";
}
return ret;
}
catch (Exception Exc) { Game.WriteLine(Exc); return null; }
}
public static void SendScores()
{
LastScores = DateTime.Now;
string[] ShuffledScores = ShuffleGuildScores();
if (ShuffledScores != null)
{
foreach (Character C in Game.H_Chars.Values)
{
if (C.Loc.Map == 1038)
{
byte c = 0;
foreach (string t in ShuffledScores)
{
if (t != "")
{
if (c == 0)
C.Client.Send(ConquerPacket.ChatMessage(0, "SYSTEM", "ALLUSERS", t, 0x83c, 0));
else
C.Client.Send(ConquerPacket.ChatMessage(0, "SYSTEM", "ALLUSERS", t, 0x83d, 0));
}
c++;
}
}
}
}
}
public static void StartWar()
{
Init();
Actions.SendMsgToAll("SYSTEM", "Guild War has Started!", 2011, 0);
War = true;
}
public static void EndWar()
{
War = false;
TheLeftGate.Opened = false;
TheRightGate.Opened = false;
TheLeftGate.CurHP = TheLeftGate.MaxHP;
TheRightGate.CurHP = TheRightGate.MaxHP;
TheLeftGate.ReSpawn();
TheRightGate.ReSpawn();
GWScore Highest = new GWScore();
Highest.Score = 0;
foreach (GWScore Score in Points.Values)
{
if (Highest.TheGuild.ID != Score.TheGuild.ID)
if (Highest.Score < Score.Score)
Highest = Score;
}
if (Highest.TheGuild != null)
{
LastWinner = Highest.TheGuild;
LastWinner.Wins++;
ThePole.ReSpawn();
Actions.SendMsgToAll("SYSTEM", Highest.TheGuild.Name + " has won!", 2011, 0);
}
SendScores();
Points = new Dictionary<uint, GWScore>();
//StartWar();
}
public static void StopWar()
{
War = false;
TheLeftGate.Opened = false;
TheRightGate.Opened = false;
TheLeftGate.CurHP = TheLeftGate.MaxHP;
TheRightGate.CurHP = TheRightGate.MaxHP;
TheLeftGate.ReSpawn();
TheRightGate.ReSpawn();
GWScore Highest = new GWScore();
Highest.Score = 0;
foreach (GWScore Score in Points.Values)
{
if (Highest.TheGuild.ID != Score.TheGuild.ID)
if (Highest.Score < Score.Score)
Highest = Score;
}
if (Highest.TheGuild != null)
{
LastWinner = Highest.TheGuild;
LastWinner.Wins++;
ThePole.ReSpawn();
Actions.SendMsgToAll("SYSTEM", Highest.TheGuild.Name + " has won!", 2011, 0);
}
SendScores();
Points = new Dictionary<uint, GWScore>();
}
public class GWScore
{
public Guild TheGuild;
public uint Score;
}
}
}
Thanks for the help
1000th post! Woot
|
|
|
01/29/2011, 02:04
|
#11
|
elite*gold: 0
Join Date: Aug 2010
Posts: 992
Received Thanks: 1,110
|
it looks fine though but why dont you try something like ..
PHP Code:
switch (Cmd[0]) { case "!Open": { GuildWars.TheLeftGate.Opened = !GuildWars.TheRightGate.Opened; // change the mesh GuildWars.TheRightGate.Opened = !GuildWars.TheRightGate.Opened; // change the mesh GuildWars.TheRightGate.ReSpawn(); GuildWars.ThePole.ReSpawn(); GuildWars.TheLeftGate.ReSpawn(); break; } }
change the Spawn/respawn voids to look like this .
PHP Code:
public void ReSpawn() { foreach (Character C in Game.H_Chars.Values) {// remove the map/inbox check that well spawn it any way . C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP)); } } public void Spawn(Character C, bool Check) {// remove the map/inbox check that well spawn it any way . C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP)); } }
see what happens .
not sure if thats gonna work but you can always try .
|
|
|
01/29/2011, 17:36
|
#12
|
elite*gold: 0
Join Date: May 2006
Posts: 1,190
Received Thanks: 516
|
Quote:
Originally Posted by { Angelius }
it looks fine though but why dont you try something like ..
PHP Code:
switch (Cmd[0])
{
case "!Open":
{
GuildWars.TheLeftGate.Opened = !GuildWars.TheRightGate.Opened; // change the mesh
GuildWars.TheRightGate.Opened = !GuildWars.TheRightGate.Opened; // change the mesh
GuildWars.TheRightGate.ReSpawn();
GuildWars.ThePole.ReSpawn();
GuildWars.TheLeftGate.ReSpawn();
break;
}
}
change the Spawn/respawn voids to look like this .
PHP Code:
public void ReSpawn()
{
foreach (Character C in Game.H_Chars.Values)
{// remove the map/inbox check that well spawn it any way .
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
}
}
public void Spawn(Character C, bool Check)
{// remove the map/inbox check that well spawn it any way .
C.Client.Send(ConquerPacket.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
}
}
see what happens .
not sure if thats gonna work but you can always try .
|
Definatly gonna try it although I didn't think about removing the checks lmao would have been a good start really lol
#Bump
Sorry for the Double Post :/ - Couldn't really help it lol
Still can't get this damn thing to work... anyone that thinks they can help please add me on msn... I am getting to the point where I am gonna throw my PC out the window rofl!!
Thanks in advance
|
|
|
02/20/2011, 15:15
|
#13
|
elite*gold: 0
Join Date: Jul 2010
Posts: 56
Received Thanks: 2
|
How do you think I feel LOL.
|
|
|
 |
Similar Threads
|
guys how can i change the guild war pole health 5165
10/31/2010 - CO2 Private Server - 1 Replies
guys how can i change the guild war pole health 5165
|
XP Trainer at Guild Gates
10/11/2010 - CO2 Bots & Macros - 18 Replies
My first attempt to contribute to E*Pvp so be nice to me. I've used the search and wasn't able to find what I was looking for so I made this macro. You put your xp skill you want leveled on your F10 key and let the mouse hover or your head on the guild gate so you don't click on anyone else that may be leveling their skills on the gate as well. It automatically attacks the gate, uses xp skill, then attacks the gate again. Used this to level my ND, Fish, and Robot skills on my characters. Hope...
|
Cyclone @ Guild Gates
05/31/2008 - Conquer Online 2 - 3 Replies
I saw in the Bots/Macros section some bots making this...the problem is that some of that activate cyclone but then it doesen't hit anymore..what auto xp skill would you recommend
|
next patch no standing back of guild pole
07/27/2006 - Conquer Online 2 - 5 Replies
for patch 4318 they are fixing the problem with the guild pole well i think its a swell(not swell idea) because there will be monkeys(haters or what ever you call it) killing people just because they are angry people need to be set in a anger management. Yep conquer online is changing to a greedy buisiness that turns a bind spot for db buyers but look closer to other people bah internet bums bah children on conquer online and bah TQ
conquer online dirty work<-- well that the news brought...
|
All times are GMT +1. The time now is 19:44.
|
|