Page 1 of 1

Creating World of Warcraft!

Posted: Fri Dec 16, 2005 11:27 pm
by Meta
Yes Yes Yes, the time has come! Hello, im Meta.

I am currently creating WoW for cs1.6!

Here is a little peak of the features I will add:

Bags(up to 4 bags!)
looting(loot the corpse for money and items!!!)
inventory(Helmet, chest armor, weapon, all that stuff!
quests(ex.: kill 3 undead (undead will be players of course)

over 50 differant weapon will be created
at least 100 armor parts (leather, mail, plate, etc..)

a complete stamina, intellect, spirit, strengh system!

And a complete map Just for the mod!
Ashenvale!

I am unfortunatly alone on this project. if anyone has any coding experience and would like to join me, just add me to your msn: [email protected] or on aim : venomservers


-meta

Posted: Sat Dec 17, 2005 2:16 am
by GUNN3R17
sounds cool but i think you should set goals alittle lower and expand on a first release that just has the key features.

Posted: Sat Dec 17, 2005 5:25 am
by Meta
of course, but that means: quests, and looting

Posted: Sat Dec 17, 2005 11:50 am
by Geesu
sounds like a great idea... have you done much work on this yet? If you plan on seeing this project ENTIRELY through I can set up a section on here for you to communicate with people...

BUT you have to be willing to state that you will see this project through, I'm sick of projects starting then failing :/

PMing u...

Posted: Sat Dec 17, 2005 5:14 pm
by Meta
I've already got some script written. Very basic for the moment.

as i said in my first post, this plugin might be a little out of my league. anyway, here is some of my script uptodate:

wow_main.sma:
[small]
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "World of Warcraft"
#define AUTHOR "Meta"
new bool:enabled

public plugin_init()
{
register_plugin(PLUGIN, "0.1", AUTHOR)
register_event("ResetHUD","LoadInterface","b")
register_clcmd("wow_quests","quests",ADMIN_KICK,"Enable or Disable the quests")
register_clcmd("wow_items","items",ADMIN_KICK,"Enable or Disable the items")
register_clcmd("wow_bags","bags",ADMIN_KICK,"Enable or Disable the bags")
register_clcmd("wow_inventory","inventory",ADMIN_KICK,"Enable or Disable the inventory")
register_clcmd("wow_enable","enable",ADMIN_ALL,"Disable or Enable WoW");
}
public plugin_precache()
{
// gona add the images for the new interface and all the models here...
}
//////////////////////////////////////////
// here we have our Enable Disable code //
//////////////////////////////////////////
public enable(id,level,cid)
{
if (!cmd_access(id,level,cid,1))
{
client_print(id,print_console,"[World Of Warcraft]: You have no access to this command")
return PLUGIN_HANDLED
}
new arg[11]
read_argv(1,arg,10)

if ( (equali(arg, "on", 2)) || (equal(arg, "1", 1)) )
{
enabled = true
client_print(0,print_chat,"[World Of Warcraft] is now Enabled")
client_print(0,print_console,"[World Of Warcraft] is now Enabled")
}
else
if ( (equali(arg, "off", 3)) || (equal(arg, "0", 4)) )
{
enabled = false
client_print(0,print_chat,"[World Of Warcraft] is now Disabled")
client_print(0,print_console,"[World Of Warcraft] is now Disabled")
}
return PLUGIN_HANDLED
}
public quests(id,level,cid)
{
if (!cmd_access(id,level,cid,1))
{
client_print(id,print_console,"[World Of Warcraft]: You have no access to this command")
return PLUGIN_HANDLED
}
if ( enabled == true )
{
new arg[11]
read_argv(1,arg,10)

if ( (equali(arg, "on", 2)) || (equal(arg,"1",1)) )
{
client_print(id,print_console,"[WoW Quests] are now enabled")
server_cmd("amx_on wow_quests.amxx")
}
else
if ( (equali(arg, "off", 3)) || (equal(arg,"0",4)) )
{
client_print(id,print_console,"[WoW Quests] are now disabled")
server_cmd("amx_off wow_quests.amxx")
}
}
return PLUGIN_HANDLED
}
public items(id,level,cid)
{
if (!cmd_access(id,level,cid,1))
{
client_print(id,print_console,"[World Of Warcraft]: You have no access to this command")
return PLUGIN_HANDLED
}
if ( enabled == true )
{
new arg[11]
read_argv(1,arg,10)

if ( (equali(arg, "on", 2)) || (equal(arg,"1",1)) )
{
client_print(id,print_console,"[WoW Items] are now enabled")
server_cmd("amx_on wow_items.amxx")
}
else
if ( (equali(arg, "off", 3)) || (equal(arg,"0",4)) )
{
client_print(id,print_console,"[WoW Items] are now disabled")
server_cmd("amx_off wow_items.amxx")
}
}
return PLUGIN_HANDLED
}
public bags(id,level,cid)
{
if (!cmd_access(id,level,cid,1))
{
client_print(id,print_console,"[World Of Warcraft]: You have no access to this command")
return PLUGIN_HANDLED
}
if ( enabled == true )
{
new arg[11]
read_argv(1,arg,10)

if ( (equali(arg, "on", 2)) || (equal(arg,"1",1)) )
{
client_print(id,print_console,"[WoW Bags] are now enabled")
server_cmd("amx_on wow_bags.amxx")
}
else
if ( (equali(arg, "off", 3)) || (equal(arg,"0",4)) )
{
client_print(id,print_console,"[WoW Bags] are now disabled")
server_cmd("amx_off wow_bags.amxx")
}
}
return PLUGIN_HANDLED
}
public inventory(id,level,cid)
{
if (!cmd_access(id,level,cid,1))
{
client_print(id,print_console,"[World Of Warcraft]: You have no access to this command")
return PLUGIN_HANDLED
}
if ( enabled == true )
{
new arg[11]
read_argv(1,arg,10)

if ( (equali(arg, "on", 2)) || (equal(arg,"1",1)) )
{
client_print(id,print_console,"[WoW Inventory] are now enabled")
server_cmd("amx_on wow_inventory.amxx")
}
else
if ( (equali(arg, "off", 3)) || (equal(arg,"0",4)) )
{
client_print(id,print_console,"[WoW Inventory] are now disabled")
server_cmd("amx_off wow_inventory.amxx")
}
}
return PLUGIN_HANDLED
}
///////////////////////////////////////
// Here we have our interface script //
///////////////////////////////////////
public LoadInterface(id)
{
// i have to work out the coding a little more before i can put it here...
}
[/small]

Posted: Sat Dec 17, 2005 6:22 pm
by Freecode
wow thats some horrible syntax.

Posted: Sat Dec 17, 2005 11:16 pm
by Geesu
Freecode wrote:wow thats some horrible syntax.
You are the most positive person I know

Posted: Sat Dec 17, 2005 11:23 pm
by Meta
I dont understand why this is horrible syntax, i find that its much easier to read than most of the code i see here. i can work my way around much easly... ow well guess i'll have to change...

Posted: Sun Dec 18, 2005 1:12 pm
by ferret
I smell OLO-tax.

Code: Select all

public plugin_precache() 
    { 
    // gona add the images for the new interface and all the models here... 
}
NO!!! :(

Code: Select all

public plugin_precache() 
{ 
    // gona add the images for the new interface and all the models here... 
}
Yay. Bring those squigglies down!

Posted: Sun Dec 18, 2005 1:20 pm
by Meta
rofl, my plugin work and they show to errors, if you guyz cant read my code, well suck 4 you. i think its easier to go around a code like the one i made (or like olo)

Posted: Sun Dec 18, 2005 3:34 pm
by Freecode
OLO code is the most terrible thing in the world. If you are deciding to write it then you should move in with OLO. he can be a great tutor

Posted: Sun Dec 18, 2005 9:40 pm
by ferret
If you train yourself to code like that, you'll have trouble down the line if you ever do anything professional. Use standard syntax, it'll help you in the long run.

I motion that Geesu give no forum space or hosting unless syntax is corrected.

Posted: Mon Dec 19, 2005 12:02 am
by Freecode
ferret wrote:If you train yourself to code like that, you'll have trouble down the line if you ever do anything professional. Use standard syntax, it'll help you in the long run.

I motion that Geesu give no forum space or hosting unless syntax is corrected.
exactly

Posted: Mon Dec 19, 2005 7:44 am
by nightscream
if you need help with armor and weapon names ask me
i play wow and i know many weapons and such

Posted: Mon Dec 19, 2005 8:28 am
by ferret
Example. I used to code like this:

Code: Select all

type functionname(var varname = 0;) {
     // some stuff;
}
It looked fine and made sense to me and I could read it. Everyone else hated it. Then I actually took at class, and wtf, they're putting my squigglies on the line below! i hate this shit!

then I started doing it so I wouldn't get bad grades. and then I get used to it. And now its even easier to read then my own "preferred" way.

Connecting the squigglies is much easier when they're at the same tab level, much easier to find one that's hanging out by itself with no pair.

Posted: Fri Dec 30, 2005 12:38 am
by cjohn89
uhh huh... well i just wish i knew how to do anything lol...

well i was wondering how many lvls is it going to have? going to have races?? or raceless??? sounds like it will be cool when its completed

Posted: Sat Dec 31, 2005 10:54 am
by Marticus
I agree with the sentiments mentioned here. I have not been coding long, but I have taken classes and read many books. It's good that you have at least this much done. I don't have a darn thing for uwc3ng and I believe geesu was thinking about our project when he said that about things failing *grin* (hey we are still in planning phase, and, and, and...)

Before I get started, I want you to know that I am not assuming you haven't taken classes, read books, or done any other research on coding. I am not assuming that you never coded before. I am just providing helpful information.

Anyway, I recommend a few items to polish up your coding style.

1) It's good that you have the curly brace on the next line after the functions, but they should be lined up with the closing brace.

Code: Select all

plugin_init()
{
    do stuff
}
2) Do something else with your nested if/else blocks. They are confusing as hell. I think the curly braces previously mentioned will make it prettier.
3) Instead of using // (c++ style) commenting, use /* comment */ c style commenting. If you need to disable a block of code, use if define instead (in case you were using /**/ for that). Trust me, it is much better to use /**/ for comments.
4) In case those aren't tabs in your code, but free spaces instead, I recommend converting to tabs. People have different tab settings and if you prefer seeing 4 space tabs, change your editor's tab spacing, but leave them as tabs so other people's tab settings are unaffected by your preferences. If that makes sense...
5) Comment, always comment, no matter how insignificant. Each function should have comments, each block of confusing code should have something to let people know what you were thinking. Comments don't make the compiled plugin any bigger, they don't take up that much extra time to write, and they help you out in the future when you take breaks from coding.

