Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
24.11.2001, 09:48
Dreamscape



Zwei fehler sind in meiner minigun.cpp aufgetreten . Bei link enity to class . Hab alles probiert aber wenn ich was verändere kommen noch mehr fehler . Ich hab den code komplett selbst gemacht und nich von mp5 copy&paste . Hier is der code .

//Hier hab ich nartürlich als erstes die includes reingehauen

#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "weapons.h"
#include "nodes.h"
#include "player.h"
#include "gamerules.h"

enum minigun_e
{

minigun_idle1, //Ersma die ganzen animationen
minigun_idle2,
minigun_idle3,
minigun_fire1,
minigun_reload,
minigun_holster,
minigun_draw,

};

class CMinigun : public CBasePlayerWeapon
{
public:

void Spawn (void);
void Precache(void);
int iItemSlot(void) { return 1;}
int GetItemInfo(ItemInfo *p);
int AddToPlayer( CBasePlayer *pPlayer );

void PrimaryAttack( void );
BOOL Deploy(void);
void Holster(void);
void WeaponIdle(void);

}

LINK_ENTITY_TO_CLASS( WEAPON_MINIGUN, CMinigun );

void CMinigun ::Spawn(void)
{
Precache();
m_iId = WEAPON_MINIGUN;
SET_MODEL(ENT(pev), "models/w_minigun");
m_iClip = DEFAULT_AMMO;
FallInit();
}

void CMinigun ::Precache(void)
{
PRECACHE_MODEL("models/p_minigun.mdl");
PRECACHE_MODEL("models/v_minigun.mdl");
PRECACHE_MODEL("models/w_minigun.mdl");

PRECACHE_MODEL("models/w_miniammo.mdl");
PRECACHE_SOUND("models/mini1.wav");

}

int CMinigun ::GetItemInfo(ItemInfo *p)
{
p->pszName = STRING(pev->classname);
p->pszAmmo1 = "9mm";
p->iMaxAmmo1 = _9MM_MAX_CARRY;
p->pszAmmo2 = NULL;
p->iMaxAmmo2 = -1;
p->iMaxClip = MINIGUN_MAX_CLIP;
p->iSlot = 5;
p->iPosition = 4;
p->iId = WEAPON_MINIGUN;
p->iWeight = MINIGUN_WEIGHT;
return 1;
}

int CMinigun ::AddToPlayer( CBasePlayer *pPlayer )
{
if (CBasePlayerWeapon::AddToPlayer(pPlayer))
MESSAGE_BEGIN(MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev);
WRITE_BYTE(m_iId);
MESSAGE_END();
return TRUE;
}
return FALSE;
}

BOOL CMinigun ::Deploy (void)
{
return DefaultDeploy("v_minigun.mdl", "p_minigun.mdl", deploy, "minigun");
}

void CMinigun ::Holster(void)
{
m_pPlayer->m_flNextAttack = gpGlobals->time + 0.5;
SendWeaponAnim(holster)
}

void CMinigun ::WeaponIdle(void)
{
SendWeaponAnim(idle1)
}
void CMinigun ::PrimaryAttack(void)
{
if (m_pPlayer->pev->waterlevel == 3)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.01;
return;
}

if (m_iClip <= 0)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.01;
return;
}
}

// Mal sehen ob fehler auftreten
// Ja leider 2 stück : :\Half-Life\Worldcraft\edittools\FullSDKSource\Dlls\minigun.cpp(42) : error C2143: Syntaxfehler : Fehlendes ';' vor 'string'
// D:\Half-Life\Worldcraft\edittools\FullSDKSource\Dlls\minigun.cpp(42) : fatal error C1004: Unerwartetes Dateiende gefunden
// Hilfe Leute !!!!
// Hab ich da irgendwo was vergessen ? Muss da noch was hin ? HHHIIILLLFFFEEE !!!

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche
001
24.11.2001, 09:57
SRKarl



guck doch einfach mal in Zeile 42

Shadow Rangers - A Half-Life Modification with Skillsystem

--

