Author Topic: The beautiful guide on making a QVM on Windows!  (Read 32836 times)

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
The beautiful guide on making a QVM on Windows!
« on: October 17, 2008, 09:08:38 pm »
    Follow these steps on coding a QVM on Microsoft Windows XP.

RECENTLY UPDATED ON DECEMBER 24, 2009

Before anything, read and follow "The short and sweet guide to compiling SVN 895 on Windows", by Risujin (NOTE: DO NOT DO A SVN CHECKOUT USING MSYS)

For some people MSYS has a bug where is opens, then closes, it means your msys-1.0.dll is out dated, your computer's RAM is out of space, or you have a(n) old Operating System. Google a(n) updated msys-1.0.dll, buy a larger RAM, or buy Windows 7. Delete your current msys-1.0.dll from C:\msys\bin and then replace it with the one you download from source files. This recently usually occurs on Windows XP.

Make sure you installed:



MinGW
Msys


Now lets get started...

TortoiseSVN
  • Restart your PC
  • Right click your desktop and click SVN Checkout
  • A screen will pop up, fill in the information with the following:
  • Press Ok and wait until the checkout is finished (Completed     At revision: ####)
  • Click Ok
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Opening Files
  • Open My Computer then click (DRIVE NAME)(C:) [EXAMPLE]
  • Click , then , then , then open with Notepad++ [EXAMPLE] if Notepad++ is not in recommended programs to open it with, browse it:
[/list]
Code: [Select]
C:\Program Files\Notepad++\notepad++.exe
        [/li]
      To jump to a line in Notepad++ go to the Search tab on the top, then click Go To...
    (NOTE: IF YOU CHANGE ANYTHING REMEMBER TO COPY THE FILE AND PASTE IT IN A BACKUP FOLDER JUST IN CASE OF A(N) ERROR)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
Layout of a CMD
When g_admin.c is open the first command should be
[/list]
Code: [Select]
   {"adjustban", G_admin_adjustban, "ban",
      "change the duration or reason of a ban.  duration is specified as "
      "numbers followed by units 'w' (weeks), 'd' (days), 'h' (hours) or "
      "'m' (minutes), or seconds if no units are specified.  if the duration is"
      " preceded by a + or -, the ban duration will be extended or shortened by"
      " the specified amount",
      "[^3ban#^7] (^5/mask^7) (^5duration^7) (^5reason^7)"
    },
Scroll down until you reach
Code: [Select]
   {"unmute", G_admin_mute, "mute",
      "unmute a muted player",
      "[^3name|slot#^7]"
    }
Below this type //begging of (YOUR NAME)'s commands
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
The layout of a CMD
The way a CMD is typed is
Code: [Select]
   {"(COMMAND)", G_admin_(COMMAND), "(COMMAND'S GENRE)",
      "(DESCRIPTION)",
      "(USAGE)"
    },
So if you want to make a CMD you would do
Code: [Select]
   {"slap", G_admin_slap, "funny",
      "slap the s#$% out of a player",
      "[name|slot#]"
    },
(EXAMPLE)
Your last command, at the bottom of it make sure that }, is only } all the other commands must have }, with the exception of the last one.
Once you've typed all of your commands below that type //end of (YOUR NAME)'s commands
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
The bottom of g_admin.c
Now, jump to line 2890 in g_admin.c
Here is the bottom of the page, below this is something else we won't be going over.
At the bottom of the page is the "function" of the command. Basically it tells what the command should do and alternate errors and warnings.
Below
Code: [Select]
 AP( va( "print \"^3%s: ^7the %s team has been %slocked by %s\n\"",
    command, BG_TeamName( team ), lock ? "" : "un",
    ent ? ent->client->pers.netname : "console" ) );

  return qtrue;
}
Type /begging of (YOUR NAME)'s commands
Now type
Code: [Select]
qboolean G_admin_(YOUR COMMAND)( gentity_t *ent ) <- (YOUR COMMAND =  the one from g_admin.h)Were going to follow our example (!slap) so it would be
Code: [Select]
qboolean G_admin_slap( gentity_t *ent )then below this we would add the function. This requires learning how to code. So once you learn how to code you code out the function, which in this case would be
Code: [Select]
qboolean G_admin_slap( gentity_t *ent, int skiparg )
{
  int pids[ MAX_CLIENTS ], found, damage = 0;
  char name[ MAX_NAME_LENGTH ], err[ MAX_STRING_CHARS ],
    command[ MAX_ADMIN_CMD_LEN ], *cmd;
  gentity_t *vic;
  vec3_t dir;

  if( level.intermissiontime ) return qfalse;

  if( G_SayArgc() < 2 + skiparg )
  {
    ADMP( "^3!slap: ^7usage: slap [name|slot#]\n" );
    return qfalse;
  }
  G_SayArgv( skiparg, command, sizeof( command ) );
  cmd = command;
  if( cmd && *cmd == '!' )
    cmd++;
  G_SayArgv( 1 + skiparg, name, sizeof( name ) );
  if( ( found = G_ClientNumbersFromString( name, pids, MAX_CLIENTS ) ) != 1 )
  {
    G_MatchOnePlayer( pids, found, err, sizeof( err ) );
    ADMP( va( "^3!slap: ^7%s\n", err ) );
    return qfalse;
  }
  if( !admin_immune_check( ent, &g_entities[ pids[ 0 ] ] ) )
  {
    ADMP( "^3!slap: ^7sorry, but your intended victim has immunity to"
        " commands issued by your admin type\n" );
    return qfalse;
  }
  vic = &g_entities[ pids[ 0 ] ];

  // cant slap spectators
  if( vic->client->pers.teamSelection == TEAM_NONE ||
      vic->client->pers.classSelection == PCL_NONE ) {
    ADMP( "^3!slap: ^7can't slap thin air\n" );
    return qfalse;
  }

  // knockback in a random direction
  dir[0] = crandom();
  dir[1] = crandom();
  dir[2] = random();
  G_Knockback( vic, dir, g_slapKnockback.integer );

  // play a sound
  //G_AddEvent( vic, EV_SLAP, 0 );

  if( vic != ent )
    trap_SendServerCommand( vic-g_entities,
      va( "cp \"%s^7 is not amused\n\"",
      ent ? ent->client->pers.netname : "console" ) );

  if( g_slapDamage.integer > 0 ) {

    // !slap (name) [damage] syntax
    if( G_SayArgc() > 2 + skiparg ) {
      char dmg_str[ MAX_STRING_CHARS ];
      G_SayArgv( 2 + skiparg, dmg_str, sizeof( dmg_str ) );
      damage = atoi(dmg_str);
      if( damage < 0 ) damage = 0;
    } else {
      if( g_slapDamage.integer > 100 ) g_slapDamage.integer = 100;
      damage = BG_FindHealthForClass( vic->client->ps.stats[ STAT_CLASS ] ) *
        g_slapDamage.integer / 100;
      if( damage < 1 ) damage = 1;
    }

    vic->health -= damage;
    vic->client->ps.stats[ STAT_HEALTH ] = vic->health;
    vic->lastDamageTime = level.time;
    if( vic->health <= 0 )
    {
      vic->flags |= FL_NO_KNOCKBACK;
      vic->enemy = &g_entities[ pids[ 0 ] ];
      vic->die( vic, ent, ent, damage, MOD_SLAP );
    } else if( vic->pain ) vic->pain( vic, &g_entities[ pids[ 0 ] ], damage );
  }

  return qtrue;
}
Once we compile this and go into Tremulous and start a LAN server with the QVM we compiled and used !slap it would damage the player and push it slightly. In other cases if you just want to make the command send a text to someone just use
Code: [Select]
qboolean G_admin_(COMMAND)( gentity_t *ent, int skiparg )
{
    ADMP("(YOUR TEXT)\n" );
  }
  return qtrue;
}
That will show up in the console, currently I do not know how to make it show up on the screen.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
G_admin.h
The G_admin_(COMMAND) would go in the g_admin.c and it sorta connects to the g_admin.h
If you open the g_admin.c, which is right next to the g_admin.h if it is sorted by name you would find at line 151
Code: [Select]
// ! command functionsBelow this is a list of the G_admin_(COMMANDS)
Code: [Select]
qboolean G_admin_time( gentity_t *ent );
qboolean G_admin_setlevel( gentity_t *ent );
qboolean G_admin_kick( gentity_t *ent );
etc.
Below
Code: [Select]
qboolean G_admin_nextmap( gentity_t *ent );
qboolean G_admin_namelog( gentity_t *ent );
qboolean G_admin_lock( gentity_t *ent );
Type //begging of (YOUR NAME)'s commands
then once you typed the begging of a command in g_admin.c you would copy the G_admin_(COMMAND) and paste it below //begging of (YOUR NAME)'s commands. After you typed all of your G_admin_(COMMAND)s type below that //end of (YOUR NAME)'s commands.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
The tremulous.h
Now open the tremulous.h (the last file if sorted by name)
In the tremulous.h you will find:
1. Classes/Levels and their abilities (speed, value, regen, and cost)
2. Weapons and their abilities
3. Upgrades and their abilities
4. Buildables and their abilities
5. Other
If you change anything remember  to write after your change //(default)
Also if you edit the tremulous.h remember to try your best to make the teams even to win
Some places you would find a time number, most of the time it goes by Milliseconds
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX
The bg_misc.c
In the bg_misc.c you would find
1. Buildable names and their description
2. Classes/Levels names and their description
3. Error and warning text
3. *.PK3 directories
4. Weapon names and their description
5. Upgrade names and their description
6. Event names
7. Team names

