Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
14.08.2001, 21:26
thinktank



Wie macht man eine Karte, auf der angezeigt wird, wo man ist ? Geht das überhaupt ?Wo befindet sich dann der player-sprite ? Um pev->origin.x und pev->origin.y zu nehmen, müsste doch der Kartensprite vollkommen deckungsgleich sein, oder ?

--

zum Seitenanfang zum Seitenende Profil || Suche
001
14.08.2001, 21:33
Retro



Jo... ich weis zwar das ich dir damit nicht Helfe aber trotzdem:

Das würde mich auch mal Intressieren, einige Mods scheinen sowas zu haben, also dürfte es machbar sein. Erstmal bräuchste man ja nen Sprite von der Map, der einfach auf dem HUD plaziert wird, und dann muss noch nen Sprite (rotes X für den Player [z.B.]) auf dem anderen (Map-)Sprite gelegt werden...

Bisher ja noch ok, aber ich verzweifele alleine schon an dem Gedanken, wie ich rauskrigen soll, wo sich der Player auf der Map gefindet, und das dann auf dem Sprite um zu rechnen.

Is mal ne intressante Sache!

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
002
14.08.2001, 21:39
Bearcat



Ich weiß nicht, wie das geht, sorry leute,
aber, kann man nicht den Koordinatenursprung
einer Karte irgendwie ansprechen? (-> siehe
mein LaserpointerProblem)
dann könnte man doch die Position des Players
im Verhältnis zum Koordinatenursprung ausrechnen
und dann auf den Sprite übertragen.
((Sorry, falls das nicht möglich sein sollte oder
ich Stuß erzähl))

--

zum Seitenanfang zum Seitenende Profil || Suche
003
14.08.2001, 22:00
thinktank



Das ginge schon aber der Sprite müsste halt deckungsgleich zur Karte sein, und zwar ziemlich, also der origin der Karte * Verhältnis müsste der origin vom Sprite werden, oder ? =/

--

zum Seitenanfang zum Seitenende Profil || Suche
004
14.08.2001, 23:25
RirA



wird die position des spielers nicht sogar in der console gezeigt?

--

zum Seitenanfang zum Seitenende Profil || Suche
005
15.08.2001, 12:39
Metew



sowas könnte man in ne sprite umwandeln

--

SWCOOPFORCE-TEAM

NEUE HOMEPAGE/SCREENS: SWCOOPFORCE-MOD | Helft mit für Legalisierung!

zum Seitenanfang zum Seitenende Profil || Suche
006
15.08.2001, 13:58
thinktank



ja , schon, dann bräuchte man nur noch den Maßstab ;-)

--

zum Seitenanfang zum Seitenende Profil || Suche
007
15.08.2001, 14:34
Diablo_bth



Ich habe so eine Minikarte bereits in meinem Mod eingebaut *angeb*
( weil ich dieses CS-Radar nicht nachmachen wollte und es doof finde! )
Hier sind wei Bilder wei das bei mir aussieht:

Der Nachteil:
Man muss wegen des Maßstabs zwei Sprites machen mit 128x128 und 256x256
( bei mir 320Kartenname.spr & 640Kartenname.spr )
Die Sprites kann man prima mit Worldcr. Screenshots ( "Druck"-Tasten und in Paint einfügen ) machen

da das ganze ein bisschen komplizierter ist, würde ich ein Totourial schreiben.
Kann mir da jemand sagen an wen ich mich wenden muss ( ich kann leider kaum html )

--

zum Seitenanfang zum Seitenende Profil || Suche
008
15.08.2001, 15:27
The_Overmind



Ich würde mal sagen du könntest dich an TTT wenden, an Masterstroke oder an TheVoice!
Find ich nett das du ein Tutorial dazu machen willst ;)
Kannst das sicherlich im TXT Format machen und dann an einen der drei oben genannten Leutz schicken. Die werden sich dem sicherlich schon annehmen :)

--

