Prasing the BSP Client side is the best way...Although if its just an entity
that is used once, then just sent it serverside its easier to setup...
I'm gunna lead you through using the BSP Client side...
First thing add to your project
bspfile.cpp
cmdlib.cpp
mathlib.cpp
scriplib.cpp
And I Include bspfile.h into the files you wish to use the bsp stuff Now,
time to get the name of the map, well we know entity in index 0 is the map,
so lets use the name of the model, to get the map...
gEngfuncs.GetEntityByIndex(0)->model->name will give the map..now to load
the BSP File..
LoadBSPFile(gEngfuncs.GetEntityByIndex(0)->model->name);
Now the epairs/entities aren't prased in that they are just stored, time to
prase the entities
ParseEntities();
Now its time to find the entity you need..
entity_t * FindEntityByClassName(char *classname)
{
for(int i=0;i<num_entities;i++)
if(strcmp(classname, ValueForKey(entities[i],"classname")) == 0)
return entities[i];
return NULL;
}
Now how about we try and find and aim at an "info_player_deathmatch" entity,
we would do the following..
entity_t * entity = FindEntityByClassName("info_player_deathmatch");
How about an example of using that entity, lets make it aim at that point :D
hehe gotta have some fun sometime
vec3_t dirAim;
vec3_t MyOrigin
float Angles[3];
VectorCopy(MyOrigin,gEngfuncs.GetLocalPlayer()->origin)
VectorMinus(entity->origin, dirAim, MyOrigin);
VectorAngles(dirAim, Angles);
for(int i=0;i<3;i++)
if(Angles[i]>180)
Angles-=360;
gEngfuncs.SetViewAngles(Angles);
Now There you are happy as can be, only one thing, you will be aiming from
the center of your body if you try that, but thats just to show how to use
the entity_t stuff, btw the entity_t struct is stored in bspfile.h
I Recommend only loading the bsp and prasing it, probley in HUD_VidInit
----- Original Message -----
From: "Roachfood - the-coming.com" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 13, 2002 7:38 PM
Subject: Re: [hlcoders] Map entities client-side
> Cant you pass the keyvalues to the client in your message? I know for my
> mod we have animated plants and items that are on the server side only.
For
> instance when the player touches the animated item, a message is sent to
the
> client tellin it what it is and the inventory/hud info is updated
> accordingly. I dont know if that pertains to your original question...
but
> anyway... =)
>
> If you really need the keyvalues, when the entity is created send a
message
> to the client. Im tired... im going to bed.
>
> Roachie
> www.the-coming.com
> ----- Original Message -----
> From: "Persuter" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, February 13, 2002 12:27 AM
> Subject: RE: [hlcoders] Map entities client-side
>
>
> > Btw, to clear things up on this, I did indeed eventually use the message
> > to client and it works fine now (better than I expected, actually), but
> > I just found it odd that we can't get the keyvalues from the
> > client-side. OK, now continue the digression... :)
> >
> > Thanks for everyone who helped, btw...
> >
> > Persuter
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] [mailto:hlcoders-
> > > [EMAIL PROTECTED]] On Behalf Of Pat Magnan
> > > Sent: Tuesday, February 12, 2002 3:28 PM
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: [hlcoders] Map entities client-side
> > >
> > > Two solutions come to mind:
> > > - parse the BSP client side...
> > > - transmit the value of that keyvalue to the client in a message, just
> > > once while the HUD is initializing should do it (keyvalues don't
> > change
> > > do they?).
> > >
> > > I chose the latter for an entity that was placed in the map, and
> > > rendered client side by TriAPI. I think some folks were working on
> > > trying to parse the BSP client side, but ran into trouble keeping
> > > things in synch...
> > >
> > > I think you've been around longer than I have and may not need it, :)
> > > but if you want to see an outline of my approach, I did up a tutorial
> > > (concept mostly) here:
> > > http://www.tourofdutymod.com/tutorials.php
> > >
> > > > Is there a way to access keyvalue info in the map from the client-
> > > side?
> > > > I keep on thinking you must be able to, since obviously the client
> > > side
> > > > has the map, but I haven't been able to find any way to do it.
> > > >
> > > > Thanks,
> > > > Persuter
> > > >
> > > >
> > > >
> > > >
> > > > _________________________________________________________
> > > > Do You Yahoo!?
> > > > Get your free @yahoo.com address at http://mail.yahoo.com
> > > >
> > > > _______________________________________________
> > > > To unsubscribe, edit your list preferences, or view the list
> > > archives, please visit:
> > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >
> > > >
> > >
> > > ---------------------------------------
> > > Eighty percent of life is showing up.
> > > -- Woody Allen
> > > _______________________________________________
> > > To unsubscribe, edit your list preferences, or view the list archives,
> > > please visit:
> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
> > _________________________________________________________
> > Do You Yahoo!?
> > Get your free @yahoo.com address at http://mail.yahoo.com
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders