Register for your free account! | Forgot your password?

You last visited: Today at 16:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Any chance of...

Discussion on Any chance of... within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2007
Posts: 223
Received Thanks: 82
Any chance of...

A cool new PVP server appearing? Like SS/FB that **** and rape everyone with tournies and ****?

I feel like the only one that wants a PVP server.
CrimsonFart is offline  
Old 10/13/2014, 01:06   #2
 
pintinho12's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 908
Received Thanks: 390
pvp servers doesnt give money
pintinho12 is offline  
Old 10/13/2014, 01:54   #3
 
turk55's Avatar
 
elite*gold: 130
Join Date: Oct 2007
Posts: 1,652
Received Thanks: 701
Quote:
Originally Posted by pintinho12 View Post
pvp servers doesnt give money
To add more information to this post. PVP servers usually don't generate money since it's PVP. Therefore the hosting of the server is usually paid out of the pocket.
turk55 is offline  
Old 10/13/2014, 08:55   #4
 
Super Aids's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 946
If there was a playerbase above 100 players... These days a PVP server has to be lucky to even get 20...

PVP servers doesn't give you any donations anymore either, because of the low amount of players interested in it, so all payments for servers are done by yourself, thus it's not worth paying for a server when nobody is really going to use it.

I would make a PVP server if the activity of the server was ensured and not just some dead ****.
Super Aids is offline  
Old 10/13/2014, 08:56   #5
 
elite*gold: 67
Join Date: Aug 2014
Posts: 1,321
Received Thanks: 927
Funny you bring that up SPO!L,

I've been thinking of using the XioEvo base for a PvP server for quite some time now. I re-created Dota using XioEvo and thought about doing all kinds of game modes like TDM, DM, CTF and Hold the Area types of modes and then release the binary or even the source since you can decompile it anyways to the public so everyone can host servers using a stripped down XioEvo source.

I also made a server list / server browser with quick connect playerlist and ping. I think I'll finish that **** asap and get it out here.
Xio. is offline  
Old 10/13/2014, 09:25   #6
 
turk55's Avatar
 
elite*gold: 130
Join Date: Oct 2007
Posts: 1,652
Received Thanks: 701
Why do I have a feeling that this was Yuki and Crimsonfart's idea for advertising.
turk55 is offline  
Thanks
1 User
Old 10/13/2014, 09:37   #7
 
Super Aids's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 946
Quote:
Originally Posted by turk55 View Post
Why do I have a feeling that this was Yuki and Crimsonfart's idea for advertising.
Probably is, but a dota like server will never work out anyways. If people wants to play dota they'll grab dota, lol or wc3. Definitely not a co pserver that tries to copy the gameplay.

Although if it was just like an event, then meh nothing special either. Not that it's anything difficult at all to make.

Sounds like a common PVP server otherwise, so nothing new really. Probably programmed like a rathole anyways with Yuki as a "main coder"
Super Aids is offline  
Old 10/13/2014, 12:53   #8
 
elite*gold: 0
Join Date: Feb 2006
Posts: 726
Received Thanks: 271
I am planning a really big PvP feature in my server. It won't be ready for a while yet however. It also ties a little bit into the regular server, though it will be its own entity.

But yeah if AcidCO was any indication, there really isn't a playerbase for a pure pvp server.
Aceking is offline  
Old 10/13/2014, 13:36   #9


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 793
Quote:
Originally Posted by Xio. View Post
Funny you bring that up SPO!L,

I've been thinking of using the XioEvo base for a PvP server for quite some time now. I re-created Dota using XioEvo and thought about doing all kinds of game modes like ...
You seriously have too much free time on your hands. Post a video.
KraHen is offline  
Old 10/13/2014, 13:55   #10
 
Yupmoh's Avatar
 
elite*gold: 26
Join Date: Jul 2011
Posts: 522
Received Thanks: 284
Funny... I was just talking to Kalona and Muffin about a PvP server the other day. Most likely when we're done with XioEvo.

Quote:
Originally Posted by Super Aids View Post
Sounds like a common PVP server otherwise, so nothing new really. Probably programmed like a rathole anyways with Yuki as a "main coder"
Considering you've seen no code and nothing of his recent work I don't see how you're judging. Please if you're going to trash talk someone, Take it to Private. This forum isn't the place to do that.
Yupmoh is offline  
Old 10/13/2014, 15:03   #11
 
Super Aids's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 946
Quote:
Originally Posted by Execution! View Post
Funny... I was just talking to Kalona and Muffin about a PvP server the other day. Most likely when we're done with XioEvo.



