Наше комьюнити:   OpenGL Shader Lab  •  Half-Life FX  •  Форум  
HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Помогите с Дисплейсером. Ошибка в классе
weapon_displacer
Страницы (3): [1] 2 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



Помогите с Дисплейсером. Ошибка в классе

Скачал в инете код Displacer'a. С серверной частью всё скомпилилось нормально. На клиентсвой возникли траблы:

code:
..\cl_dll\hl\hl_weapons.cpp(69) : error C2146: syntax error : missing ';' before identifier 'g_Displace' ..\cl_dll\hlhl_weapons.cpp(69) : error C2501: 'Displace' : missing storage-class or type specifiers ..\cl_dll\hl\hl_weapons.cpp(69) : fatal error C1004: unexpected end of file found


Ругается на:

C++ Source Code:
СDisplace g_Displace;


Пробывал все варианты добавления в конце к дисплеёеру буквы "r", но не помогло.

Код Дисплейсера:

C++ Source Code:

/***
*
*   Copyright © 2004
*   Code by Shambler Team.
*   Op4-realm modify by Demiurge.
*   All rights reserved.
*   
****/



/*
//=========================================================
//
//    CODE PART FOR CLIENT SIDE
//
//======================
//      DISPLACER START
//======================
enum displacer_e
{
    DISPLACER_IDLE1,
    DISPLACER_IDLE2,
    DISPLACER_SPINUP,
    DISPLACER_SPIN,
    DISPLACER_FIRE,
    DISPLACER_DRAW,
    DISPLACER_HOLSTER,
};
void EV_SpinDisplacer(event_args_t *args)//Original code idea by Xwider
{
    if (EV_IsLocal(args->entindex))
    {
        gEngfuncs.pEventAPI->EV_WeaponAnimation(DISPLACER_SPINUP, 2);
        cl_entity_t *view = gEngfuncs.GetViewModel();
        if (view != NULL)
        {
            float life = 1.14;
            
            gEngfuncs.pEfxAPI->R_BeamEnts(view->index | 0x2000, view->index | 0x1000, args->iparam2, life, 0.5, 0.5, 0.5, 0.6, 0, 10, 2, 10, 0);
            gEngfuncs.pEfxAPI->R_BeamEnts(view->index | 0x3000, view->index | 0x1000, args->iparam2, life, 0.5, 0.5, 0.5, 0.6, 0, 10, 2, 10, 0);
            gEngfuncs.pEfxAPI->R_BeamEnts(view->index | 0x4000, view->index | 0x1000, args->iparam2, life, 0.5, 0.5, 0.5, 0.6, 0, 10, 2, 10, 0);
        }
    }
    
    if (args->bparam2 == 0)// sound mode
        gEngfuncs.pEventAPI->EV_PlaySound(args->entindex, args->origin, CHAN_WEAPON, "weapons/displacer_spin.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
    else
        gEngfuncs.pEventAPI->EV_PlaySound(args->entindex, args->origin, CHAN_WEAPON, "weapons/displacer_spin2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
    
}
//======================
//       DISPLACER END
//======================
*/


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

#define    SF_DISP_MODE    128 //G-Cont. use for makes alternative displacer - debug features

enum displacer_e
{
    DISPLACER_IDLE1,
    DISPLACER_IDLE2,
    DISPLACER_SPINUP,
    DISPLACER_SPIN,
    DISPLACER_FIRE,
    DISPLACER_DRAW,
    DISPLACER_HOLSTER,
};

class CDisplacer : public CBasePlayerWeapon
{
public:
    void Spawn( void );
    void Precache( void );
int iItemSlot( void ) { return 6; }
int GetItemInfo(ItemInfo *p);
int AddToPlayer( CBasePlayer *pPlayer );

BOOL Deploy( void );
void Holster( int skiplocal = 0 );

void PrimaryAttack( void );
void SecondaryAttack (void);
void EXPORT SpinUp( void );
//  void EXPORT Spin( void );
void EXPORT Teleport( void );
void EXPORT Fire( void );
void WeaponIdle( void );

int m_iAttackMode;//no need save/restore this
private:
unsigned short m_usDisplacer;
int m_iBeam;
int m_iPlace;
};

