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

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

Рейтинг



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

Скачал в инете код 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:
1
/***
2
*
3
*	Copyright © 2004
4
*   Code by Shambler Team.
5
*   Op4-realm modify by Demiurge.
6
*   All rights reserved.
7
*
8
****/
9
 
10
 
11
/*
12
//=========================================================
13
//
14
//    CODE PART FOR CLIENT SIDE
15
//
16
//======================
17
//	    DISPLACER START
18
//======================
19
enum displacer_e
20
{
21
	DISPLACER_IDLE1,
22
	DISPLACER_IDLE2,
23
	DISPLACER_SPINUP,
24
	DISPLACER_SPIN,
25
	DISPLACER_FIRE,
26
	DISPLACER_DRAW,
27
	DISPLACER_HOLSTER,
28
};
29
void EV_SpinDisplacer(event_args_t *args)//Original code idea by Xwider
30
{
31
	if (EV_IsLocal(args->entindex))
32
	{
33
		gEngfuncs.pEventAPI->EV_WeaponAnimation(DISPLACER_SPINUP, 2);
34
		cl_entity_t *view = gEngfuncs.GetViewModel();
35
		if (view != NULL)
36
		{
37
			float life = 1.14;
38
 
39
			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);
40
			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);
41
			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);
42
		}
43
	}
44
 
45
	if (args->bparam2 == 0)// sound mode
46
		gEngfuncs.pEventAPI->EV_PlaySound(args->entindex, args->origin, CHAN_WEAPON, "weapons/displacer_spin.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
47
	else
48
		gEngfuncs.pEventAPI->EV_PlaySound(args->entindex, args->origin, CHAN_WEAPON, "weapons/displacer_spin2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
49
 
50
}
51
//======================
52
//	     DISPLACER END
53
//======================
54
*/
55
 
56
#include "extdll.h"
57
#include "util.h"
58
#include "cbase.h"
59
#include "monsters.h"
60
#include "weapons.h"
61
#include "nodes.h"
62
#include "player.h"
63
#include "gamerules.h"
64
#include "shake.h"
65
#include "effects.h"
66
 
67
#define	SF_DISP_MODE	128 //G-Cont. use for makes alternative displacer - debug features
68
 
69
enum displacer_e
70
{
71
  DISPLACER_IDLE1,
72
  DISPLACER_IDLE2,
73
  DISPLACER_SPINUP,
74
  DISPLACER_SPIN,
75
  DISPLACER_FIRE,
76
  DISPLACER_DRAW,
77
  DISPLACER_HOLSTER,
78
};
79
 
80
class CDisplacer : public CBasePlayerWeapon
81
{
82
public:
83
  void Spawn( void );
84
  void Precache( void );
85
  int iItemSlot( void ) { return 6; }
86
  int GetItemInfo(ItemInfo *p);
87
  int AddToPlayer( CBasePlayer *pPlayer );
88
 
89
  BOOL Deploy( void );
90
  void Holster( int skiplocal = 0 );
91
 
92
  void PrimaryAttack( void );
93
  void SecondaryAttack (void);
94
  void EXPORT SpinUp( void );
95
  //	void EXPORT Spin( void );
96
  void EXPORT Teleport( void );
97
  void EXPORT Fire( void );
98
  void WeaponIdle( void );
99
 
100
  int m_iAttackMode;//no need save/restore this
101
private:
102
  unsigned short m_usDisplacer;
103
  int m_iBeam;
104
  int m_iPlace;
105
};
106
 
107
LINK_ENTITY_TO_CLASS( weapon_displacer, CDisplacer );
108
 
109
LINK_ENTITY_TO_CLASS( info_xen, CPointEntity );
110
LINK_ENTITY_TO_CLASS( info_earth, CPointEntity );
111
 
112
// displacer teleball code
113
 
114
class CDispBall : public CBaseEntity//Special for Ghoul [BB]
115
{
116
public:
117
  void Spawn( void );
118
  void Precache( void );
119
  void Explode( TraceResult *pTrace );
120
  void RemoveBall (void);
121
  void EXPORT ExplodeTouch( CBaseEntity *pOther );
122
 
123
  void EXPORT BallThink( void );
124
  static CDispBall *CreateDispBall( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner, CDisplacer *pLauncher );
125
 
126
  int m_iDispRing;
127
  BOOL LockRing;
128
};
129
 