Considering you've seen no code and nothing of his recent work I don't see how you're judging. Please if you're going to trash talk someone, Take it to Private. This forum isn't the place to do that.
Seen his recent posts though. Also I wasn't trash talking, I was stating an opinion. That you took offense to it, isn't my problem.
Super Aids is offline  
Old 10/13/2014, 16:42   #12
 
Yupmoh's Avatar
 
elite*gold: 26
Join Date: Jul 2011
Posts: 522
Received Thanks: 284
Quote:
Originally Posted by Super Aids View Post
Seen his recent posts though. Also I wasn't trash talking, I was stating an opinion. That you took offense to it, isn't my problem.
Alright, I aint offended, So I can go and talk about how **** your code is and you'd be okay with it yeah? Alright.. We're cool.
Yupmoh is offline  
Old 10/13/2014, 18:35   #13
 
turk55's Avatar
 
elite*gold: 130
Join Date: Oct 2007
Posts: 1,652
Received Thanks: 701
Quote:
Originally Posted by Execution! View Post
Alright, I aint offended, So I can go and talk about how **** your code is and you'd be okay with it yeah? Alright.. We're cool.
As long as you can back up what you are saying.
turk55 is offline  
Old 10/13/2014, 20:52   #14
 
Super Aids's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,761
Received Thanks: 946
Quote:
Originally Posted by Execution! View Post
Alright, I aint offended, So I can go and talk about how shit your code is and you'd be okay with it yeah? Alright.. We're cool.
Okay call my code shit, but I expect you to understand it.
Code:
module parser.parser;

import std.array;
import std.algorithm;
import std.string;
import std.conv;

import parser.tokenizer;
import parser.types;

import core.settings;
import core.utils;
import core.kernel;
import core.execute;

private string[] errorReports;
void reportError(string error, string file, int line, string code) {
	import std.file : exists;
	if (exists(getSetting!(string)("MainFilePath") ~ file))
		errorReports ~= "<std-lib>(" ~ file ~ ")[" ~ to!string(line + 1) ~ "]" ~ error;
	if (exists(getSetting!(string)("CompilerPath") ~ "\\lib\\" ~ file))
		errorReports ~= "<std-lib>(" ~ file ~ ")[" ~ to!string(line + 1) ~ "]" ~ error;
	else
		errorReports ~= "(" ~ file ~ ")[" ~ to!string(line + 1) ~ "]" ~ error;
}

string[] getErrors() {
	return errorReports;
}

class CodeParser {
private:
	string[] lines;
	int currentLine;
	string fileName;
	string[string] aliases;
public:
	this(string fileName) {
		this.fileName = fileName;
		currentLine = 0;
	}
	
