Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
18.11.2002, 09:31
King of Darkness



hier erstmal die fgd und der code:

@SolidClass = buy_zone : "Buy Zone"
[
name(string) : "Name"
team(integer) : "Team 1=Diebe, 2=Wachen"

// team(choices) : "Team" : 1 =
// [
// 1 : "Diebe"
// 2 : "Wachen"
// ]
]

class CBuyZone : public CBaseToggle
{
public:
void Spawn();
void Precache();
void KeyValue( KeyValueData *pkvd );

void EXPORT BuyThink();

int iName, iTeam;
// BOOL bInBuyZone; //in Player Klasse
char buffer[10]; // für debug...

};

LINK_ENTITY_TO_CLASS(buy_zone, CBuyZone);

void CBuyZone::KeyValue( KeyValueData *pkvd )
{
if(FStrEq(pkvd->szKeyName, "name"))
{
iName = ALLOC_STRING(pkvd->szValue);
pkvd->fHandled = TRUE;
}
else if(FStrEq(pkvd->szKeyName, "team"))
{
iTeam = atoi( pkvd->szValue );
pkvd->fHandled = TRUE;
}
else
{
CBaseToggle::KeyValue( pkvd );
}
}

void CBuyZone::Spawn()
{
Precache();

pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_FLY;
pev->effects = EF_NODRAW;

UTIL_SetOrigin(pev, pev->origin);
UTIL_SetSize(pev, pev->mins, pev->maxs);
SET_MODEL(ENT(pev),STRING(pev->model));
pev->frame = 0;
pev->nextthink = gpGlobals->time + 0.1;

SetThink(BuyThink);

}

void CBuyZone::Precache()
{
//keine sounds oder sonstiges zeug...
}

void CBuyZone::BuyThink()
{
CBaseEntity *pPlayer = NULL;

for ( int i = 1; i <= gpGlobals->maxClients; i++ )
{
pPlayer = UTIL_PlayerByIndex( i );
if ( pPlayer )
{
TraceResult trace;
int hullNumber;

hullNumber = human_hull;
if ( pPlayer->pev->flags & FL_DUCKING )
{
hullNumber = head_hull;
}

UTIL_TraceModel( pPlayer->pev->origin, pPlayer->pev->origin, hullNumber, edict(), &trace );

CBasePlayer *Player = (CBasePlayer *)pPlayer;
if ( trace.fStartSolid )
{

if(iTeam == Player->TeamNummer) // Diebe, da muss iTeam = 1 sein
{
ClientPrint(Player->pev, HUD_PRINTCENTER, "Hier kannst du einkaufen !"); //solange bis ein logo da ist
Player->bInBuyZone = TRUE;
}
else if(iTeam == Player->TeamNummer) //Wachen, da muss iTeam = 2 sein
{
ClientPrint(Player->pev, HUD_PRINTCENTER, "Hier kannst du einkaufen !"); //solange bis ein logo da ist
Player->bInBuyZone = TRUE;
}
else
{
_itoa(iTeam, buffer, 10);
ClientPrint(Player->pev, HUD_PRINTCENTER, buffer/*"Du darfst hier nix kaufen !!!"*/);
Player->bInBuyZone = FALSE;
}
}
else
{
Player->bInBuyZone = FALSE;
}
}
}
pev->nextthink = gpGlobals->time + 0.1;
}

so mein problem ist das wenn ich ausgeben will für welches team die zone ist, schreibt er mit "0" obwohl es 1 oder 2 sein muss (teams) ich denke mal das das stück code recht verständlich ist ... aber trotzdem verstehe ich nicht wieso der mir was falschs ausgibt ... naja von demher geht auch die buyzone nicht

und nun hoffe ich auf euch ihr göttlichen HL coder :D

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
001
18.11.2002, 15:49
King of Darkness



ich will ja nich nervern aber da brauche ich echt nen rat von nem profi ;)

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
002
18.11.2002, 23:44
Rockefeller



Gabs das nicht schonmal? team ist ne vordefinierte Variable von den entvars_t, deshalb funzt das nicht.
Nenn es "teamid" oder sonstwie, nur nicht einfach nur "team".

--

zum Seitenanfang zum Seitenende Profil || Suche
003
19.11.2002, 09:02
King of Darkness



wo meinst ? in der fgd ? da is es doch recht egal und im code habe ich das ganze iTeam genannt ...

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
004
19.11.2002, 13:37
Rockefeller



Ja natürlich in der fgd, wo denn sonst? Woanders kommt "team" überhaupt nicht vor...
Und natürlich ist es nicht egal, wie es in der fgd heißt.

--

zum Seitenanfang zum Seitenende Profil || Suche
005
20.11.2002, 07:46
King of Darkness



Zitat:
Rockefeller postete
Gabs das nicht schonmal? team ist ne vordefinierte Variable von den entvars_t, deshalb funzt das nicht.
Nenn es "teamid" oder sonstwie, nur nicht einfach nur "team".

und was soll diese antwort ? (ohne es böse zu meinen)

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
006
20.11.2002, 15:54
Rockefeller



"Gabs das nicht schonmal?":
dezenter Hinweis auf die Suchfunktion

"team ist ne vordefinierte Variable von den entvars_t, deshalb funzt das nicht.":
Wenn in der Entity ein KeyValue gefunden wird, der "team", "model" oder so heißt (also der eine Eigenschaft von den entvars_t ist), wir dieser automatisch nach pev->Eigenschaft geschrieben.
Siehe auch EntvarsKeyvalue() in util.cpp

Also (und nochmal sage ichs nicht): Nenne deinen KeyValue nicht "team", sondern z.B. "teamid".
Oder frage alternativ pev->team ab.

--


Dieser Beitrag wurde am 20.11.2002 um 15:54 von Rockefeller bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
20.11.2002, 16:09
King of Darkness



ahja jetz hab ich verstanden ... die erste erklärung war nich so ...

probier ich dann mal aus und wenns net geht dreh ich ab ;) :D

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
008
21.11.2002, 07:44
King of Darkness



oh ich danke dir du göttlicher HL coder ;)
es geht

vielen vielen dank

--

Coding Center --- Tutorials über Programmierung und andere Themen
Amazon Preisbeobachung mit Preisalarm

zum Seitenanfang zum Seitenende Profil || Suche
009
21.11.2002, 11:50
Rockefeller



Bidde schön :)

--

zum Seitenanfang zum Seitenende Profil || Suche