130
LINK_ENTITY_TO_CLASS( dispball, CDispBall );
131
 
132
CDispBall *CDispBall::CreateDispBall( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner, CDisplacer *pLauncher )
133
{
134
  CDispBall *pDispBall = GetClassPtr( (CDispBall *)NULL );
135
 
136
  UTIL_SetOrigin( pDispBall->pev, vecOrigin );
137
  pDispBall->pev->angles = vecAngles;
138
  pDispBall->Spawn();
139
  pDispBall->SetTouch( CDispBall::ExplodeTouch );
140
  pDispBall->pev->owner = pOwner->edict();
141
 
142
  return pDispBall;
143
}
144
 
145
void CDispBall :: Spawn( void )
146
{
147
  Precache( );
148
  pev->movetype = MOVETYPE_FLY;
149
  pev->solid = SOLID_BBOX;
150
 
151
  SET_MODEL(ENT(pev), "sprites/exit1.spr");
152
  pev->scale = .5;
153
 
154
  UTIL_SetSize(pev, Vector ( 0, 0, 0 ), Vector ( 0, 0, 0 ) );
155
  UTIL_SetOrigin( pev, pev->origin );
156
  pev->rendermode = kRenderTransAdd;
157
  pev->renderamt = 255;
158
 
159
  pev->classname = MAKE_STRING("dispball");
160
 
161
  SetThink( BallThink );
162
  SetTouch( ExplodeTouch );
163
 
164
  pev->angles.x -= 0;
165
  UTIL_MakeVectors( pev->angles );
166
  pev->angles.x = -(pev->angles.x + 0);
167
  pev->velocity = gpGlobals->v_forward * 500;
168
  pev->nextthink = 0.5;
169
 
170
  pev->dmg = 1000;
171
}
172
 
173
void CDispBall :: Precache( void )
174
{
175
  PRECACHE_MODEL("sprites/exit1.spr");
176
  PRECACHE_MODEL ("sprites/plasma.spr");
177
 
178
  PRECACHE_SOUND("weapons/displacer_teleport.wav");
179
  m_iDispRing = PRECACHE_MODEL ("sprites/disp_ring.spr");
180
}
181
 
182
void CDispBall :: BallThink( void )
183
{
184
  CBeam *pBeam;
185
  TraceResult tr;
186
  Vector vecDest;
187
  float flDist = 1.0;
188
 
189
  for (int i = 0; i < 10; i++)
190
  {
191
    Vector vecDir = Vector( RANDOM_FLOAT( -1.0, 1.0 ), RANDOM_FLOAT( -1.0, 1.0 ),RANDOM_FLOAT( -1.0, 1.0 ) );
192
    vecDir = vecDir.Normalize();
193
    TraceResult 		tr1;
194
    UTIL_TraceLine( pev->origin, pev->origin + vecDir * 1024, ignore_monsters, ENT(pev), &tr1 );
195
    if (flDist > tr1.flFraction)
196
    {
197
      tr = tr1;
198
      flDist = tr.flFraction;
199
    }
200
  }
201
 
202
  if ( flDist == 1.0 ) return;
203
 
204
  pBeam = CBeam::BeamCreate("sprites/plasma.spr",200);
205
  pBeam-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ointEntInit( tr.vecEndPos, entindex() );
206
  pBeam->SetStartPos( tr.vecEndPos );
207
  pBeam->SetEndEntity( entindex() );
208
  pBeam->SetColor( 90, 170, 16 );
209
  pBeam->SetNoise( 65 );
210
  pBeam->SetBrightness( 255 );
211
  pBeam->SetWidth( 30 );
212
  pBeam->SetScrollRate( 35 );
213
  pBeam->LiveForTime( 1 );
214
 
215
  pev->frame += 1; //animate teleball
216
  if(pev->frame > 24)
217
    pev->frame = fmod( pev->frame, 24 );
218
 
219
  pev->nextthink = gpGlobals->time + 0.1;
220
}
221
 