Buildable names
The buildable names start at line 38
Code: [Select]
   "eggpod",              //char      *buildName; is the console CMD name to build the buildable. If you joined a server and (as a granger) typed /build eggpod you would build the buildable [EXAMPLE(1.1)] [AFTER ENTERED(1.1)].
Code: [Select]
   "Egg",                 //char      *humanName; is the buildable name in the list of buildables. [EXAMPLE(1.1)]
This goes for every other buildable. Buildable names end at line 599.

Class/Level names
Class/Level names starts at line 888.
Code: [Select]
   "builder",                                      //char    *className; is the name of the class that if you type in the console you spawn as it.
Code: [Select]
   "Responsible for building and maintaining all the alien structures. "
      "Has a weak melee slash attack.",
is the description of the class. [EXAMPLE(1.1)]
Class/level names end at line 1245.

Error and warning text
Error and warning text are scattered everywhere and they look like:
Code: [Select]
 {
    Com_Printf( S_COLOR_RED "ERROR: Buildable file %s doesn't exist\n", filename );
    return qfalse;
  }

*.PK3 Directories
*.PK3 Directories are scattered everywhere and some look like:
Code: [Select]
 {
    bc = BG_BuildableConfig( i );
    Com_Memset( bc, 0, sizeof( buildableConfig_t ) );

    BG_ParseBuildableFile( va( "configs/buildables/%s.cfg",
                               BG_Buildable( i )->name ), bc );
  }

