Index | FAQ | Search | Memberlist | Usergroups | Profile | Log in to check your private messages | Log in | Register

Frikbots & Skins Goto page 1, 2, 3, 4, 5 Next

| Inside3d Forums Forum Index -> Artificial Intelligence

View previous topic :: View next topic
Author | Message
--- | ---
redrum Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York |

Posted: Tue Jun 26, 2007 5:01 am Post subject: Frikbots & Skins |

Does anyone know how to give custom skins to Frikbots? When I spawn them in QW the always use the base skin. _________________ Welcome to the Overlook Hotel 69.113.123.178:27500

Back to top |

Dr. Shadowborg Inside3D Staff Joined: 16 Oct 2004 Posts: 726 |

Posted: Tue Jun 26, 2007 3:01 pm Post subject: |

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. _________________ "Roboto suggests Plasma Bazooka."

Back to top |

redrum Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York |

Posted: Tue Jun 26, 2007 4:34 pm Post subject: |

Can you explain how to create / modify the player.mdl file? I tried to read the file but it was all garbled . Thanks. _________________ Welcome to the Overlook Hotel 69.113.123.178:27500

Back to top |

leileilol Joined: 15 Oct 2004 Posts: 1321 |

Posted: Tue Jun 26, 2007 4:35 pm Post subject: |

quakeworld doesn't use the player.mdl skin hack

Back to top |

Dr. Shadowborg Inside3D Staff Joined: 16 Oct 2004 Posts: 726 |

Posted: Tue Jun 26, 2007 9:49 pm Post subject: |

CheapAlert wrote:
quakeworld doesn't use the player.mdl skin hack

...It doesn't?
God, I loathe QuakeWorld. :/
_________________
"Roboto suggests Plasma Bazooka."

Back to top |

FrikaC Site Admin Joined: 08 Oct 2004 Posts: 947 |

Posted: Tue Jun 26, 2007 11:57 pm Post subject: |

You need to change this code found in bot_qw.qc:

Code:
// FIXME: do teams properly // note this has no effect on infokey WriteByte(2, 92 ); // \ WriteByte(2, 115); // s WriteByte(2, 107); // k
WriteByte(2, 105); // i
WriteByte(2, 110); // n
WriteByte(2, 92); // \
WriteByte(2, 98); // b
WriteByte(2, 97); // a
WriteByte(2, 115); // s
WriteByte(2, 101); // e
WriteByte(2, 92); // \

Good luck!

Back to top |

redrum Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York |

Posted: Wed Jun 27, 2007 8:12 pm Post subject: |

Is there a way for each bot to have their own skin? _________________ Welcome to the Overlook Hotel 69.113.123.178:27500

Back to top |

FrikaC Site Admin Joined: 08 Oct 2004 Posts: 947 |

Posted: Wed Jun 27, 2007 8:49 pm Post subject: |

Yes.

Back to top |

Supa Joined: 26 Oct 2004 Posts: 122 |

Posted: Thu Jun 28, 2007 12:45 am Post subject: |

First a disclaimer: 1) My only real experience in QW modding is from my stupid QW speedmod, FishQuake. 2) I'm not actually looking at the FBX code right now, just working from FrikaC's post, thusly I have no way of actualy checking wheter or not this will work.
3) I am a muppet.
That said:

Code:
97 a 104 h 111 o 118 v 98 b 105 i 112 p 119 w 99 c 106 j 113 q 120 x 100 d 107 k 114 r 121 y 101 e 108 l 115 s 122 z
102 f 109 m 116 t
103 g 110 n 117 u

So if you want one bot to use skin 'foo', you'd do:

Code:
WriteByte(2, 92 ); // \ WriteByte(2, 115); // s WriteByte(2, 107); // k WriteByte(2, 105); // i WriteByte(2, 110); // n
WriteByte(2, 92); // \
WriteByte(2, 102); // f
WriteByte(2, 111); // o
WriteByte(2, 111); // o
WriteByte(2, 92); // \

Taking this further you could try this:

