View previous topic :: View next topic |
Author |
Message |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Fri Jul 06, 2007 2:11 am Post subject: |
|
|
Holy cow! I saw a few apostrophes in there, scar3crow!  _________________ F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe. |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Fri Jul 06, 2007 2:16 pm Post subject: |
|
|
scar3crow wrote: | To be honest, if it doesn't involve custom skins, I do just go with DP, whether the server is QW, NQ or DP protocol... Who cares? Its still Quake. With that line of thought, people who don't switch to something that works well between all of them is furthering the divide (which should have died the moment broadband became widely available and the source was released as well). The only difference, thats real to me, is ease of bunnyhopping in QW and NQ. And if your Quake playing is so reliant on that, then you suck at the game. Same thing goes if you only play on dm3 or dm6 or whatnot. There, I said it, I get tired of that shit. |
We should play STC more. |
|
Back to top |
|
 |
scar3crow Inside3D Staff

Joined: 18 Jan 2005 Posts: 837 Location: Las Vegas, NV
|
Posted: Fri Jul 06, 2007 8:13 pm Post subject: |
|
|
That we should, didn't Krimzon make a map for it a few years back?
I miss sneaking around and up walls as a Thief, raiding the enemy base...
Urm... Frikbot skins! Still on topic? |
|
Back to top |
|
 |
redrum

Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York
|
Posted: Mon Jul 23, 2007 4:11 pm Post subject: |
|
|
I was able to apply the custom skins to the bots!
After I did this, the bots are now removed from the scoreboard.
Why did this happen? _________________ Welcome to the Overlook Hotel 69.113.123.178:27500 |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Mon Jul 23, 2007 8:21 pm Post subject: |
|
|
Don't mess up those messages. |
|
Back to top |
|
 |
redrum

Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York
|
Posted: Mon Jul 23, 2007 10:06 pm Post subject: |
|
|
What messages? _________________ Welcome to the Overlook Hotel 69.113.123.178:27500 |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Mon Jul 23, 2007 10:34 pm Post subject: |
|
|
Those messages. |
|
Back to top |
|
 |
scar3crow Inside3D Staff

Joined: 18 Jan 2005 Posts: 837 Location: Las Vegas, NV
|
Posted: Mon Jul 23, 2007 10:53 pm Post subject: |
|
|
>_< |
|
Back to top |
|
 |
redrum

Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York
|
Posted: Tue Jul 24, 2007 2:32 pm Post subject: |
|
|
OK TERRIFIC! _________________ Welcome to the Overlook Hotel 69.113.123.178:27500 |
|
Back to top |
|
 |
Lightning Hunter