I once coded as you, but after I learned the standards and accepted them, much to my chagrin, I learned to appreciate them and realise that standards exist for a reason. I have different styles that I use for different projects/communities because it is the style expected for that community.

Regarding your plugin. I'm sure you know this, but just in case you don't, each function calls the same server_cmd("amx_on instead of the intended commands. Anyway. I hope this information is helpful.

Lastly, and more importantly. If you plan to write code that will be available for the public, and it is based off of or using an existing api, it is usually a good idea to follow the coding standards set forth by that api or by the community for which you are coding. I highly recommend against using anything OLO code related. I ask this, why would you want to put yourself in the same boat with OLO if his code is rejected by that same community? Your code will be rejected as well and although the plugin might be successful, no one would be willing to help you write it if the code looks like it does now. Go look at some of the code written by geesu for example. Although there are some slight style differences between our code, his at least adheres to common coding standards. No one is arguing that these people didn't help out the community or do some amazing task for the community. Anyway, enjoy.

best,
-marticus

Posted: Sat Dec 31, 2005 11:11 am
by Marticus
Note: To reiterate the comment thing. /* */ is for C comments, amxmodx plugins use this syntax as well. Yes, geesu uses // (he also doesn't comment that much :P ) and so do some others. I suppose it really doesn't matter, but I recommend using the C standard because small/pawn is more like C than C++.

Posted: Sat Dec 31, 2005 2:40 pm
by Geesu
// is also for c comments is it not ????

Also, I use // b/c if u want to comment out a segment of code /* */ doesn't work... b/c its everywhere if thats what you use

Posted: Thu Jan 05, 2006 9:50 am
by nightscream
Meta if this project is not dead
pls keep updating this :D

Posted: Sat Feb 04, 2006 4:29 am
by NeX
WoW CS is a great concept in my opinion. I'd love to see a version of this with new features like armor items and quests. If this person doesnt follow through with this I think someone else with more motivation and skill should. This thing would be a hit with the community I think. I have a lot of friends who play WoW and CS. It'd really bring together 2 great things :).

Posted: Mon Feb 20, 2006 1:19 am
by Marz3
Great Idea, don't forget both races and classes.

Posted: Sun Jul 16, 2006 11:36 am
by Meta
I would've kept going. But what I wanted was impossible or too complicated for me. If anyone else wants to keep going. Go right ahead.

Posted: Wed Aug 23, 2006 12:38 pm
by andre
hou you are making it? I whana make my own :D!!