Project: ..::Code: Bluedeath::..
Homepage: ::Crawler | Coding, Mapping und GFX - Tutorials::
Dark Angel || G E R M A N Y
Wer Rechtschreibfehler findet kann sie behalten!


Dieser Beitrag wurde am 24.11.2001 um 10:00 von SRKarl bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
24.11.2001, 10:44
Dreamscape



Ja was is da ????? Da hab ich ja tausend ma rumgefummelt , genau an der zeile !

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche
003
24.11.2001, 10:48
anothergb02



da ist deine Zeile 42 !
void CMinigun ::WeaponIdle(void)
{
SendWeaponAnim(idle1) und nu fehlt noch ein ";" !!!
}
also muesste das so aussehen

void CMinigun ::WeaponIdle(void)
{
SendWeaponAnim(idle1); !!!
}

guck deine Errormessage heißt:
Unerwartetes Dateiende gefunden (in Zeile 42) !!
also ist die nicht abgeschlossen und somit fehlt (irgend) ein Zeichen am Ende, wie es im diesem Falle ';' ist !

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
004
24.11.2001, 10:53
anothergb02



Ach ja und noch was ! Peace Bruder du scheinst nich gerade gut ausgelastet zu sein ! Net gleich immer so aggressiv, wir lebel alle in "Frieden" alls ist schoen die Welt ist ganz wunderlich wunderbar KifffFFfFF KifFff
PEACEPEACEPEACEPEACEPEACEPEACE

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
005
24.11.2001, 10:54
Archangel



void CMinigun ::Holster(void)
{
m_pPlayer->m_flNextAttack = gpGlobals->time + 0.5;
SendWeaponAnim(holster) <- hier muss ein semikolon hin!
}

void CMinigun ::WeaponIdle(void)
{
SendWeaponAnim(idle1) <- hier muss ein semikolon hin!
}

und:

p->pszAmmo1 = "9mm";

hmm, ob das so einfach geht... guck dir am besten mal die struct ItemInfo an, und schau, welchen typ pszAmmo1 hat, oder guck dirs nochmal bei ner anderen waffe an, was da steht

--

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
006
24.11.2001, 10:59
Dreamscape



Jo danke leute ich schau ob ichs hingrige . Gibs ne funtion die sagen kann das sich der lauf dreht bevor mann schießen kann , also typisch gattling gun halt . Kann ich das als idle 3 nehmen ?

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche
007
24.11.2001, 11:08
Dreamscape



Sorry aber das hilft alles nichts, das prob liegt in =====
LINK_ENTITY_TO_CLASS( WEAPON_MINIGUN, CMinigun );
Da sagt er mir n fehler . Da is auch bei mir zeile 42 .
Also bitte help .

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche
008
24.11.2001, 11:38
[GeF]Duke



Probier das mal weis net obs geht

#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "weapons.h"
#include "nodes.h"
#include "player.h"
#include "gamerules.h"

enum minigun_e
{

minigun_idle1, //Ersma die ganzen animationen
minigun_idle2,
minigun_idle3,
minigun_fire1,
minigun_reload,
minigun_deploy,
minigun_holster,
minigun_draw,

};

class CMinigun : public CBasePlayerWeapon
{
public:

void Spawn (void);
void Precache(void);
int iItemSlot(void) { return 1;}
int GetItemInfo(ItemInfo *p);
int AddToPlayer( CBasePlayer *pPlayer );

void PrimaryAttack( void );
BOOL Deploy(void);
void Holster(void);
void WeaponIdle(void);

};

LINK_ENTITY_TO_CLASS( WEAPON_MINIGUN, CMinigun );

void CMinigun ::Spawn(void)
{
Precache();
m_iId = WEAPON_MINIGUN;
SET_MODEL(ENT(pev), "models/w_minigun");
m_iClip = DEFAULT_AMMO;
FallInit();
}

void CMinigun ::Precache(void)
{
PRECACHE_MODEL("models/p_minigun.mdl");
PRECACHE_MODEL("models/v_minigun.mdl");
PRECACHE_MODEL("models/w_minigun.mdl");

PRECACHE_MODEL("models/w_miniammo.mdl");
PRECACHE_SOUND("models/mini1.wav");

}