222
void CDispBall::ExplodeTouch( CBaseEntity *pOther )
223
{
224
  TraceResult tr;
225
  Vector		vecSpot;// trace starts here!
226
 
227
  pev->enemy = pOther->edict();
228
 
229
  vecSpot = pev->origin - pev->velocity.Normalize() * 32;
230
  UTIL_TraceLine( vecSpot, vecSpot + pev->velocity.Normalize() * 64, dont_ignore_monsters, ENT(pev), &tr );
231
 
232
  Explode( &tr );
233
}
234
 
235
void CDispBall::Explode( TraceResult *pTrace )
236
{
237
  if(!LockRing)//for partially fix strange bug in HL engine (for full fix teleball MUST be moved to client side). g-cont
238
  {
239
    MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin );
240
    WRITE_BYTE( TE_BEAMCYLINDER );
241
    WRITE_COORD( pev->origin.x);
242
    WRITE_COORD( pev->origin.y);
243
    WRITE_COORD( pev->origin.z);
244
    WRITE_COORD( pev->origin.x);
245
    WRITE_COORD( pev->origin.y);
246
    WRITE_COORD( pev->origin.z + 800);
247
    WRITE_SHORT( m_iDispRing );
248
    WRITE_BYTE( 0 ); // startframe
249
    WRITE_BYTE( 10 ); // framerate
250
    WRITE_BYTE( 3 ); // life
251
    WRITE_BYTE( 20 );  // width
252
    WRITE_BYTE( 0 );   // noise
253
    WRITE_BYTE( 255 );   // r, g, b
254
    WRITE_BYTE( 255 );   // r, g, b
255
    WRITE_BYTE( 255 );   // r, g, b
256
    WRITE_BYTE( 255 ); //brightness
257
    WRITE_BYTE( 0 );		// speed
258
    MESSAGE_END();
259
 
260
    MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );
261
    WRITE_BYTE(TE_DLIGHT);
262
    WRITE_COORD(pev->origin.x);	// X
263
    WRITE_COORD(pev->origin.y);	// Y
264
    WRITE_COORD(pev->origin.z);	// Z
265
    WRITE_BYTE( 8 );		// radius * 0.1
266
    WRITE_BYTE( 243 );		// r
267
    WRITE_BYTE( 231 );		// g
268
    WRITE_BYTE( 16 );		// b
269
    WRITE_BYTE( 20 );		// time * 10
270
    WRITE_BYTE( 0 );		// decay * 0.1
271
    MESSAGE_END( );
272
 
273
    MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );
274
    WRITE_BYTE(TE_DLIGHT);
275
    WRITE_COORD(pev->origin.x);	// X
276
    WRITE_COORD(pev->origin.y);	// Y
277
    WRITE_COORD(pev->origin.z);	// Z
278
    WRITE_BYTE( 4 );		// radius * 0.1
279
    WRITE_BYTE( 240 );		// r
280
    WRITE_BYTE( 140 );		// g
281
    WRITE_BYTE( 12 );		// b
282
    WRITE_BYTE( 20 );		// time * 10
283
    WRITE_BYTE( 0 );		// decay * 0.1
284
    MESSAGE_END( );
285
  }
286
 
287
  LockRing = TRUE;
288
  pev->velocity = g_vecZero;
289
 
290
  SetThink (RemoveBall);
291
  pev->nextthink = gpGlobals->time + 0.6;
292
 
293
}
294
 
295
void CDispBall::RemoveBall( void )
296
{
297
  EMIT_SOUND(ENT(pev), CHAN_VOICE, "weapons/displacer_teleport.wav", 0.9, ATTN_NORM);
298
  pev->effects |= EF_NODRAW;
299
 
300
  entvars_t *pevOwner;
301
  if ( pev->owner )
302
    pevOwner = VARS( pev->owner );
303
  else
304
    pevOwner = NULL;
305
  pev->owner = NULL;
306
 
307
  UTIL_Remove( this );
308
  ::RadiusDamage( pev->origin, pev, pevOwner, pev->dmg, 200, CLASS_NONE, DMG_ENERGYBEAM );
309
}
310
 
311
//-----------------------
312
//     Displacer
313
//-----------------------
314
 
