Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
17.04.2003, 11:06
King_ROFL



Hi,
ich hab 2 Fragen

1.Kann mir jemand sagen ob es möglich is aus dem Spiel heraus auf Knopfdruck ( Tastatur ) eine Entity zu erstellen, z.B. eine func_breakable ?
Dann müsste ein Block ( oder ein Model ) erscheinen, der dann mit den Eigenschaften eines func_breakable ausgestattet ist.
Ist sowas möglich ? Und wenn ja, was muss ich dafür ungefähr coden ?
Und vor allem wo muss ich es coden ? Gehört das dann in die ClientCommand Funktion in der client.cpp ?

2. Kann man der CBreakable Klasse irgendwie ein Model zuweisen ? Ich hab das mal probiert aber dann war die func_breakable überhaupt nicht mehr zu sehen

--


Dieser Beitrag wurde am 17.04.2003 um 11:32 von King_ROFL bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
17.04.2003, 11:54
Exec



ein model kann man afaik nich breakable machen, oder eigendlich schon - was weis ich,probiers einfach aus ...
zu deinem prob hab ich immo keine idee, wenn ich eine hätte würde sie dir glaube ich eh nich viel nützen ....

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
002
17.04.2003, 13:36
Killing Me Softly



Ich bin jetzt mal ganz dreist und behaupte (ohne es ausproblert zu haben) das man ein breakable Model relativ einfach hinbekommt indem man eine neue Klasse von CBreakable ableitet und nur die Spawn-Funktion überschreibt. In dieser Funktion müssen nur die Einstellungen von pev->solid, pev->movetype und UTIL_SetSize(...) geändert werden. Schon hätte man ein "breakable Model", welches der Mapper in die Map plazieren kann (falls man LINK_ENTITY_TO_CLASS(...) nicht vergisst).

Der nächste Schritt wäre (da du das gute Stück ja per Knopfdruck erzeugen möchtest), noch die Einstellungen, die normalerweise der Mapper bei einem func_breakable setzt (was für ein Material etc.) auch noch dort setzten.

Um ein Entity aus dem Nichts heraus zu erzeugen schaust du dir am besten mal die Handgranaten an (z.B. CGrenade::ShootContact(...). Diese wird nämlich ebenfalls 'per Knopfdruck' erzeugt.

--

Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.

zum Seitenanfang zum Seitenende Profil || Suche
003
17.04.2003, 13:54
King_ROFL



@ KillingMeSoftly: Das mit dem breakable model hat schon mal funktioniert. Sowas ähnliches hatte ich davor auch schon probiert, aber das Model war dann immer durchlässig. Ich hab UTIL_SetSize vergessen...

an der methode mein model im spiel zu erzeugen arbeite ich noch...

big THX

--

zum Seitenanfang zum Seitenende Profil || Suche
004
17.04.2003, 14:22
[ LOD q|p Silver ]



vielleicht ist ja einer der coder von NS so nett und sagt euch wies geht.. so viel ich weiß kann man da ja auch geschütze und so etwas plazieren.. oder irre ich mich da?

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org


Dieser Beitrag wurde am 17.04.2003 um 14:28 von [ LOD q|p Silver ] bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
17.04.2003, 14:28
Ornest



Zitat:
King_ROFL postete
Dann müsste ein Block ( oder ein Model ) erscheinen, der dann mit den Eigenschaften eines func_breakable ausgestattet ist.
Das ist doch eigentlich nichts anderes, als die Türme der Marines bei NS, oder nicht?
Bin nicht sicher, aber wäre doch irgendwie logisch!

Edit: wee, wurde ja schon gepostet!

--


Dieser Beitrag wurde am 17.04.2003 um 15:13 von Ornest bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
17.04.2003, 14:37
Killing Me Softly



Zitat:
[ LOD q|p Silver ] postete
vielleicht ist ja einer der coder von NS so nett und sagt euch wies geht..
Neeee, Vorsagen gilt nicht. Da macht das coden doch gar keinen Spass mehr *g*

--

Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.

zum Seitenanfang zum Seitenende Profil || Suche
007
17.04.2003, 15:33
King_ROFL



Zitat:
Ornest postete
Das ist doch eigentlich nichts anderes, als die Türme der Marines bei NS, oder nicht?
es ging mir auch um genau das.
Erstmal ein Gebäude hinkriegen, das sich zerstören lässt und dann muss man es auch noch irgendwo platzieren können

Zitat:
[ LOD q|p Silver ] postete
vielleicht ist ja einer der coder von NS so nett und sagt euch wies geht..
das glaub ich kaum...

--

zum Seitenanfang zum Seitenende Profil || Suche
008
17.04.2003, 15:48
[ LOD q|p Silver ]



@king_rofl
warum denn nicht.. es haben nicht alle die gleiche einstellung... ich habe auch eine antwort mit einem lösungsvorschlag bekommen.. aber zu einem anderen thema und nicht von NS codern :)