Weapon names and their description
Weapon names and their description starts at line 1935.
Code: [Select]
   ( 1 << S1 )|( 1 << S2 )|( 1 << S3 ), //int  stages is the stages available to be bought at the Armoury.
Code: [Select]
   "rifle",              //char      *weaponName; is the text you would type in the console.
Code: [Select]
   "Rifle",              //char      *humanName; is the text on the list at the Armoury.
Code: [Select]
   "Basic weapon. Cased projectile weapon, with a slow clip based "
      "reload system.",
is the description of the weapon.
Code: [Select]
   qfalse,               //int       infiniteAmmo; qfalse means it does not have unlimited ammunition and qtrue means it has unlimited ammunition.
Code: [Select]
   qfalse,               //int       usesEnergy; qfalse means it does not use energy and qtrue means it uses energy.
Code: [Select]
   qfalse,               //qboolean  canZoom; qfalse means you cannot zoom in with it and qtrue means you can zoom in with it.
Code: [Select]
   qtrue,                  //qboolean purchasable qtrue means it is purchasable and qfalse means it is not purchasable.
Code: [Select]
   TEAM_HUMANS             //team_t  team; is the team that is allowed to purchase it/use it.
Weapon names and their description ends at line 2400.

Upgrade names and their description
Upgrade names and their description starts at line 2454.
Code: [Select]
   ( 1 << S1 )|( 1 << S2 )|( 1 << S3 ), //int  stages is the stages available to be bought at the Armoury.