zum Seitenanfang zum Seitenende Profil || Suche
009
15.08.2001, 17:12
Retro



Da ich auch riesiges Intresse an dem Tutorial habe, könnte ich dir auch nen bisller Weiterhelfen, wenn du willst!

Am besten du schreibst das ding in Word, und naja, kann dich ja mal in icq melden! :)

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
010
15.08.2001, 19:28
thinktank



Das mit dem Maßstab versteh ich jetzt selbst nich mehr ;-)
Hmmmm man müsste einen Referenzpunkt haben, also ein
Mapinfo-Entity, von dem man die genaue position (den origin) auf Sprite als Pixel kennt. So müsste es auch gehen, aber mit viel mehr Aufwand .......
Ich will das Tut auch haben :-) !!
Kannst du wenigstens andeuten, wies geht ?
Bitte .... =)

[edit]
Wo wir gerade bei deinem Mod sind, wie
rechnet man die Units in Meter um ?
[/edit]

--


Dieser Beitrag wurde am 15.08.2001 um 19:31 von thinktank bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
011
15.08.2001, 20:01
Diablo_bth



An alle:
Ich habe mir fest vorgenomme das tut heute zu schreiben , kann aber nicht versprechen!

@thinktank:
Ich glaube du hast da was falsch verstanden! Ich lasse die Playercoordinaaten ( pev->origin.x, y [MAX +/-4096]) an die Cl_Dll senden,
teile sie aber zuvor durch 32 teilen:
Quellcode:
WRITE_BYTE( 128+(short)( pev->origin[0]/32 ) ); // x
WRITE_BYTE( 128-(short)( pev->origin[1]/32 ) ); // y

Nun hat man die coordinaaten ( +/-128 ), also passend für das 256-er Sprite der Karte. Die Cl_Dll entscheidet nun ( anhand der Auflsung ) ob sie diesen Wert nochal durch zwei teilt ( für den 128-er Sprite ).
[ natürlich entechidet Sie auch ob jetzt der 256er oder der 128er Sprite geladen wird ]
nun wird ein kleiner Sprite mit diesen Koordinaaten mit der Minikarte in der Draw() - Funktion überladen!

--

zum Seitenanfang zum Seitenende Profil || Suche
012
15.08.2001, 20:12
The_Overmind



Hmmmm
ein genialer Ansatz!!!
Ich bin schon ziemlich gespannt auf dein Tut :))

kleine Bitte: lad das Tut bitte im Doc Format aufen WebSpace, dann kann man das gleich sich runterladen und muss nicht erst warten bis einer der drei DHCC Leutz das hochladen ;))

MfG
[-XHP-]The Overmind

--

zum Seitenanfang zum Seitenende Profil || Suche
013
16.08.2001, 11:07
Diablo_bth



Also ich habe das Tut jetzt fertig!!

also:
Hier ist das Word - doc

Hier gibts das Sprite - Packet

Was ich im Tut in Wc - zu erklären versuche meine ich so:

ich schick das heute noch ans dhcc - vielleicht wollen die es ja aufnehmen :-D

P.S.: Wenn ihr einen Fehler entdeckt, bitte einen mail an mich! ( aber bitte überschüttet mich nicht mit Fargen wenn ich C++ Nubs seid!! )

--

zum Seitenanfang zum Seitenende Profil || Suche
014
16.08.2001, 13:32
TheVoice



Zitat:

kleine Bitte: lad das Tut bitte im Doc Format aufen WebSpace, dann kann man das gleich sich runterladen und muss nicht erst warten bis einer der drei DHCC Leutz das hochladen ;))

:) Schick's mir und es ist in spätestens 2 1/2 h auf'm DHCC zu haben :D

Kleine Frage... gibt es keine Möglichkeit die Playerkoordinaten direkt vom Client aus abzufragen ? Ich denke schon args->origin oder sowas ?

--

Against TCPA | Resourcecode.de | Blender 3D | [ Darkzone | Pandorra | Alpine ]