--

Homepage: THE CONSPIRACY IN SHADOW
Visit : HalfLife-Mods.com, HalfLife.org

zum Seitenanfang zum Seitenende Profil || Suche
009
17.04.2003, 17:46
King_ROFL



im prinzip hab ich die funktion schon ... nur kenn ich mich mit dem tracen nich so aus. Wie kann ich herausfinden auf welchen punkt ( am boden oder an der nächsten wand ) der spieler gerade schaut ?

--

zum Seitenanfang zum Seitenende Profil || Suche
010
17.04.2003, 20:44
Onkel Dittmeyer



Quellcode:TraceResult tr;
Vector vecStart, vecEnd;
int iTraceLength = 1000;
vecStart = player->pev->origin [ + player->pev->view_ofs ];
UTIL_MakeVectors(player->v_angle);
vecEnd = vecStart + gpGlobals->v_forward * iTraceLength;
UTIL_TraceLine(vecStart, vecEnd, dont_ignore_monsters, player->edict(), &tr);
Vector vecEndPoint = tr.vecEndPos;
//...
Macht eine TraceLine die von Monstern geblockt wird vom Spieler zur nächsten Wand, maximal 1000 Units lang in diesem Beispiel.
Wenn du wissen willst ob da ein Monster im Weg ist:
Quellcode:CBaseEntity *pList[1];
if (UTIL_EntitiesInBox( pList, 1, yourent->mins, yourent->maxs, FL_MONSTER | FL_CLIENT) > 0) ALERT(at_console, "Couldn't spawn entity cuz there was some other freekin monster in it's bounding box!\n");

--


Dieser Beitrag wurde am 17.04.2003 um 20:55 von Onkel Dittmeyer bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
17.04.2003, 21:47
King_ROFL



thx... das hab ich inzwischen verarbeitet ...
wenn ich jetzt meinen befehl in die konsole tippe erscheint die entity auch dort wo ich hinsehe... aber !! nur wenn ich den Aufruf der Precache() Funktion aus der Spawn Funktion meiner Entity raus nehme...
ich erhalte sonst den Host_Error:
"Precache can only be done in Spawn Functions" ( oder so ähnlich ) , was mir letztendlich nicht viel hilft...

--

zum Seitenanfang zum Seitenende Profil || Suche
012
17.04.2003, 22:39
Onkel Dittmeyer



Das Problem liegt darin, dass Entities immer in der W_Precache Funktion precached werden müssen. Bei Entities die in der BSP stehen, wird das automatisch von der Engine übernommen - bei Entities die zur Laufzeit gespawned werden, muss man das manuell noch in diese Funktion eintragen. Also in etwa so:Quellcode:void W_Precache(void)
{
   //...
   UTIL_PrecacheOther("deinentity");
   //...
}
Oder trag dein zu precachendes Zeug (Models, Sound etc.) gleich da rein als PRECACHE_MODEL("deinmodel") oso.

--

zum Seitenanfang zum Seitenende Profil || Suche
013
17.04.2003, 22:40
King_ROFL



thx... das müsste hinhauen

--

zum Seitenanfang zum Seitenende Profil || Suche