Code: [Select]
   "larmour",              //char  *upgradeName; is the text you would type in the console.
Code: [Select]
   "Light Armour",         //char  *humanName; is the text on the list at the Armoury.
Code: [Select]
   "Protective armour that helps to defend against light alien melee "
      "attacks.",
is the description of the upgrade.
Code: [Select]
   "icons/iconu_larmour", is the directory where the Upgrade's icon is found in the *.PK3.
Code: [Select]
   qtrue,                  //qboolean purchasable qtrue means it is purchasable and qfalse means it is not purchasable.
Code: [Select]
   qfalse,                 //qboolean usable qtrue means in the game it is not shaded grey and unusable and qfalse means it is grey and unusable (Default = qfalse because there is a bind to use it)
Code: [Select]
   TEAM_HUMANS             //team_t  team; is the team that is allowed to purchase it/use it.
Upgrade names and their description end at line 2566.

Event names
Event names start at line 2733
We do not recommend changing this unless you are a professional. I do not know how to change this or what anything means.
Event names end at line 2832

Team names
Team names start at line 3965
Here are the team names that you type in the CONSOLE.
Team names end at line 3974
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX

12.) With MSYS
  • Type cd c:
  • Type cd tremulous
  • Type make
  • Wait...
  • The game.qvm should be found in the build/vm folder
  • Place it in your server's vm folder
  • Run your server, type !map atcs or !devmap atcs
  • Test it, use it, Enjoy
  • Please do not release your qvm, keep it on your server, the last thing Tremulous needs is a million qvm downloads everywhere like the maps

NOTE
: I am not responsible for server crashes. If any marks within the qvm are placed or deleted, errors will occur.
How to mod your own QVM (LINUX BASED!)
A longer version will be on the FuN Website.
« Last Edit: December 25, 2009, 12:09:27 am by Lonly »

Syntac

  • Posts: 841
  • Turrets: +118/-104
    • Syntac's Stuff
Re: My simple guide to building a qvm.
« Reply #1 on: October 17, 2008, 10:43:11 pm »
I can see this becoming a decent guide, if you use code tags.

David

  • Spam Killer
  • *
  • Posts: 3543
  • Turrets: +249/-273
Re: My simple guide to building a qvm.
« Reply #2 on: October 17, 2008, 11:11:28 pm »
Maybe a tutorial on modding the X stuffs would be better posted on the X forums?
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
Re: My simple guide to building a qvm.
« Reply #3 on: October 17, 2008, 11:31:21 pm »
Maybe a tutorial on modding the X stuffs would be better posted on the X forums?

Im using their trunk as a example!

Foe of Eternity

  • Posts: 169
  • Turrets: +6/-13
Re: My simple guide to building a qvm.
« Reply #4 on: October 17, 2008, 11:48:03 pm »
this isn't rly a guide as much as it is what does what, a guide would show what to do to make it, [in this case it would say the commands, and what they're used for] but it could use some touch ups to become a guide.

The most important thing about making QVMs though is you must have programming experience and know some C
Once you learn what to edit to do what, and where to do it, it's all a matter of knowing C

No. Let n00bs pick overly destructive Human weapons and then use them in their own base and around their own teammates. Maybe then they'll learn that doing that is a stupid idea. Meanwhile, I will be slashing at their damaged Armoury, after I vault their smoking turrets and the scattered bodies of their TK' d teammates. N00bs: they're what's for breakfast.

Hendrich

  • Posts: 898
  • Turrets: +168/-149
    • TremCommands
Re: My simple guide to building a qvm.
« Reply #5 on: October 17, 2008, 11:52:14 pm »
Awsome guide Lonly! Keep on improving it, I love the looks of it right now! ;D

