Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
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.
zum Seitenanfang zum Seitenende 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

zum Seitenanfang zum Seitenende 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#

--

zum Seitenanfang zum Seitenende Profil || Suche
003
27.01.2002, 11:10
Archangel



Zitat:
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

zum Seitenanfang zum Seitenende 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:
Quellcode:
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 );
}

--

zum Seitenanfang zum Seitenende 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#

--

zum Seitenanfang zum Seitenende Profil || Suche
006
27.01.2002, 16:05
Archangel



hm, also ich sehe da zumindest das in der secondaryAttack das hier fehlt:

Quellcode:
if(!pTelObj)
return;

--

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

zum Seitenanfang zum Seitenende Profil || Suche