	void parse(string parentFile, int parentLine, string parentCode) {	
		import std.file;
		
		if (canFind(fileName, "\\") && !canFind(fileName, "C:\\")) {
			reportError(
			"Invalid module specification.",
			parentFile,
			parentLine,
			parentCode);
			return;
		}
		if (!endsWith(fileName, ".beta")) {
			fileName = replace(fileName, ".", "\\");
			fileName ~= ".beta";
		}
		
		string readFile = fileName;
		
		auto mnFile = getSetting!(string)("MainFilePath") ~ "\\" ~ fileName;
		if (!exists(mnFile)) {
			auto cmpFile = getSetting!(string)("CompilerPath") ~ "\\lib\\" ~ fileName;
			
			if (!exists(cmpFile)) {
				if (!exists(fileName)) {
					reportError(
					"Cannot read module " ~ fileName,
					parentFile,
					parentLine,
					parentCode);
					return;
				}
			}
			else
				readFile = getSetting!(string)("CompilerPath") ~ "\\lib\\" ~ fileName;
		}
		else
			readFile = getSetting!(string)("MainFilePath") ~ "\\" ~ fileName;

		string text = readText(readFile);
		text = makeValidString(text);
		lines = split(text, "\n");
		
		for (int i = 0; i < lines.length; i++)
		{
			string line = lines[i];
			
			if (!line || line == "" || line.length <= 1) {
				currentLine++;
				continue;
			}
			
			line = stripLeft(line, ' ');
			line = stripLeft(line, '\t');
			line = stripRight(line, ' ');
			line = stripRight(line, '\t');
			
			if (!line || line == "" || line.length <= 1) {
				currentLine++;
				continue;
			}
			
			foreach (a; aliases.keys)
				line = replace(line, a, aliases[a]);
			
			auto lineSplit = split(line, " ");
			
			switch (lineSplit[0])
			{
				case "alias": {
					string aliasName = lineSplit[1];
					string aliasValue = line[lineSplit[0].length + lineSplit[1].length + 2 .. $];
					aliases[aliasName] = aliasValue;
					break;
				}
				
				case "import": {
					if (lineSplit.length != 2) {
						reportError(
						"Invalid arguments for module import. Use: import MODULE_PATH",
						fileName,
						currentLine,
						line);
						
						currentLine++;
						continue;
					}
					
					auto nCodeParser = new CodeParser(lineSplit[1]);
					nCodeParser.parse(fileName, currentLine, line);
					break;
				}
				
				case "class": {
					auto tokenizer = new ClassTokenizer;
					string err = tokenizer.tokenize(line);
					if (err) {
						reportError(err, fileName, currentLine, line);
					}
					else {
						auto newClass = new Class;
						newClass.name = tokenizer.name;
						newClass.typeName = tokenizer.name;
						foreach (base; tokenizer.baseNames) {
							if (classExists(base)) {
								auto baseClass = getNewClass(base);
								baseClass.name = base;
								newClass.bases[base] = baseClass;
								newClass.setBaseData(baseClass);
							}
						}
						initClass(newClass);
						
						currentLine++;
						if (parseClass(newClass)) {
							i = currentLine;
							continue;
						}
						else {
						reportError(
							newClass.name ~ " has no ending statement",
							fileName,
							currentLine,
							"");
						}
					}
					break;
				}
				
				// task & variable ...
				default: {
					if (!lineSplit[0] || lineSplit[0] == "") {
						currentLine++;
						continue;
					}
					
					if (startsWith(lineSplit[0], "task")) {
						auto tokenizer = new TaskTokenizer;
						string err = tokenizer.tokenize(line);
						if (err) {
							reportError(err, fileName, currentLine, line);
						}
						else {
							auto task = new Task;
							task.name = tokenizer.name;
							task.returnType = cast(VariableType)tokenizer.returnType;
							foreach (param; tokenizer.parameters) {
								auto var = new Variable(cast(VariableType)param.type);
								var.name = param.name;
								if (param.refOut)
									var.refType = (param.refOut == "ref" ? RefType.Ref : RefType.Out);
								var.mutable = param.mutability != "immutable";
								task.parameters ~= var;
								task.variables[var.name] = var;
							}
							initTask(task);
						}
					}
					else {
						if (validType(lineSplit[0]) ||
							classExists(lineSplit[0])) {
								auto tokenizer = new VariableTokenizer;
								auto err = tokenizer.tokenize(line);
								if (err) {
									reportError(
									err,
									fileName,
									currentLine,
									line);
								}
								else { // check array, class ...
									if (classExists(lineSplit[0])) {
										auto var = getNewClass(lineSplit[0]);
										var.name = tokenizer.name;
										var.mutable = tokenizer.mutability != "immutable";
										initVar(var);
									}
									else if (lineSplit[0] == "array") {
										auto var = new Array(to!int(tokenizer.value));
										var.name = tokenizer.name;
										var.mutable = tokenizer.mutability != "immutable";
										initVar(var);
									}
									else {
										auto var = new Variable(cast(VariableType)tokenizer.type);
										var.name = tokenizer.name;
										if (tokenizer.mutability)
											var.mutable = tokenizer.mutability != "immutable";
										if (tokenizer.value)
											var.fromString(tokenizer.value);
											
										initVar(var);
									}
								}
						}
						else {
							reportError(
							"Invalid parsing argument for global declarations.",
							fileName,
							currentLine,
							line);
						}
					}
					
					break;
				}
			}
			
			currentLine++;
		}
	}
	
private:
	bool parseClass(Class newClass) {
		const string endState = ")";
		for (int i = currentLine; i < lines.length; i++)
		{
			string line = lines[i];
			if (line == endState) {
				currentLine++;
				return true;
			}
			
			if (!line || line == "" || line.length <= 1) {
				currentLine++;
				continue;
			}
			
			line = stripLeft(line, ' ');
			line = stripLeft(line, '\t');
			line = stripRight(line, ' ');
			line = stripRight(line, '\t');
			
			if (line == endState) {
				currentLine++;
				return true;
			}
			
			if (!line || line == "" || line.length <= 1) {
				currentLine++;
				continue;
			}
			
			foreach (a; aliases.keys)
				line = replace(line, a, aliases[a]);
			
			auto lineSplit = split(line, " ");
			
			switch (lineSplit[0])
			{
				// New keywords ...
				
				// task & variable ...
				default: {
					if (!lineSplit[0] || lineSplit[0] == "") {
						currentLine++;
						continue;
					}
					
					if (startsWith(lineSplit[0], "task")) {
						auto tokenizer = new TaskTokenizer;
						string err = tokenizer.tokenize(line);
						if (err) {
							reportError(err, fileName, currentLine, line);
						}
						else {
							auto task = new Task;
							task.name = tokenizer.name;
							if (task.name == "this") {
								task.callable = false;
								newClass.constructor = task;
							}
							else if (task.name == "~this") {
								task.callable = false;
								newClass.destructor = task;
							}
							task.returnType = cast(VariableType)tokenizer.returnType;
							foreach (param; tokenizer.parameters) {
								auto var = new Variable(cast(VariableType)param.type);
								var.name = param.name;
								if (param.refOut)
									var.refType = (param.refOut == "ref" ? RefType.Ref : RefType.Out);
								var.mutable = param.mutability != "immutable";
								task.parameters ~= var;
								task.variables[var.name] = var;
							}
							if (task.callable)
								newClass.tasks[task.name] = task;
						}
					}
					else {
						if (validType(lineSplit[0]) ||
							classExists(lineSplit[0])) {
								auto tokenizer = new VariableTokenizer;
								auto err = tokenizer.tokenize(line);
								if (err) {
									reportError(
									err,
									fileName,
									currentLine,
									line);
								}
								else { // check array, class ...
									if (classExists(lineSplit[0])) {
										auto var = getNewClass(lineSplit[0]);
										var.name = tokenizer.name;
										var.mutable = tokenizer.mutability != "immutable";
										newClass.variables[var.name] = var;
									}
									else if (lineSplit[0] == "array") {
										auto var = new Array(to!int(tokenizer.value));
										var.name = tokenizer.name;
										var.mutable = tokenizer.mutability != "immutable";
										newClass.variables[var.name] = var;
									}
									else {
										auto var = new Variable(cast(VariableType)tokenizer.type);
										var.name = tokenizer.name;
										if (tokenizer.mutability)
											var.mutable = tokenizer.mutability != "immutable";
										if (tokenizer.value)
											var.fromString(tokenizer.value);
											
										newClass.variables[var.name] = var;
									}
								}
						}
						else {
							reportError(
							"Invalid parsing argument for class declarations.",
							fileName,
							currentLine,
							line);
						}
					}
					
					break;
				}
			}
			
			currentLine++;
		}
		return false;
	}
	