LINK_ENTITY_TO_CLASS( weapon_displacer, CDisplacer );

LINK_ENTITY_TO_CLASS( info_xen, CPointEntity );
LINK_ENTITY_TO_CLASS( info_earth, CPointEntity );

// displacer teleball code

class CDispBall : public CBaseEntity//Special for Ghoul [BB]
{
public:
    void Spawn( void );
    void Precache( void );
    void Explode( TraceResult *pTrace );
    void RemoveBall (void);
    void EXPORT ExplodeTouch( CBaseEntity *pOther );
    
    void EXPORT BallThink( void );
    static CDispBall *CreateDispBall( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner, CDisplacer *pLauncher );
    
    int m_iDispRing;
    BOOL LockRing;
};

LINK_ENTITY_TO_CLASS( dispball, CDispBall );

CDispBall *CDispBall::CreateDispBall( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner, CDisplacer *pLauncher )
{
    CDispBall *pDispBall = GetClassPtr( (CDispBall *)NULL );
    
    UTIL_SetOrigin( pDispBall->pev, vecOrigin );
    pDispBall->pev->angles = vecAngles;
    pDispBall->Spawn();
    pDispBall->SetTouch( CDispBall::ExplodeTouch );
    pDispBall->pev->owner = pOwner->edict();
    
    return pDispBall;
}

void CDispBall :: Spawn( void )
{
    Precache( );
    pev->movetype = MOVETYPE_FLY;
    pev->solid = SOLID_BBOX;
    
    SET_MODEL(ENT(pev), "sprites/exit1.spr");
    pev->scale = .5;
    
    UTIL_SetSize(pev, Vector ( 0, 0, 0 ), Vector ( 0, 0, 0 ) );
    UTIL_SetOrigin( pev, pev->origin );
    pev->rendermode = kRenderTransAdd;
    pev->renderamt = 255;
    
    pev->classname = MAKE_STRING("dispball");
    
    SetThink( BallThink );
    SetTouch( ExplodeTouch );
    
    pev->angles.x -= 0;
    UTIL_MakeVectors( pev->angles );
    pev->angles.x = -(pev->angles.x + 0);
    pev->velocity = gpGlobals->v_forward * 500;
    pev->nextthink = 0.5;
    
    pev->dmg = 1000;
}

void CDispBall :: Precache( void )
{
    PRECACHE_MODEL("sprites/exit1.spr");
    PRECACHE_MODEL ("sprites/plasma.spr");
    
    PRECACHE_SOUND("weapons/displacer_teleport.wav");
    m_iDispRing = PRECACHE_MODEL ("sprites/disp_ring.spr");
}

void CDispBall :: BallThink( void )
{
    CBeam *pBeam;
    TraceResult tr;
    Vector vecDest;
    float flDist = 1.0;
    
    for (int i = 0; i < 10; i++)
    {
        Vector vecDir = Vector( RANDOM_FLOAT( -1.0, 1.0 ), RANDOM_FLOAT( -1.0, 1.0 ),RANDOM_FLOAT( -1.0, 1.0 ) );
        vecDir = vecDir.Normalize();
        TraceResult tr1;
        UTIL_TraceLine( pev->origin, pev->origin + vecDir * 1024, ignore_monsters, ENT(pev), &tr1 );
        if (flDist > tr1.flFraction)
        {
            tr = tr1;
            flDist = tr.flFraction;
        }
    }
    
    if ( flDist == 1.0 ) return;
        
    pBeam = CBeam::BeamCreate("sprites/plasma.spr",200);
    pBeam-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ointEntInit( tr.vecEndPos, entindex() );
    pBeam->SetStartPos( tr.vecEndPos );
    pBeam->SetEndEntity( entindex() );
    pBeam->SetColor( 90, 170, 16 );
    pBeam->SetNoise( 65 );
    pBeam->SetBrightness( 255 );
    pBeam->SetWidth( 30 );
    pBeam->SetScrollRate( 35 );
    pBeam->LiveForTime( 1 );
    
    pev->frame += 1; //animate teleball
    if(pev->frame > 24)
        pev->frame = fmod( pev->frame, 24 );
    
    pev->nextthink = gpGlobals->time + 0.1;
}