315
void CDisplacer::Spawn( )
316
{
317
  Precache( );
318
  m_iId = WEAPON_DISPLACER;
319
  SET_MODEL(ENT(pev), "models/w_displacer.mdl");
320
 
321
  m_iDefaultAmmo = 40;
322
  FallInit();// get ready to fall down.
323
}
324
 
325
int CDisplacer::AddToPlayer( CBasePlayer *pPlayer )
326
{
327
  if ( CBasePlayerWeapon::AddToPlayer( pPlayer ) )
328
  {
329
    MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev );
330
    WRITE_BYTE( m_iId );
331
    MESSAGE_END();
332
    return TRUE;
333
  }
334
  return FALSE;
335
}
336
 
337
BOOL CDisplacer::Deploy( void )
338
{
339
  return DefaultDeploy( "models/v_displacer.mdl", "models/p_displacer.mdl", DISPLACER_DRAW, "gauss" );
340
}
341
 
342
void CDisplacer::Holster( int skiplocal )
343
{
344
  m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.5;
345
  SendWeaponAnim( DISPLACER_HOLSTER );
346
}
347
 
348
int CDisplacer::GetItemInfo(ItemInfo *p)
349
{
350
  p->pszName = STRING(pev->classname);
351
  p->pszAmmo1 = "uranium";
352
  p->iMaxAmmo1 = URANIUM_MAX_CARRY;
353
  p->pszAmmo2 = NULL;
354
  p->iMaxAmmo2 = -1;
355
  p->iMaxClip = WEAPON_NOCLIP;
356
  p->iSlot = 4;
357
  p->iPosition = 4;
358
  p->iId = m_iId = WEAPON_DISPLACER;
359
  p->iFlags = 0;
360
  p->iWeight = 30;
361
 
362
  return 1;
363
}
364
 
365
void CDisplacer::Precache( void )
366
{
367
  PRECACHE_MODEL("models/w_displacer.mdl");
368
  PRECACHE_MODEL("models/v_displacer.mdl");
369
  PRECACHE_MODEL("models/p_displacer.mdl");
370
 
371
  PRECACHE_SOUND("weapons/displacer_fire.wav");
372
  PRECACHE_SOUND ("buttons/button10.wav");
373
  PRECACHE_SOUND ("weapons/displacer_self.wav");
374
 
375
  UTIL_PrecacheOther( "dispball" );
376
 
377
  m_iBeam = PRECACHE_MODEL("sprites/plasma.spr");
378
  m_usDisplacer = PRECACHE_EVENT( 1, "events/displacer.sc" );
379
}
380
 
381
void CDisplacer::SpinUp ( void )
382
{
383
  int flags;
384
  flags = 0;
385
 
386
  if (!m_iAttackMode) SetThink (CDisplacer::Fire);
387
  else SetThink (CDisplacer::Teleport);
388
 
389
  //spinup event
390
  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);
391
 
392
  pev->nextthink = gpGlobals->time + 1.1;
393
  m_flTimeWeaponIdle = gpGlobals->time + 1.15;
394
}
395
 
396
 
397
void CDisplacer::PrimaryAttack( void )
398
{
399
  if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < 20)//Check for ammo
400
  {
401
    EMIT_SOUND( edict(), CHAN_BODY, "buttons/button10.wav", 1, ATTN_NORM );
402
    m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.0;
403
    return;
404
  }
405
 
406
  m_iAttackMode = FALSE; //We set attack mode in first mode
407
 
408
  SetThink (CDisplacer::SpinUp);
409
 
410
  m_flNextPrimaryAttack = gpGlobals->time + 4.0;
411
  m_flTimeWeaponIdle = gpGlobals->time + 1.5;
412
  pev->nextthink = gpGlobals->time + 0.1;
413
}
414
 
415
void CDisplacer::SecondaryAttack ( void )
416
{
417
  if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < 60)
418
  {
419
    EMIT_SOUND( edict(), CHAN_BODY, "buttons/button10.wav", 1, ATTN_NORM );
420
    m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.0;
421
    return;
422
  }
423
 
424
  if (m_iAttackMode) return;
425
  m_iAttackMode = TRUE; //We set attack mode in second mode
426
 
427
  SetThink (CDisplacer::SpinUp);
428
 
429
  m_flNextSecondaryAttack = gpGlobals->time + 4.0;