zum Seitenanfang zum Seitenende Profil || Suche
015
16.08.2001, 13:36
The_Overmind



jeppa
Das wird doch auch immer in den Waffenevents benutzt

Nur: wie kriegt man die Koordinaten der Teammitglieder Client-side raus ??

BTW: das Tut kannste dir doch runterladen Voice
Muss er dir nit mehr schicken ;))

--

zum Seitenanfang zum Seitenende Profil || Suche
016
16.08.2001, 13:57
TheVoice



uuups :D Ok lade es runter...

Zitat:

Nur: wie kriegt man die Koordinaten der Teammitglieder Client-side raus ??

Das geht allein mit der cldll nicht. Die CLDLL verarbeitet nur die Daten des lokalen Spielers, nicht die, der anderen Spieler auf dem server (das macht dann die mp.dll)

da hilft dann wirklich nur noch ne Message...

aber ich denke man muss die Anderen Leutz ja nicht unbedingt auf der Karte anzeigen, wenn sie nur zur besseren orientierung beitragen soll

--

Against TCPA | Resourcecode.de | Blender 3D | [ Darkzone | Pandorra | Alpine ]


Dieser Beitrag wurde am 16.08.2001 um 13:58 von TheVoice bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
017
16.08.2001, 14:28
EliteCounter



Man der erste Screen sieht ja fett aus. Sag mal wie haste das mit den Zahlen oben gemacht. Sind das die Waffenslots?

--

www.codingplanet.de
www.itn-clan.de.vu

EliteCounter@gmx.de <---TUTORIALS SCHICKEN,WEGEN MEGA TUTORIAL PACKET!!!!(es können auch alte OpenSources sein, eben alls was ihr habt!!!!)

Was wäre wenn???

zum Seitenanfang zum Seitenende Profil || Suche
018
16.08.2001, 14:41
Another1



Zitat:

Zitat:

Nur: wie kriegt man die Koordinaten der Teammitglieder Client-side raus ??

--------------------------------------------------------------------------------


Das geht allein mit der cldll nicht. Die CLDLL verarbeitet nur die Daten des lokalen Spielers, nicht die, der anderen Spieler auf dem server (das macht dann die mp.dll)

löl, und wie "malt" die clientside dann bitte die player, wenn sie nichmal weiß wo sie sich befinden, imho man kriegt die coordinaten und vieles mehr der spieler so:

cl_entity_s* pPlayer = gEngfuncs.GetEntity(playerIndex);
if(pPlayer)
{
pPlayer->origin, pPlayer->angles .. etc
}

// man kriegt alles, rendermode etc, also alles was man auch auf dem bildschirm "sieht" kann man clientside aubfragen

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
019
16.08.2001, 14:55
Diablo_bth



@EliteCounter:
Diese Zahlen sind kleine Spielereien in meinem Multiplayer-Modus, in welchem man sich in einen Sectorenkampf begibt! ( in der Minikarte sieht man bei zusätzlcih die Sectoren und wem sie gehören! [an der Farbe]). Unser Mod hat auch nen Sp!! Eine veröffentlichung sollte demnächst stattfinden, aber wir könnten noch nen sounder und oder nen Modeler gebrauchen!