void CDispBall::ExplodeTouch( CBaseEntity *pOther )
{
    TraceResult tr;
    Vector    vecSpot;// trace starts here!
    
    pev->enemy = pOther->edict();
    
    vecSpot = pev->origin - pev->velocity.Normalize() * 32;
    UTIL_TraceLine( vecSpot, vecSpot + pev->velocity.Normalize() * 64, dont_ignore_monsters, ENT(pev), &tr );
    
    Explode( &tr );
}

void CDispBall::Explode( TraceResult *pTrace )
{
    if(!LockRing)//for partially fix strange bug in HL engine (for full fix teleball MUST be moved to client side). g-cont
    {
        MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
        WRITE_BYTE( TE_BEAMCYLINDER );
        WRITE_COORD( pev->origin.x);
        WRITE_COORD( pev->origin.y);
        WRITE_COORD( pev->origin.z);
        WRITE_COORD( pev->origin.x);
        WRITE_COORD( pev->origin.y);
        WRITE_COORD( pev->origin.z + 800);
        WRITE_SHORT( m_iDispRing );
        WRITE_BYTE( 0 ); // startframe
        WRITE_BYTE( 10 ); // framerate
        WRITE_BYTE( 3 ); // life
        WRITE_BYTE( 20 );  // width
        WRITE_BYTE( 0 );   // noise
        WRITE_BYTE( 255 );   // r, g, b
        WRITE_BYTE( 255 );   // r, g, b
        WRITE_BYTE( 255 );   // r, g, b
        WRITE_BYTE( 255 ); //brightness
        WRITE_BYTE( 0 );// speed
        MESSAGE_END();
        
        MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );
        WRITE_BYTE(TE_DLIGHT);
        WRITE_COORD(pev->origin.x);// X
        WRITE_COORD(pev->origin.y);// Y
        WRITE_COORD(pev->origin.z);// Z
        WRITE_BYTE( 8 );// radius * 0.1
        WRITE_BYTE( 243 );// r
        WRITE_BYTE( 231 );// g
        WRITE_BYTE( 16 );// b
        WRITE_BYTE( 20 );// time * 10
        WRITE_BYTE( 0 );// decay * 0.1
        MESSAGE_END( );
        
        MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );
        WRITE_BYTE(TE_DLIGHT);
        WRITE_COORD(pev->origin.x);// X
        WRITE_COORD(pev->origin.y);// Y
        WRITE_COORD(pev->origin.z);// Z
        WRITE_BYTE( 4 );// radius * 0.1
        WRITE_BYTE( 240 );// r
        WRITE_BYTE( 140 );// g
        WRITE_BYTE( 12 );// b
        WRITE_BYTE( 20 );// time * 10
        WRITE_BYTE( 0 );// decay * 0.1
        MESSAGE_END( );
    }
    
    LockRing = TRUE;
    pev->velocity = g_vecZero;
    
    SetThink (RemoveBall);
    pev->nextthink = gpGlobals->time + 0.6;
    
}

void CDispBall::RemoveBall( void )
{
    EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/displacer_teleport.wav", 0.9, ATTN_NORM);
    pev->effects |= EF_NODRAW;
    
    entvars_t *pevOwner;
    if ( pev->owner )
        pevOwner = VARS( pev->owner );
    else
        pevOwner = NULL;
    pev->owner = NULL;
    
    UTIL_Remove( this );
    ::RadiusDamage( pev->origin, pev, pevOwner, pev->dmg, 200, CLASS_NONE, DMG_ENERGYBEAM );
}

//-----------------------
//     Displacer
//-----------------------

void CDisplacer::Spawn( )
{
    Precache( );
    m_iId = WEAPON_DISPLACER;
    SET_MODEL(ENT(pev), "models/w_displacer.mdl");
    
    m_iDefaultAmmo = 40;
    FallInit();// get ready to fall down.
}