	void parseTask() {
	}
}
Super Aids is offline  
Old 10/14/2014, 00:10   #15


 
KraHen's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 2,216
Received Thanks: 793
I don`t want to get into this, but maaaan, functions, please, the long indents are murdering me. Although function wise the code is clean and nice, and seems to do its job (at least after a 2 sec. look)
KraHen is offline  
Reply


Similar Threads Similar Threads
[Help] Chi: how to get more chance
01/30/2014 - CO2 Private Server - 10 Replies
Hi guys, ( I fixed scatter ) I would like to get some tip's or how Could I make the new system CHI as this : more easy to get stat level 100 ( cost too many cp's to get Fixed chi/ time at moment) Thanks alot !
Chance
08/21/2012 - Rappelz Private Server - 4 Replies
Nobody tells a request to reduce the chance of sharpening skill cards and things? Please
Chance
04/25/2010 - Metin2 - 9 Replies
Hi ich hab mal ne frage... Weiß jemand vielleicht wie hoch die chance ist das ein Stein in ein Gegenstand hineinklappt?? Ich habe irgendwie das Gefühl das vor 1-2 jahren die chance wesentlich höher war^.
morgen letzte chance?/tomorrow last chance?
04/15/2009 - Aion - 34 Replies
english: would you people come tomorrow in the evening in the game to take a big screenshot with a lot of the players form epvp as an souvenir from the beta? german: wie sieht es eigentlich aus? ist morgen der letzte tag, oder kann man übermorgen auch noch frei spielen? bin mir da nicht sicher, aber wie es auch sei möchte ich einen vorschlag machen. wie wäre es wenn morgen abend alle aus der epvpers legion sich für einen kleinen netten gruppenscreenshot treffen würden? abends hat jeder...



All times are GMT +2. The time now is 16:21.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.