*Sigh*

Do I really have to compile Tremulous just to make a Qvm? Oh comon.....
« Last Edit: October 18, 2008, 12:09:41 am by Hendrich »

Syntac

  • Posts: 841
  • Turrets: +118/-104
    • Syntac's Stuff
Re: My simple guide to building a qvm.
« Reply #6 on: October 17, 2008, 11:54:23 pm »
Someone test his code, I'm too lazy.

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
Re: My simple guide to building a qvm.
« Reply #7 on: October 18, 2008, 01:06:08 am »
*Sigh*

Do I really have to compile Tremulous just to make a Qvm? Oh comon.....

Yes you must compile it to make a qvm, you can't make the qvm through archive or winrar.

TheLuciferSausage

  • Posts: 54
  • Turrets: +2/-3
    • Tremulous Game Spanish Community
Re: My simple guide to building a qvm.
« Reply #8 on: October 18, 2008, 01:23:24 am »
Thank you Lonly!

You have encouraged me one step more into QVM coding.
Our programmer at TremSpain, Ackman, also thanks you ;D

Hendrich

  • Posts: 898
  • Turrets: +168/-149
    • TremCommands
Re: My simple guide to building a qvm.
« Reply #9 on: October 18, 2008, 02:07:33 am »
Meh, I would trade in my soul to know how to make Qvms like Syntac does....

Opps, my soul was already traded for a pack of gum. :P

Syntac

  • Posts: 841
  • Turrets: +118/-104
    • Syntac's Stuff
Re: My simple guide to building a qvm.
« Reply #10 on: October 18, 2008, 05:04:39 am »
Opps, my soul was already traded for a pack of gum. :P
You need to get a job as a comedian or something.

Thorn

  • Guest
Re: My simple guide to building a qvm.
« Reply #11 on: October 18, 2008, 01:43:33 pm »
. Do not I repeat do not edit the files with bg_ in front of the name. Those files cannot be messed with. If they are they can cause your server to crash.


Do not give such false information.

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
Re: My simple guide to building a qvm.
« Reply #12 on: October 18, 2008, 02:07:00 pm »
False information? Ohh ok.
« Last Edit: June 26, 2009, 03:20:42 pm by Lonly »

Foe of Eternity

  • Posts: 169
  • Turrets: +6/-13
Re: My simple guide to building a qvm.
« Reply #13 on: October 18, 2008, 10:28:59 pm »
erm...changing colours of things is a hack...and i wouldn't suggest posting a guide to making a hack...


anyway, i'm trying to get my source up on svn, but i can't seem to get it, i'll probably just make a .zip file for now

No. Let n00bs pick overly destructive Human weapons and then use them in their own base and around their own teammates. Maybe then they'll learn that doing that is a stupid idea. Meanwhile, I will be slashing at their damaged Armoury, after I vault their smoking turrets and the scattered bodies of their TK' d teammates. N00bs: they're what's for breakfast.

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
Re: How to make a qvm.
« Reply #14 on: October 19, 2008, 03:30:44 pm »
i modified it so if you are having a msys issue that it opens then closes, i posted how to fix it.

spectator

  • Guest
Re: How to make a qvm.
« Reply #15 on: October 20, 2008, 07:50:18 pm »
i don't recommend  download the trunk from xserverx.com, is to old.

i also make a tutorial, based on Linux systems.

http://xserverx.com/forum/viewtopic.php?f=44&t=622

Archangel

  • Guest
Re: How to make a qvm.
« Reply #16 on: October 21, 2008, 04:20:26 am »
Please, I beg of you, PLEASE  don't follow ANY of these guides. The LAST thing Tremulous needs is another server with horrible balance changes. 

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
Re: How to make a qvm.
« Reply #17 on: October 21, 2008, 09:05:59 pm »
Archangle, I havn't seen you in like a year! Hey! Good point, plus, hardly anyone wants to make a qvm, only like a few people want to make a qvm. Plus this guide is for people who understand who know how to compile. But good point.

Archangel

  • Guest
Re: How to make a qvm.
« Reply #18 on: October 23, 2008, 03:11:49 pm »
Who the hell are you?

mooseberry

  • Community Moderators
  • *
  • Posts: 4005
  • Turrets: +666/-325
Re: How to make a qvm.
« Reply #19 on: October 24, 2008, 01:43:36 am »
One of the code stalkers.....
Bucket: [You hear the distant howl of a coyote losing at Counterstrike.]

मैं हिन्दी का समर्थन

~Mooseberry.

Foe of Eternity

  • Posts: 169
  • Turrets: +6/-13
Re: How to make a qvm.
« Reply #20 on: October 24, 2008, 01:55:23 am »
Quote
Also http://www.freewebs.com/foe-qvms/ to download the latest Foe's qvm.

woot! i'm known  :P


i'll try to get the source for it up asap, but i'm having trouble with a mod to the bots...
hope to get it up soon!

No. Let n00bs pick overly destructive Human weapons and then use them in their own base and around their own teammates. Maybe then they'll learn that doing that is a stupid idea. Meanwhile, I will be slashing at their damaged Armoury, after I vault their smoking turrets and the scattered bodies of their TK' d teammates. N00bs: they're what's for breakfast.

Archangel

  • Guest
Re: How to make a qvm.
« Reply #21 on: October 24, 2008, 02:10:41 am »
Freewebs. Pretty pro there. What is !upgrades?

Syntac

  • Posts: 841
  • Turrets: +118/-104
    • Syntac's Stuff
Re: How to make a qvm.
« Reply #22 on: October 24, 2008, 02:24:11 am »
I believe !upgrades is from Nero's QVM. It does what it sounds like: gives you upgrades (all of them).

Archangel

  • Guest
Re: How to make a qvm.
« Reply #23 on: October 25, 2008, 06:37:47 am »
I feel ill.

Syntac

  • Posts: 841
  • Turrets: +118/-104
    • Syntac's Stuff
Re: How to make a qvm.
« Reply #24 on: October 25, 2008, 03:39:51 pm »
You and me both, bro'. ;)

Lonly

  • Posts: 231
  • Turrets: +9/-39
    • Host-Man
Re: How to make a qvm.
« Reply #25 on: October 25, 2008, 05:48:10 pm »
I am RoK.
« Last Edit: June 26, 2009, 03:22:51 pm by Lonly »

Archangel

  • Guest
Re: How to make a qvm.
« Reply #26 on: October 25, 2008, 07:52:38 pm »
I've never heard of you.

Syntac

  • Posts: 841
  • Turrets: +118/-104
    • Syntac's Stuff
Re: How to make a qvm.
« Reply #27 on: October 25, 2008, 07:54:32 pm »
I think I saw someone named -Rod-RoK once, but there's no evidence as to this being one of his (Lonly's) identities.

Maybe I'll start working on a player tracker for TremSnaps...

TheLuciferSausage

  • Posts: 54
  • Turrets: +2/-3
    • Tremulous Game Spanish Community
Re: How to make a qvm.
« Reply #28 on: November 03, 2008, 11:54:43 pm »
Hi Lonly/Connman/Pro/CREATOR/RoK/Reaper and everyone,

Thanks again for your tutorial. Just a quick question :P

Once I get the game.qvm file, can I replace it directly at the server while is running and "exec server.cfg" to run it or do I need to shut it down, etc?
« Last Edit: November 04, 2008, 12:14:35 am by TheLuciferSausage »

SlackerLinux

  • Spam Killer
  • *
  • Posts: 555
  • Turrets: +41/-62
Re: How to make a qvm.
« Reply #29 on: November 04, 2008, 12:44:15 am »
Hi Lonly/Connman/Pro/CREATOR/RoK/Reaper and everyone,

Thanks again for your tutorial. Just a quick question :P

Once I get the game.qvm file, can I replace it directly at the server while is running and "exec server.cfg" to run it or do I need to shut it down, etc?

just replace the qvm and change map using !map atcs or !devmap atcs
Slackware64 13.1
SlackersQVM/