Code:
WriteByte(2, 92 ); // \ WriteByte(2, 115); // s WriteByte(2, 107); // k WriteByte(2, 105); // i WriteByte(2, 110); // n
WriteByte(2, 92); // \
if (somenumber == 0)
{
WriteByte(2, 98); // b
WriteByte(2, 97); // a
WriteByte(2, 115); // s
WriteByte(2, 101); // e
}
else if (somenumber == 1)
{
WriteByte(2, 102); // f
WriteByte(2, 111); // o
WriteByte(2, 111); // o
}
else if (somenumber == 2)
{
WriteByte(2, 98); // b
WriteByte(2, 97); // a
WriteByte(2, 114); // r
}
WriteByte(2, 92); // \

(And so on..)
Of course, I could be wrong. =)

Back to top |

Electro Joined: 29 Dec 2004 Posts: 241 Location: Brisbane, Australia |

Posted: Thu Jun 28, 2007 1:15 am Post subject: |

Another step to take that to would be to make use of string manipulation stuff in newer engines but of course that's probably not desirable because backwards compatibility would be shot If it's not an issue then you could rather easily write a function that iterates through every letter in the skin and substitues it for the number and does the writebyte accordingly.
What a hassle!
_________________
Unit reporting!
http://www.bendarling.net/

Back to top |

redrum Joined: 28 Mar 2007 Posts: 367 Location: Long Island, New York |

Posted: Thu Jun 28, 2007 3:13 am Post subject: |

FrikaC, how would you do it? _________________ Welcome to the Overlook Hotel 69.113.123.178:27500

Back to top |

Sajt Joined: 16 Oct 2004 Posts: 1026 |

Posted: Thu Jun 28, 2007 4:26 am Post subject: |

And the next question you would ask is, hmm. But how would Jesus do it? _________________ 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 |

leileilol Joined: 15 Oct 2004 Posts: 1321 |

Posted: Thu Jun 28, 2007 4:29 am Post subject: |

he'd say use quake2.

Back to top |

Teiman Joined: 03 Jun 2007 Posts: 309 |

Posted: Thu Jun 28, 2007 8:00 am Post subject: |

Jesus is a crank. He will use a hack like totally different models. http://en.wikipedia.org/wiki/Crank_%28person%29

Back to top |

FrikaC Site Admin Joined: 08 Oct 2004 Posts: 947 |

Posted: Thu Jun 28, 2007 2:16 pm Post subject: |

Supa wrote:
First a disclaimer: 1) My only real experience in QW modding is from my stupid QW speedmod, FishQuake. 2) I'm not actually looking at the FBX code right now, just working from FrikaC's post, thusly I have no way of actualy checking wheter or not this will work.
3) I am a muppet.
That said:

Code:
97 a 104 h 111 o 118 v 98 b 105 i 112 p 119 w 99 c 106 j 113 q 120 x 100 d 107 k 114 r 121 y 101 e 108 l 115 s 122 z
102 f 109 m 116 t
103 g 110 n 117 u

So if you want one bot to use skin 'foo', you'd do:

Code:
WriteByte(2, 92 ); // \ WriteByte(2, 115); // s WriteByte(2, 107); // k WriteByte(2, 105); // i WriteByte(2, 110); // n
WriteByte(2, 92); // \
WriteByte(2, 102); // f
WriteByte(2, 111); // o
WriteByte(2, 111); // o
WriteByte(2, 92); // \

Taking this further you could try this:

Code:
WriteByte(2, 92 ); // \ WriteByte(2, 115); // s WriteByte(2, 107); // k WriteByte(2, 105); // i WriteByte(2, 110); // n
WriteByte(2, 92); // \
if (somenumber == 0)
{
WriteByte(2, 98); // b
WriteByte(2, 97); // a
WriteByte(2, 115); // s
WriteByte(2, 101); // e
}
else if (somenumber == 1)
{
WriteByte(2, 102); // f
WriteByte(2, 111); // o
WriteByte(2, 111); // o
}
else if (somenumber == 2)
{
WriteByte(2, 98); // b
WriteByte(2, 97); // a
WriteByte(2, 114); // r
}
WriteByte(2, 92); // \

(And so on..)
Of course, I could be wrong. =)

You are absolutely correct. As far as actual implementation, somenumber can be self.b_num, which is the bot template number for names & colors. Also, if you want to make the code FrikQCC/fteqcc specific you can use single quoted letters instead of the ascii-code.

Back to top |

Display posts from previous:

| Inside3d Forums Forum Index -> Artificial Intelligence | All times are GMT Goto page 1, 2, 3, 4, 5 Next
Page 1 of 5

Jump to:

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2004 phpBB Group