eure Fragen bezüglich der Teammates und deren Position sollten eingentlich mit diesem Stück in meinem Tut geklärt sein! ( die Client.dll von JEDERAMANN speichert die übergebenen Posittionen in einem Vector!!!

Quellcode:
// Playerposition von Nöten?
if( g_pGameRules->IsDeathmatch() ) // hier die Logig für euch anpassen!!
{
//wenn nur ein 128er Kertensprite verw. wird erlidgt dass der Empfang (CL_DLL) ]
MESSAGE_BEGIN( MSG_ONE, gmsgUpdatePlPos, NULL, pev );

// die eigene Position:
WRITE_BYTE( 128+(short)( pev->origin[0]/32 ) ); // x
WRITE_BYTE( 128-(short)( pev->origin[1]/32 ) ); // y

//hier noch die Position anderen Spieler:
for ( int i=1 ; i<=gpGlobals->maxClients ; i++ )
{
CBasePlayer *plr = (CBasePlayer *)UTIL_PlayerByIndex( i );

if ( plr != this )
{
// Hinweis: Im TDM-Modus wrden hier nur die
// Teammates angezeigt, aber dafür alle in DM
// Hier die Logig anpassen!!
if( g_pGameRules->IsTeamplay()  &&
g_pGameRules->PlayerRelationship( this, plr ) != GR_TEAMMATE )
{
WRITE_BYTE( 0 ); // ne, ne, nee...
continue;
}


WRITE_BYTE( 1 ); // Player darf angezeigt werden

WRITE_BYTE(128+(short)(plr->pev->origin[0]/32 ));//x
WRITE_BYTE(128-(short)(plr->pev->origin[1]/32 ));//y

}
else
WRITE_BYTE( 0 ); // nix da
}
WRITE_BYTE( -1 ); // Ende!

MESSAGE_END();
}

--


Dieser Beitrag wurde am 16.08.2001 um 14:59 von Diablo_bth bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
020
16.08.2001, 15:08
EliteCounter



Geht bei mir nicht, stürzt imma ab, ;((((((

--

www.codingplanet.de
www.itn-clan.de.vu

EliteCounter@gmx.de <---TUTORIALS SCHICKEN,WEGEN MEGA TUTORIAL PACKET!!!!(es können auch alte OpenSources sein, eben alls was ihr habt!!!!)

Was wäre wenn???


Dieser Beitrag wurde am 16.08.2001 um 15:23 von EliteCounter bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
021
16.08.2001, 15:10
Retro



Das Tutorial is gut!
Leider geht es nicht... *hmpf*

Hab 'schnell' alles gemacht (extra noch nichts verändert) und wenn ich nen SP starte (die minimap deaktiviert ist) passiert garnichts, und ich kann spielen.

Wenn ich allerdings nen Multiplayer starte, dann geht Half-Life auf einmal aus und ich sitz wieder auf dem Desktop...

Ist alles genau nach Tutorial (sehr gut geschrieben), aber es geht nicht.
Client und MP Teil nochmal durch geguckt, aber ich habe alles streng nach Tut gemacht, noch nischt verändert...

Das schreit nach nem Fehler! ;P
Bevor du fragst: Ja, ich habe beide DLL's kopiert... Und es sind beim kompilieren keine Fehler/Warnungen aufgetreten.

P.S.: Egal ob ich eine Map nehme für die besagter Sprite existiert oder nicht, er stürzt ab.

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */


Dieser Beitrag wurde am 16.08.2001 um 15:25 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
022
16.08.2001, 15:19
EliteCounter



Geht immmre noch nicht ;((((((((

--

www.codingplanet.de
www.itn-clan.de.vu

EliteCounter@gmx.de <---TUTORIALS SCHICKEN,WEGEN MEGA TUTORIAL PACKET!!!!(es können auch alte OpenSources sein, eben alls was ihr habt!!!!)

Was wäre wenn???


Dieser Beitrag wurde am 16.08.2001 um 15:25 von EliteCounter bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
023
16.08.2001, 15:26
Retro



*g* Ja muss man, aber wenn es bei dir auch abstürzt haben wir bestimmt nichts falsch gemacht! =)

Böser Diablo, böse böse böse! ;D

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
024
16.08.2001, 17:44
EliteCounter



stimmt, vielleicht hat daiblo etwas vergessen? Keine Ahnung, bitte hilf uns ich will auch sowas geiles!!!!

--

www.codingplanet.de
www.itn-clan.de.vu

EliteCounter@gmx.de <---TUTORIALS SCHICKEN,WEGEN MEGA TUTORIAL PACKET!!!!(es können auch alte OpenSources sein, eben alls was ihr habt!!!!)

Was wäre wenn???

zum Seitenanfang zum Seitenende Profil || Suche