430
  m_flTimeWeaponIdle = gpGlobals->time + 1.5;
431
  pev->nextthink = gpGlobals->time + 0.1;
432
}
433
 
434
void CDisplacer::Fire (void)
435
{
436
  SendWeaponAnim( DISPLACER_FIRE );
437
  m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
438
 
439
  Vector vecSrc = m_pPlayer->GetGunPosition( ) + gpGlobals->v_forward * 16 + gpGlobals->v_right * 2 + gpGlobals->v_up * -5;
440
  m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 20;
441
 
442
  EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/displacer_fire.wav", 0.9, ATTN_NORM );
443
  CDispBall *pDispBall = CDispBall::CreateDispBall( vecSrc, m_pPlayer->pev->v_angle, m_pPlayer, this );
444
}
445
 
446
 
447
void CDisplacer:: Teleport ( void )
448
{
449
  m_iPlace = !m_iPlace;
450
 
451
  CBaseEntity *pSpot = NULL;
452
  m_iAttackMode = FALSE;//reset firemode
453
 
454
  if ( m_iPlace )	//Xen and earth target
455
    pSpot = UTIL_FindEntityByClassname( pSpot, "info_xen" );
456
  else
457
    pSpot = UTIL_FindEntityByClassname( pSpot, "info_earth" );
458
 
459
  if (pSpot)
460
  {
461
    UTIL_ScreenFade( m_pPlayer, Vector(0, 200, 0), 0.5, 0.5, 255, FFADE_IN );
462
 
463
    m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] -= 60;
464
    Vector tmp = pSpot->pev->origin;
465
    tmp.z -= m_pPlayer->pev->mins.z;
466
    tmp.z++;
467
    UTIL_SetOrigin( m_pPlayer->pev, tmp );
468
 
469
    m_pPlayer->pev->angles = pSpot->pev->angles;
470
    m_pPlayer->pev->velocity = m_pPlayer->pev->basevelocity = g_vecZero;
471
 
472
    EMIT_SOUND( edict(), CHAN_BODY, "weapons/displacer_self.wav", 1, ATTN_NORM );
473
    SendWeaponAnim( DISPLACER_FIRE );
474
  }
475
  else
476
  {
477
    SendWeaponAnim( DISPLACER_SPINUP );
478
    EMIT_SOUND( edict(), CHAN_BODY, "buttons/button10.wav", 1, ATTN_NORM );
479
    m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.3;
480
  }
481
 
482
  m_flNextSecondaryAttack = gpGlobals->time + 2.0;
483
  m_flTimeWeaponIdle = gpGlobals->time + 1.0;
484
}
485
 
486
void CDisplacer::WeaponIdle( void )
487
{
488
  int iAnim;
489
 
490
  m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );
491
 
492
  if ( m_flTimeWeaponIdle > gpGlobals->time )
493
    return;
494
 
495
  float flRand = RANDOM_FLOAT(0,1);
496
 
497
  if ( flRand <= 0.5 )
498
  {
499
    iAnim = DISPLACER_IDLE1;
500
    m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT(10,15);
501
  }
502
  else
503
  {
504
    iAnim = DISPLACER_IDLE2;
505
    m_flTimeWeaponIdle = gpGlobals->time + 3;
506
  }
507
 
508
  SendWeaponAnim( iAnim );
509
}
510
 

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

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

Старое сообщение 08-06-2010 15:59
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

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

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

Рейтинг



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

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

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

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

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

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

Рейтинг



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

__________________
ьфч

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

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

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

Рейтинг



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

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


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

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

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

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

Рейтинг



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

__________________
ьфч

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

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

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

Рейтинг



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

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

Старое сообщение 09-06-2010 04:49
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

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

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

Рейтинг



ну и ладно..

Добавлено 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 13:02
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

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

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

Рейтинг



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

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

Старое сообщение 09-06-2010 13:25
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

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

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

Рейтинг



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

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


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

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

__________________
ьфч

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

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

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

Рейтинг



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

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

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

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

Рейтинг



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

__________________
ьфч

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

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



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


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

Временная зона GMT. Текущее время 18:02. Новая тема    Ответить
Страницы (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.
Дизайн и программирование: Crystice Softworks © 2005 - 2024