int CDisplacer::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 CDisplacer::Deploy( void )
{
    return DefaultDeploy( "models/v_displacer.mdl", "models/p_displacer.mdl", DISPLACER_DRAW, "gauss" );
}

void CDisplacer::Holster( int skiplocal )
{
    m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.5;
    SendWeaponAnim( DISPLACER_HOLSTER );
}

int CDisplacer::GetItemInfo(ItemInfo *p)
{
    p->pszName = STRING(pev->classname);
    p->pszAmmo1 = "uranium";
    p->iMaxAmmo1 = URANIUM_MAX_CARRY;
    p->pszAmmo2 = NULL;
    p->iMaxAmmo2 = -1;
    p->iMaxClip = WEAPON_NOCLIP;
    p->iSlot = 4;
    p->iPosition = 4;
    p->iId = m_iId = WEAPON_DISPLACER;
    p->iFlags = 0;
    p->iWeight = 30;
    
    return 1;
}

void CDisplacer::Precache( void )
{
    PRECACHE_MODEL("models/w_displacer.mdl");
    PRECACHE_MODEL("models/v_displacer.mdl");
    PRECACHE_MODEL("models/p_displacer.mdl");
    
    PRECACHE_SOUND("weapons/displacer_fire.wav");
    PRECACHE_SOUND ("buttons/button10.wav");
    PRECACHE_SOUND ("weapons/displacer_self.wav");
    
    UTIL_PrecacheOther( "dispball" );
    
    m_iBeam = PRECACHE_MODEL("sprites/plasma.spr");
    m_usDisplacer = PRECACHE_EVENT( 1, "events/displacer.sc" );
}

void CDisplacer::SpinUp ( void )
{
    int flags;
    flags = 0;
    
    if (!m_iAttackMode) SetThink (CDisplacer::Fire);
        else SetThink (CDisplacer::Teleport);
            
        //spinup event
    PLAYBACK_EVENT_FULL( flags, m_pPlayer->edict(), m_usDisplacer, 0.0, (float *)&g_vecZero, (float *)&g_vecZero, 0.0, 0.0, 0, m_iBeam, 0, m_iAttackMode);
    
    pev->nextthink = gpGlobals->time + 1.1;
    m_flTimeWeaponIdle = gpGlobals->time + 1.15;
}


void CDisplacer::PrimaryAttack( void )
{
    if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < 20)//Check for ammo
    {
        EMIT_SOUND( edict(), CHAN_BODY, "buttons/button10.wav", 1, ATTN_NORM );
        m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.0;
        return;
    }
    
    m_iAttackMode = FALSE; //We set attack mode in first mode
    
    SetThink (CDisplacer::SpinUp);
    
    m_flNextPrimaryAttack = gpGlobals->time + 4.0;
    m_flTimeWeaponIdle = gpGlobals->time + 1.5;
    pev->nextthink = gpGlobals->time + 0.1;
}

void CDisplacer::SecondaryAttack ( void )
{
    if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < 60)
    {
        EMIT_SOUND( edict(), CHAN_BODY, "buttons/button10.wav", 1, ATTN_NORM );
        m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.0;
        return;
    }
    
    if (m_iAttackMode) return;
        m_iAttackMode = TRUE; //We set attack mode in second mode
    
    SetThink (CDisplacer::SpinUp);
    
    m_flNextSecondaryAttack = gpGlobals->time + 4.0;
    m_flTimeWeaponIdle = gpGlobals->time + 1.5;
    pev->nextthink = gpGlobals->time + 0.1;
}

void CDisplacer::Fire (void)
{
    SendWeaponAnim( DISPLACER_FIRE );
    m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
    
    Vector vecSrc = m_pPlayer->GetGunPosition( ) + gpGlobals->v_forward * 16 + gpGlobals->v_right * 2 + gpGlobals->v_up * -5;
    m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 20;
    
    EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/displacer_fire.wav", 0.9, ATTN_NORM );
    CDispBall *pDispBall = CDispBall::CreateDispBall( vecSrc, m_pPlayer->pev->v_angle, m_pPlayer, this );
}


void CDisplacer:: Teleport ( void )
{
    m_iPlace = !m_iPlace;
    
    CBaseEntity *pSpot = NULL;
    m_iAttackMode = FALSE;//reset firemode
    
    if ( m_iPlace )//Xen and earth target
        pSpot = UTIL_FindEntityByClassname( pSpot, "info_xen" );
    else
        pSpot = UTIL_FindEntityByClassname( pSpot, "info_earth" );
    
    if (pSpot)
    {
        UTIL_ScreenFade( m_pPlayer, Vector(0, 200, 0), 0.5, 0.5, 255, FFADE_IN );
        
        m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 60;
        Vector tmp = pSpot->pev->origin;
        tmp.z -= m_pPlayer->pev->mins.z;
        tmp.z++;
        UTIL_SetOrigin( m_pPlayer->pev, tmp );
        
        m_pPlayer->pev->angles = pSpot->pev->angles;
        m_pPlayer->pev->velocity = m_pPlayer->pev->basevelocity = g_vecZero;
        
        EMIT_SOUND( edict(), CHAN_BODY, "weapons/displacer_self.wav", 1, ATTN_NORM );
        SendWeaponAnim( DISPLACER_FIRE );
    }
    else
    {
        SendWeaponAnim( DISPLACER_SPINUP );
        EMIT_SOUND( edict(), CHAN_BODY, "buttons/button10.wav", 1, ATTN_NORM );
        m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.3;
    }
    
    m_flNextSecondaryAttack = gpGlobals->time + 2.0;
    m_flTimeWeaponIdle = gpGlobals->time + 1.0;
}

void CDisplacer::WeaponIdle( void )
{
    int iAnim;
    
    m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );
    
    if ( m_flTimeWeaponIdle > gpGlobals->time )
        return;
    
    float flRand = RANDOM_FLOAT(0,1);
    
    if ( flRand <= 0.5 )
    {
        iAnim = DISPLACER_IDLE1;
        m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT(10,15);
    }
    else
    {
        iAnim = DISPLACER_IDLE2;
        m_flTimeWeaponIdle = gpGlobals->time + 3;
    }
    
    SendWeaponAnim( iAnim );
}


За это сообщение GSen получил предупреждение за оверквотинг

Сообщить модератору | | IP: Записан
Сообщение: 60205

Старое сообщение 08-06-2010 16:59
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21937
Нанёс повреждений: 361 ед.

Рейтинг



Продавец_Кошмаров не надо его добавлять на клиент.
Это чисто серверная пушка

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 60206

Старое сообщение 08-06-2010 19:50
-
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



Дядя Миша, помоги тогда. У меня пушка не появляется в HUD'e, что делать?

Вроде и слот и всё указал. Спрайт и координаты из Op4 взял.

Отредактировано GSen 09-06-2010 в 02:37

Сообщить модератору | | IP: Записан
Сообщение: 60211

Старое сообщение 09-06-2010 02:32
- За что?
maxbars
Волан-де-програм.
Девойс

Дата регистрации: Jun 2009
Проживает: Нино
Сообщений: 273
Возраст: 22

Рейтинг



Продавец_Кошмаров
А позицию в слоте правильно указал?
Там в слотах ведь типо если ставишь 0 то у тебя будет 1 слот...И т.д.
И позицию в слоте тот же самый принцип 1 -2 2-3.
Продавец_Кошмаров

__________________
ьфч

Сообщить модератору | | IP: Записан
Сообщение: 60214

Старое сообщение 09-06-2010 05:38
- За что?
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



Ну вон же в коде написано:

C++ Source Code:
p->iSlot = 4;
p->iPosition = 4;



Получается слот 5 - после снарков должно быть.

Сообщить модератору | | IP: Записан
Сообщение: 60215

Старое сообщение 09-06-2010 05:40
- За что?
maxbars
Волан-де-програм.
Девойс

Дата регистрации: Jun 2009
Проживает: Нино
Сообщений: 273
Возраст: 22

Рейтинг



А в weapons.h после снарков добавил оружие?

