000
26.01.2002, 20:38
XINEOHP
|
Hi, das ist mein erstes Thema...
Im vorraus: Ich habe schon gesucht aber nicht das gefunden was ich wollte.
Frage: Ich habe einen Teleporter für HL Programmiert (bei den Waffen, auserdem nebensächlich). Nun möchte ich das wenn ich eine Taste drücke ein Model in die Map geladen wird, seine Koordinaten (X, Y, Z) sollen in Variablen gespeichert werden und ich möchte das Model dann später wieder verschwinden lassen (entladen).
Tja, für einen Newbie ist das garnicht so einfach.
Wisst ihr wie man sowas macht ?
#Your XINEOHP.#
--
Dieser Beitrag wurde am 26.01.2002 um 20:41 von XINEOHP bearbeitet.
|
|
Profil || Suche
|
001
27.01.2002, 01:24
Jotzet
|
Also, da musste gar nix proggen, nimm ein Monstermaker. Und einen Func_button..oder trigger_once..
Oder soll der Button auf der Tastatur liegen? Wenn ja weiss ich des auch nicht, bin selber noch noob in Coding...will aba bald ne mod mache :D
--
- Herr der Ringe Multiplayer-Mod => www.middlewars.de.vu - German Tactical Group Clanpage => www.gtg-csclan.de ...mfg Jotzet
|
|
Profil || Suche
|
002
27.01.2002, 10:58
XINEOHP
|
Hi, lol wie früh seid ihr eigentlich alle auf ? :)
Danke für deine Antwort.
Aber... ich habe in HL eine "Waffe" gecodet, die wenn man "SecondaryAttack" aufruft sich die momentanen Koordinaten des Spielers merkt und beim aufruf von "PrimaryAttack" den Spieler zu den Koordinaten transportiert. Mein Problem: Ich möchte beim aufruf von "SecondaryAttack" ein Object (Model) in der Map erscheinen lassen, zu dem man sich dann nacher transportieren lassen kann. (Eigentlich nur fürs Aussehen.)
#Your XINEOHP#
--
|
|
Profil || Suche
|
003
27.01.2002, 11:10
Archangel
|
lol wie früh seid ihr eigentlich alle auf ? :)
die frage müsste lauten: Wie spät seid ihr noch auf ?
ok. zurück zum topic.. also, ich hab den code gerade nicht hier, aber guck dir mal den code von anderen ents, die models benutzen, an (zB CCrossbowBolt).. du erstellst ein neues entity ("was_weissich", CWasWeissIch) und packst halt in die spawn diesen code, precachen des models aber nicht vergessen. Dann legst du in der Klasse der Waffe 1 neue membervar an: CWasWeissIch *m_pWasWeissIch;
in der Spawn: m_pWasWeissIch = NULL;
in der SecondaryAttack schreibst du dann sowas: m_pWasWeissIch = (CWasWeissIch *)CBaseEntity::Create("was_weissich", m_pPlayer->pev->origin, m_pPlayer->pev->angles); // kA ob das die args sind, es gibt jedenfalls angles, origin und classname, aber die reihenfolge weiss ich nich genau, schau dir einfach mal die deklaration der CBaseEntity::Create an..
und in der PrimaryAttack dann: // am anfang if(!m_pWasWeissIch) // seit letztem primary attack wurde secondary attack nicht aufgerufen bzw. Secondary attack wurde noch nie aufgerufen return; // vorzeitiges verlassen der funktion // dann der eigentliche code UTIL_SetOrigin(m_pPlayer->pev, m_pWasWeissIch->pev->origin); UTIL_Remove(m_pWasWeissIch); m_pWasWeissIch = NULL;
wie gesagt, ich hab den code nich hier, aber so _in etwa_ sollte es funzen..
--
Mar 01 01:10:13 <voice> jo Mar 01 01:10:40 <voice> bis dann ^^ Mar 01 01:11:20 <Archangel> jo **** ENDING LOGGING AT Tue Mar 1 01:58:13 2005
|
|
Profil || Suche
|
004
27.01.2002, 12:32
XINEOHP
|
Hi,
Danke für die Antwort. :)
Nur ich bin leider noch ein Newbie und der Kompiler zeigt mir nun diesen Fehler an: -------------------------------------------------------------------------- error C2065: 'pTelObj' : nichtdeklarierter Bezeichner error C2227: Der linke Teil von '->pev' muss auf Klasse/Struktur/Union zeigen error C2227: Der linke Teil von '->origin' muss auf Klasse/Struktur/Union zeigen -------------------------------------------------------------------------- Wie und wo muss ich "pTelObj" (Das Object das ja jetzt in die Map geladen werden soll) deklarieren ?
Der Code sieht ungefär so aus:
void CTeleport::PrimaryAttack() { CBaseEntity *pTelObj = CBasePlayer::Create( "models/p_axt.mdl",pev->origin + pev->view_ofs + gpGlobals->v_forward * 16, pev->v_angle, pev->owner ); SendWeaponAnim( SATCHEL_RADIO_FIRE ); }
void CTeleport::SecondaryAttack() { UTIL_SetOrigin(pev, pTelObj->pev->origin); UTIL_Remove(pTelObj); pTelObj = NULL; SendWeaponAnim( SATCHEL_RADIO_FIRE ); }
--
|
|
Profil || Suche
|
005
27.01.2002, 15:13
XINEOHP
|
Hi,
die frage hat sich erledigt.
Ich habe jetzt ein neues Entity gecodet das dann in die Map geladen wird, nur wenn ich es entfernen will (UTIL_Remove(pTelObj);) stürtzt Half-Life ab.
???
#Your XINEOHP#
--
|
|
Profil || Suche
|