Joined: 28 Nov 2007 Posts: 61
|
Posted: Tue Sep 15, 2009 10:27 pm Post subject: |
|
|
I stumbled upon this thread after trying to give the Frikbots custom skins as well, except I'm not using Quakeworld. I'm not compiling the code with any mods at all; only with Quake. I was hoping I could do it the "quick hack" way, with a player.mdl and modifying bot_misc.qc, as quoted here:
Quote: | First, you'll need a player.mdl with some different skins on it. Second, look for BotName in bot_misc.qc. Just stick in some self.skin = X where X is the skin number. |
So, I have a player.mdl in the /progs folder with 16 different skins. I changed the BotName section in bot_misc.qc to look like this:
Code: |
string(float r) BotName =
{
self.b_num = r;
if (r == 1)
{
self.skin = 0;
return "Vincent";
}
else if (r == 2)
{
self.skin = 1;
return "Bishop";
}
else if (r == 3)
{
self.skin = 2;
return "Nomad";
|
Each bot after just has the next skin number. Obviously, something is wrong - because all I see now is the white team skin... Any ideas? Will the quick hack even work at all? |
|
Back to top |
|
 |
FrikaC Site Admin

Joined: 08 Oct 2004 Posts: 947
|
Posted: Wed Sep 16, 2009 9:12 pm Post subject: |
|
|
It's white because of the missing bshirt/bpants. Likely somewhere else in the code is setting the skin back to 0. Maybe PutClientInServer? |
|
Back to top |
|
 |
Lightning Hunter

Joined: 28 Nov 2007 Posts: 61
|
Posted: Thu Sep 17, 2009 9:43 pm Post subject: |
|
|
Um, I only found The following code doing a search for "putclientinserver":
In Bot_qw.qc
Code: |
void(float whatbot, float whatskill) BotConnect =
{
local float f;
local string h;
local entity uself;
f = ClientNextAvailable();
uself = self;
if(f == -1)
{
bprint(PRINT_HIGH, "Unable to connect a bot, server is full.\n");
return;
}
bot_count = bot_count + 1;
self = GetClientEntity(f);
bot_start_topic(1);
self.b_clientno = f;
self.colormap = f + 1;
if (whatbot)
self.netname = BotName(whatbot);
else
self.netname = PickARandomName();
// players can set skill all weird, so leave these checks in
whatskill = rint(whatskill);
if (whatskill > 3)
whatskill = 3;
else if (whatskill < 0)
whatskill = 0;
self.b_skill = whatskill;
self.b_entertime = time;
self.team = self.b_pants + 1;
UpdateClient(self);
SetNewParms();
self.ishuman = 2;
ClientConnect();
PutClientInServer();
if(f > 16)
active_clients2 = active_clients2 | ClientBitFlag(f - 16);
else
active_clients1 = active_clients1 | ClientBitFlag(f);
self = uself;
};
|
And in bot.qc
Code: |
void(float whichteam, float whatbot, float whatskill) BotConnect =
{
local float f;
local string h;
local entity uself;
f = ClientNextAvailable();
uself = self;
if(f == -1)
{
bprint("Unable to connect a bot, server is full.\n");
return;
}
// chat thing
bot_count = bot_count + 1;
self = GetClientEntity(f);
if (!saved_bots)
bot_start_topic(1);
self.b_clientno = f;
self.colormap = f + 1;
if (whatbot)
self.netname = BotName(whatbot);
else
self.netname = PickARandomName();
// players can set skill all weird, so leave these checks in
whatskill = rint(whatskill);
if (whatskill > 3)
whatskill = 3;
else if (whatskill < 0)
whatskill = 0;
self.b_skill = whatskill;
if (teamplay && !coop)
{
if (whichteam)
self.b_pants = FindAnotherColor(uself.team - 1);
else
self.b_pants = uself.team - 1;
self.b_shirt = self.b_pants;
}
self.team = self.b_pants + 1;
UpdateClient(self);
SetNewParms();
self.ishuman = 2;
ClientConnect();
PutClientInServer();
active_clients = active_clients | ClientBitFlag(f);
// this is risky... could corrupt .way files if done wrong
// If you're not the gambling type, comment this out
f = ClientBitFlag(self.b_num - 1);
current_bots = current_bots | f;
if (self.b_num <= 8)
saved_skills1 = (saved_skills1 & (65536 - (3 * f)) | (self.b_skill * f));
else
{
f = ClientBitFlag(self.b_num - 9);
saved_skills2 = (saved_skills2 & (65536 - (3 * f)) | (self.b_skill * f));
}
h = ftos(current_bots);
cvar_set("scratch1", h);
h = ftos(saved_skills1);
cvar_set("scratch2", h);
h = ftos(saved_skills2);
cvar_set("scratch3", h);
self = uself;
};
|
And of course I found putclientinserver in client.qc, but I shouldn't have to change that, right? None of this seems relevant, but I could be wrong. I've only ever done very trivial coding with QuakeC in the past. |
|
Back to top |
|
 |
Lightning Hunter

Joined: 28 Nov 2007 Posts: 61
|
Posted: Fri Sep 25, 2009 6:59 pm Post subject: |
|
|
No responses? I guess it's just too much work to get new skins to work with the Frikbots + regular Quake.  |
|
Back to top |
|
 |
Dr. Shadowborg Inside3D Staff

Joined: 16 Oct 2004 Posts: 726
|
Posted: Sat Sep 26, 2009 4:27 am Post subject: |
|
|
Lightning Hunter wrote: | No responses? I guess it's just too much work to get new skins to work with the Frikbots + regular Quake.  |
Make a fresh function to set the skin, and call that AFTER:
Code: |
ClientConnect();
PutClientInServer();
|
in BotConnect(); (This is located inside bot.qc) _________________ "Roboto suggests Plasma Bazooka." |
|
Back to top |
|
 |
Lightning Hunter

Joined: 28 Nov 2007 Posts: 61
|
Posted: Sat Sep 26, 2009 7:17 pm Post subject: |
|
|
I found what you were talking about in bot.qc, but I'm not sure what "fresh function" I could create. Like I said, I'm absolutely noobish at QuakeC. |
|
Back to top |
|
 |
|