__________________
ьфч

Сообщить модератору | | IP: Записан
Сообщение: 60216

Старое сообщение 09-06-2010 05:46
- За что?
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



Да, естественно.

Сообщить модератору | | IP: Записан
Сообщение: 60217

Старое сообщение 09-06-2010 05:49
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21937
Нанёс повреждений: 361 ед.

Рейтинг



Продавец_Кошмаров ищи. Значит что-то сделал неправильно.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 60219

Старое сообщение 09-06-2010 07:37
-
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



ну и ладно..

Добавлено 09-06-2010 в 13:45:

Попробывал переделать. Теперь у меня оружие даже через GIVE не вызывается.
Я очень туп в кодинге, по этому помогите:

Вот что я делаю:

1. Добавляю файл displacer.cpp в проект сервера.
2. Изменяю в нём:

C++ Source Code:
p->iSlot = 5;
p->iPosition = 1;



На:

C++ Source Code:
p->iSlot = 0;
p->iPosition = 1;



Открываю weapons.cpp

После:

C++ Source Code:

// crowbar
UTIL_PrecacheOtherWeapon( "weapon_crowbar" );



Пишу:

C++ Source Code:
// displacer
UTIL_PrecacheOtherWeapon( "weapon_displacer" );



Перехожу к weapons.h:

Дефайню оружие после снарков:

C++ Source Code:
#define WEAPON_DISPLACER    16



Классы Дисплейсера у меня в самом коде оружия.

Компилится без ошибок. Мб я не так задефайнил номер?

Добавлено 09-06-2010 в 15:44:

в импульс 101 я прописывал, забыл в посте это указать )

Добавлено 09-06-2010 в 17:02:

чё в клиенте писать?

Сообщить модератору | | IP: Записан
Сообщение: 60221

Старое сообщение 09-06-2010 14:02
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21937
Нанёс повреждений: 361 ед.

Рейтинг



Цитата:
Продавец_Кошмаров писал:
уга-уга-уга - кошу под Дядю Мишу

Ты эти штучъке брось
файлик weapon_displacer.txt положил в папку sprites ?

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 60243

Старое сообщение 09-06-2010 14:13
-
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



Да, естественно. И эвенты есть

Сообщить модератору | | IP: Записан
Сообщение: 60248

Старое сообщение 09-06-2010 14:25
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21937
Нанёс повреждений: 361 ед.

Рейтинг



Продавец_Кошмаров убедись что ты выбрал слот, незанятый другим оружием.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 60254

Старое сообщение 09-06-2010 15:34
-
maxbars
Волан-де-програм.
Девойс

Дата регистрации: Jun 2009
Проживает: Нино
Сообщений: 273
Возраст: 22

Рейтинг



Цитата:
Дядя Миша писал:
На:

C++ Source Code:
p->iSlot = 0;
p->iPosition = 1;


Этот слот уже занят в этом ошибка по идеи.

А в ev_hldm всё прописал?

__________________
ьфч

Сообщить модератору | | IP: Записан
Сообщение: 60256

Старое сообщение 09-06-2010 15:54
- За что?
GSen
Житель форума

Дата регистрации: Aug 2009
Проживает: Омск
Сообщений: 336
Возраст: 26

Рейтинг



Ну по идее сдот 1 позиция 2 - после лома. Ошибка была не в этом ибо я и другие слоты пробывал

Сообщить модератору | | IP: Записан
Сообщение: 60257

Старое сообщение 09-06-2010 16:35
- За что?
maxbars
Волан-де-програм.
Девойс

Дата регистрации: Jun 2009
Проживает: Нино
Сообщений: 273
Возраст: 22

Рейтинг



А у тебя сколько максимально слотов ставить можно?

__________________
ьфч

Сообщить модератору | | IP: Записан
Сообщение: 60258

Старое сообщение 09-06-2010 16:35
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 01:58. Новая тема    Ответить
Страницы (3): [1] 2 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Помогите с Дисплейсером. Ошибка в классе
weapon_displacer
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Chain Studios © 2005-2018

Рейтинг@Mail.ru