Register for your free account! | Forgot your password?

You last visited: Today at 05:44

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

Advertisement



cq_action (in c#)

Discussion on cq_action (in c#) within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
LordGragen.'s Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 606
Received Thanks: 67
cq_action (in c#)

i have 1 question i would like to get answer for it and that's using cq_action is c# source, now

my question is, is it better using this
that controls the drops and npcs also or use simple table, i never used cq_action but today when i come back from work i am going to explore it, but is it okay 2 let 1 table control all drops and npc?

i know binary use it but idk if its still iligal to use this kind of database in c# sources
LordGragen. is offline  
Old 07/19/2013, 04:45   #2
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
There's nothing wrong with using tq's action system or something similar. It's actually quite powerful (as proven by some binary servers such as love 2 hate) but it all boils down to how accurately you re-create the system and how you want it to function.

As much as I'm not a fan of a lot of tq's coding practices and work, they definitely have some very good database interaction as far as customization is concerned.


There's a few sources out there publicly that use tq's action system (or a partial implementation of it) and that would be a good place for you to start if you want to take that route.
pro4never is offline  
Thanks
1 User
Old 07/19/2013, 05:19   #3
 
LordGragen.'s Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 606
Received Thanks: 67
okay thank you.
LordGragen. is offline  
Old 07/19/2013, 05:56   #4
 
elite*gold: 0
Join Date: Sep 2012
Posts: 775
Received Thanks: 327
well away from efficiency i think it's pretty cool to have everything handled at the database (item usage, npc dialog, drops and others), you will end up with a clean code and easier way to implement/update anything
and it should be fine as you are not using tq binaries, nothing illegal so far
but yeah i would like also to ask how would that affect the efficiency
go for it is offline  
Old 07/19/2013, 06:18   #5
 
elite*gold: 0
Join Date: Nov 2012
Posts: 19
Received Thanks: 0
Quote:
Originally Posted by pro4never View Post
There's nothing wrong with using tq's action system or something similar. It's actually quite powerful (as proven by some binary servers such as love 2 hate) but it all boils down to how accurately you re-create the system and how you want it to function.

As much as I'm not a fan of a lot of tq's coding practices and work, they definitely have some very good database interaction as far as customization is concerned.


There's a few sources out there publicly that use tq's action system (or a partial implementation of it) and that would be a good place for you to start if you want to take that route.
can u name a source that use this tq's action system ?! or the link will be much better
iPwnYa" is offline  
Old 07/19/2013, 06:22   #6
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
Quote:
Originally Posted by iPwnYa" View Post
can u name a source that use this tq's action system ?! or the link will be much better
All the references I have are not public.

I know elite coemu at one point implemented tq npcs as well as a few others that had partial implementations. Never dug into them very deep though.
pro4never is offline  
Old 07/19/2013, 08:37   #7


 
Korvacs's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 6,125
Received Thanks: 2,518
Quote:
Originally Posted by go for it View Post
how have you managed to post 245 times same rate without getting banned ?
How were you stupid enough to quote it?

Quote:
Originally Posted by go for it View Post
well away from efficiency i think it's pretty cool to have everything handled at the database (item usage, npc dialog, drops and others), you will end up with a clean code and easier way to implement/update anything
and it should be fine as you are not using tq binaries, nothing illegal so far
but yeah i would like also to ask how would that affect the efficiency
Also, having a fairly complete implementation for the actions and tasks system I can assure you, you don't always end up with clean code. Its currently over 4300 lines of code and rising, there are 199 action types that I am aware of and for the npc dialog system to work as intended you need the vast majority of them working otherwise you might as well not bother at all.

Oh and @OP heres two videos that show you how I got started with the action and task systems:

Korvacs is offline  
Thanks
1 User
Old 07/19/2013, 08:59   #8
 
elite*gold: 0
Join Date: Sep 2012
Posts: 775
Received Thanks: 327
@Korvacs i think it won't really make difference quote it or not as he had been spamming it since 2011 with +300 posts
and still that didn't answer my question about efficiency but i got your point about handling all the action types but i rather have that than having maybe 15k line of codes of npc dialogs where i've to get through while implementing a new npc
while yes it may not be as clean as i think it should be (i would go with this as i did not even give it a try yet) but it will always be far more organized and more reliable and easier to use on the long term
anyway thanks for the videos
go for it is offline  
Old 07/19/2013, 15:44   #9


 
CptSky's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 1,434
Received Thanks: 1,147
Quote:
Originally Posted by pro4never View Post
There's nothing wrong with using tq's action system or something similar. It's actually quite powerful (as proven by some binary servers such as love 2 hate) but it all boils down to how accurately you re-create the system and how you want it to function. [...]
I'm not convinced by the TQ's way... Yes, it's powerful. But it's barely "exposing" methods and fields to the database. You can do the same for a scripting language, and you'll have more control on things. I'm using Lua in my C++ source and I'm just exposing almost every variable of the player in Lua, so I can do whatever I want with them.

It's powerful, but I think it's a bit messy to have 10k of rows with fallback to other rows and have an handler with 10k lines to handle all the conditions/variables/methods/etc.

My opinion
CptSky is offline  
Thanks
2 Users
Old 07/19/2013, 17:20   #10
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
Quote:
Originally Posted by CptSky View Post
I'm not convinced by the TQ's way... Yes, it's powerful. But it's barely "exposing" methods and fields to the database. You can do the same for a scripting language, and you'll have more control on things. I'm using Lua in my C++ source and I'm just exposing almost every variable of the player in Lua, so I can do whatever I want with them.

It's powerful, but I think it's a bit messy to have 10k of rows with fallback to other rows and have an handler with 10k lines to handle all the conditions/variables/methods/etc.

My opinion
I agree. I have no intentions of using their action system for similar reasons (scripting systems look cleaner, just as powerful and are easier to write and test in my opinion) but it's hard to argue all that hard against tq binaries implementation when they obviously do quite a good job of letting the end user configure quite literally anything they want both in skills and actions.

Not a fan but I can give them at least some credit
pro4never is offline  
Thanks
1 User
Old 07/19/2013, 18:42   #11
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,211
Received Thanks: 4,114
I will also have to agree that although the methods used by TQ Digital Entertainment to increase the modularity of the server has been confirmed as powerful, I am not convinced that it's the best way to expand the server. I also have faith in scripting systems. On my blog, you'll notice that I've added a tutorial on setting up Lua in Eclipse for C++. I currently use Python for my server project, and there are many other options out there. Looking at their database, can you understand what one action does? Now take a look at one of my npc actions (a python script).
Code:
# Declare Variables:
avatar = 1;

# Dialog Script:
def npc(client, option):
	if (option == 0):
		Text("Welcome to Twin City's furniture store! I sell a wide variety of affordable, "
		+ "handcrafted interior goods. Would you like to browse my "
		+ "current collection? (This dialog has been edited for this example)");
		Option("Sure!", 1);
		Option("No, thank you.", 255);
		Finish(avatar);
	elif(option == 1):
		Teleport(1511, 51, 68)
	return 0;
I suppose it's only my opinion, but I feel that scripting is a much more organized approach to expanding a server, while preserving readability. I also have no intentions on using their system, but it is a unique approach that I can respect as a developer.
Spirited is offline  
Old 07/19/2013, 18:54   #12


 
Korvacs's Avatar
 
elite*gold: 20
Join Date: Mar 2006
Posts: 6,125
Received Thanks: 2,518
The problem with scripting it yourself is that you have to basically rewrite thousands of npc dialogs and, if you go all the way with actions all item drops, guild handling, item handling, mob handling etc.

When you could write an action type handler and use the existing database of actions.
Korvacs is offline  
Old 07/19/2013, 22:37   #13
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,193
Received Thanks: 5,376
Quote:
Originally Posted by Korvacs View Post
The problem with scripting it yourself is that you have to basically rewrite thousands of npc dialogs and, if you go all the way with actions all item drops, guild handling, item handling, mob handling etc.

When you could write an action type handler and use the existing database of actions.
Most dialogues and actions are something you can outsource to testers on the server and I've yet to see a database worth using that's public. They are all horrendously translated or barely functional.

I'd rather have a few of my testers spend a few weeks writing npcs properly and have things working properly and in legible english.
pro4never is offline  
Old 07/20/2013, 02:24   #14
 
elite*gold: 0
Join Date: Jun 2007
Posts: 659
Received Thanks: 31
Smile

Quote:
Originally Posted by pro4never View Post
Most dialogues and actions are something you can outsource to testers on the server and I've yet to see a database worth using that's public. They are all horrendously translated or barely functional.

I'd rather have a few of my testers spend a few weeks writing npcs properly and have things working properly and in legible english.
Well that a reason I do my server's from 0 action's (binary) since I hate how tq did most of there npc's translations, aswell as useless action's being run when you can make the whole script smaller. If anyone is needing a clean cq_action with the basic npc's PM me.
angel12345 is offline  
Old 07/20/2013, 05:02   #15
 
Spirited's Avatar
 
elite*gold: 12
Join Date: Jul 2011
Posts: 8,211
Received Thanks: 4,114
Quote:
Originally Posted by angel12345 View Post
Well that a reason I do my server's from 0 action's (binary) since I hate how tq did most of there npc's translations, aswell as useless action's being run when you can make the whole script smaller. If anyone is needing a clean cq_action with the basic npc's PM me.
You can post it here or attach it to your post. Based on prior decisions made by the moderators in ImmuneOne's release (Exodus Binaries), the database files for the TQ Binaries are actually allowed here. What's not allowed are the actual executables (the binaries).

Boris (I hope I remembered your name LordGragen), you might want to check out his source for a small example on using the database. I'm not sure how far he got though. The source is available in the releases section in my popular sources thread. I still think scripting is the better route, though.
Spirited is offline  
Reply


Similar Threads Similar Threads
Please help me i need file cq_action eng!!
06/04/2017 - Zero - 7 Replies
I need file cq_action eng please somepeople help :rtfm::rtfm: tag:ai co file tieng viet share cho minh lun nha!
Help cq_action
06/05/2012 - EO PServer Hosting - 5 Replies
iv been trying to do some editing in a database, iv managed to understand nearly all of it except the cq_action, for some reason i cannot find anything i want in there if im not wrong things like quest rewards, eps drops all go into there right? but when i enter ids i find nothing. so i was wondering if anyone could explain how i can changed eps drops manualy without a script since this mighthelp me understand the cq_action better or change the event rewards manually so if anyone can help...
[Help] cq_action
05/15/2011 - EO PServer Hosting - 3 Replies
Hey i was wondering how to make Cq_action read a players BP?? i dont know where it saves there max bp
[Help] cq_action
05/08/2011 - EO PServer Hosting - 2 Replies
how do i change the cq_eudemon "dammage type" threw the Action this is what i put in but it dosent work haha id, id_next, id_nextfail, type, data, param 9000000 9000001 0 523 0 ismyselfeudemon == 1 iscallout == 1 isalive == 1 level == 1 damage != 5 9000001 0 0 524 0 dammage 5 I put this under warrior attack deffence after he is hatched but it dosent load it into database lol
[HELP] cq_action
07/24/2010 - EO PServer Hosting - 1 Replies
I am having some troubles with the daily events I am trying to run. Basically I am not sure how to reset a task at a specific time. For instance I have a quest that create a task when the user teleports to the map. I am not sure how to set it so that every midnight all the tasks for that number are deleted. Example: Teleporting runs this: 301 302 0 1080 9005 new I want this to run every midnight: 310 0 0 1080 9005 delete



All times are GMT +2. The time now is 05:44.


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.