int CMinigun ::GetItemInfo(ItemInfo *p)
{
p->pszName = STRING(pev->classname);
p->pszAmmo1 = "9mm";
p->iMaxAmmo1 = _9MM_MAX_CARRY;
p->pszAmmo2 = NULL;
p->iMaxAmmo2 = -1;
p->iMaxClip = MINIGUN_MAX_CLIP;
p->iSlot = 5;
p->iPosition = 4;
p->iId = WEAPON_MINIGUN;
p->iWeight = MINIGUN_WEIGHT;
return 1;
}

int CMinigun ::AddToPlayer( CBasePlayer *pPlayer )
{
if (CBasePlayerWeapon::AddToPlayer(pPlayer))
MESSAGE_BEGIN(MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev);
WRITE_BYTE(m_iId);
MESSAGE_END();
return TRUE;
}

BOOL CMinigun ::Deploy (void)
{
return DefaultDeploy("v_minigun.mdl", "p_minigun.mdl", minigun_deploy, "minigun");
}

void CMinigun ::Holster(void)
{
m_pPlayer->m_flNextAttack = gpGlobals->time + 0.5;
SendWeaponAnim(minigun_holster);
}

void CMinigun ::WeaponIdle(void)
{
SendWeaponAnim(minigun_idle1);
}
void CMinigun ::PrimaryAttack(void)
{
if (m_pPlayer->pev->waterlevel == 3)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.01;
return;
}

if (m_iClip <= 0)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.01;
return;
}
}

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^


Dieser Beitrag wurde am 24.11.2001 um 11:48 von [GeF]Duke bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
24.11.2001, 12:32
Another1



du musst
weapon_minigun und nich WEAPON_MINIGUN da rein packen
weil mit WEAPON_MINIGUN würde beim link entity dann sowas eingesetzt:
LINK_ENTITY_TO_CLASS(14,CMinigun);

--

Another1

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

zum Seitenanfang zum Seitenende Profil || Suche
010
25.11.2001, 11:35
anothergb02



jep ,außerdem hast du noch das abschließende Simikolon mal wieder nach deiner Klasse vergessen, also benutze am besten den code von [GeF]Duke
da er die anscheinent alle dazu gemacht hat (thx)
-> Ein Wunder das er ueberhaupt bis zu LINK_ENTITY_TO_CLASS compalieren kann :P OHH nein PEace ahh
Naja nimms net so ernst, mir passiert das auch ab und zu mal :(

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche
011
25.11.2001, 11:48
[GeF]Duke



mhhh
aber was das schönste ist ich hab bisher noch garkein C++ oder c gelernt
noch nichma ein Buch gelesen
Ich hab einfach was eingetippt
und vor einem Monat konnte ich auf einmal HL-Coden
Hagut wen interressiert das schon

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^

zum Seitenanfang zum Seitenende Profil || Suche
012
25.11.2001, 11:49
Dreamscape



kann es sein das ich gar keine schuss funktion habe ? Ohne fehler is jetzt alles compield aber wenn ich starte (hl) und die minigun wähle dann rüttelt er nur n bischen die animation ab , aber es kommt nich ein schuss raus geschweige denn geräusche . Ich hab zwar auch n mündungsfeuer noch eingebaut aber das sieht mann nich . Alles irgendwie kommisch . Hab ich da nur die hälft einer waffe zustehen ??

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche
013
25.11.2001, 11:56
[GeF]Duke



warte ich guck ma nach
und ich denke es liegt an der PrimaryAttack() funktion glaub ich

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^


Dieser Beitrag wurde am 25.11.2001 um 12:08 von [GeF]Duke bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
014
25.11.2001, 12:03
[GeF]Duke



vieleicht gehts hiermit

void CMinigun ::PrimaryAttack(void)
{
// don't fire underwater
if (m_pPlayer->pev->waterlevel == 3)
{
PlayEmptySound( );
m_flNextPrimaryAttack = gpGlobals->time + 0.15;
return;
}

if (m_iClip <= 0)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->time + 0.15;
return;
}

m_pPlayer->m_iWeaponVolume = NORMAL_GUN_VOLUME;
m_pPlayer->m_iWeaponFlash = NORMAL_GUN_FLASH;

m_iClip--;

// player "shoot" animation
m_pPlayer->SetAnimation( PLAYER_ATTACK1 );

Vector vecSrc = m_pPlayer->GetGunPosition( );
Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

if ( g_pGameRules->IsDeathmatch() )
{
// optimized multiplayer. Widened to make it easier to hit a moving player
m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_6DEGREES, 8192, BULLET_PLAYER_MP5, 2 );
}
else
{
// single player spread
m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_3DEGREES, 8192, BULLET_PLAYER_MP5, 2 );
}

if (!m_iClip && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0)
// HEV suit - indicate out of ammo condition
m_pPlayer->SetSuitUpdate("!HEV_AMO0", FALSE, 0);

m_flNextPrimaryAttack = m_flNextPrimaryAttack + 0.1;
if (m_flNextPrimaryAttack < gpGlobals->time)
m_flNextPrimaryAttack = gpGlobals->time + 0.1;

m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 );
}
----------------------------------------------------------------------------------------------Kannsten ja noch verändern-----------------------------

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^


Dieser Beitrag wurde am 25.11.2001 um 12:07 von [GeF]Duke bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
015
25.11.2001, 12:10
[GeF]Duke



hab glaubich noch ne komiche sache
mach das mal so
void CMinigun::Spawn( )
{
pev->classname = MAKE_STRING("WEAPON_MINIGUN");
Precache( );
SET_MODEL(ENT(pev), "models/w_minigun");
m_iId = WEAPON_MINIGUN;
m_iDefaultAmmo = MINIGUN_DEFAULT_GIVE;
FallInit();
}

--

llllllll»NewbZ«llllllll
----»HL-Hellsing-Mod «----
Wir suchen noch members ^_^


Dieser Beitrag wurde am 25.11.2001 um 12:13 von [GeF]Duke bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
016
27.11.2001, 15:07
[GOD]ShadowLord



"Gibs ne funtion die sagen kann das sich der lauf
dreht bevor mann schießen kann , also typisch gattling gun halt.
Kann ich das als idle 3 nehmen ?"

also,folgendes:
1.neue variable definieren,sagen wir mal float m_flRotate;

2.die primaryattack() benennst du in fire() um.

3.die neue primaryattack setzt rotate += 1. wenn rotate einen bestimmten
wert erreicht hat(20 oder so),führt er fire aus.
so,wichtig ist,dass er rotate nicht grösser als den zum feuern
benötigten wert werden lässt.
NextPrimaryAttack setzt du anstatt in der fire() ganz unten in der
PrimaryAttack();

4.wenn du willst,kannst du in der primaryattack() auch noch die
dreh-animationen abhängig von der momentanen drehgeschwindigkeit
abspielen.

5.mach ne think-funktion,die auch alle 0.1 sekunden ausgeführt wird
(= feuerrate der waffe),die rotate -= 0.2 oder so macht.
natürlich musst du 'ne if einbauen,damit er rotate nicht kleiner 0
werden lässt.
diese think lässt du in der Deploy() starten.

damit hast du ne minigun,die sich bei gedrückt gehaltener feuertaste immer
schneller dreht,bei erreichen einer bestimmten drehgeschwindigkeit feuert
und damit erst wieder aufhört,wenn du die feuertaste loslässt.
dann dreht sie sich immer langsamer,bis sie wieder stoppt.

--

they come in peace - and go in pieces

zum Seitenanfang zum Seitenende Profil || Suche
017
28.11.2001, 14:58
Dreamscape



Jo danke leute ihr seid die besten , danke ohne leute wie euch würd ich heute wahrscheinlich noch nich ma c++ starten können :) , also danke cya m8s .

Splitta

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche