HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > читы, читы и ещё раз читы =)
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


PoD-Stas еще раз: как ты получишь список строк от клиента к серверу?

__________________

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

Старое сообщение 22-05-2008 10:42
-
PoD-Stas
Житель форума

Дата регистрации: Jul 2007
Проживает: Харьков
Сообщений: 586
Возраст: 34

Рейтинг



А они че в основе движка? Еси да, то я протупил...

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

Старое сообщение 22-05-2008 11:07
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


PoD-Stas То есть ты, не разбираясь в вопросе вообще, начинаешь давать советы? Тебе не кажется, что это граничит с флудом?

__________________

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

Старое сообщение 22-05-2008 11:13
-
PoD-Stas
Житель форума

Дата регистрации: Jul 2007
Проживает: Харьков
Сообщений: 586
Возраст: 34

Рейтинг



Не. Ну вот как я с импульсом боролся:
//=========================================================
//=========================================================
void CBasePlayer::CheatImpulseCommands( int iImpulse )
{
#if !defined( HLDEMO_BUILD )
if ( g_flWeaponCheat == 0.0 )
{
return;
}

CBaseEntity *pEntity;
TraceResult tr;

switch ( iImpulse )
{
case 76:
{
if (!giPrecacheGrunt)
{
giPrecacheGrunt = 1;
ALERT(at_debug, "You must now restart to use Grunt-o-matic.\n");
}
else
{
UTIL_MakeVectors( Vector( 0, pev->v_angle.y, 0 ) );
Create("monster_human_grunt", pev->origin + gpGlobals->v_forward * 128, pev->angles);
}
break;
}

case 90: //LRC - send USE_TOGGLE
{
char *impulsetarget = (char *)CVAR_GET_STRING( "sohl_impulsetarget" );
if (impulsetarget)
FireTargets(impulsetarget, this, this, USE_TOGGLE, 0);
break;
}
case 91: //LRC - send USE_ON
{
char *impulsetarget = (char *)CVAR_GET_STRING( "sohl_impulsetarget" );
if (impulsetarget)
FireTargets(impulsetarget, this, this, USE_ON, 0);
break;
}
case 92: //LRC - send USE_OFF
{
char *impulsetarget = (char *)CVAR_GET_STRING( "sohl_impulsetarget" );
if (impulsetarget)
FireTargets(impulsetarget, this, this, USE_OFF, 0);
break;
}

case 101:
gEvilImpulse101 = TRUE;
UTIL_CenterPrintAll( "Cheaters and emo must die!" );
gEvilImpulse101 = FALSE;
break;

case 111:
if (!giPrecacheHLweapons)
{
ALERT(at_console, "Now you should restart, and use impulse 111 again to get half-life weapons\n");
UTIL_CenterPrintAll( "Cheaters and emo must die!" );
giPrecacheHLweapons = 1;
break;
}

gEvilImpulse101 = TRUE;
#ifndef OEM_BUILD
UTIL_CenterPrintAll( "Cheaters and emo must die!" );

#endif
gEvilImpulse101 = FALSE;
break;

case 102:
// Gibbage!!!
CGib::SpawnRandomGibs( pev, 1, 1 );
break;

case 103:
// What the hell are you doing?
pEntity = FindEntityForward( this );
if ( pEntity )
{
CBaseMonster *pMonster = pEntity->MyMonsterPointer();
if ( pMonster )
pMonster->ReportAIState();
}
break;

case 104:
// Dump all of the global state varaibles (and global entity names)
gGlobalState.DumpGlobals();
break;

case 105:// player makes no sound for monsters to hear.
{
if ( m_fNoPlayerSound )
{
ALERT ( at_debug, "Player is audible\n" );
m_fNoPlayerSound = FALSE;
}
else
{
ALERT ( at_debug, "Player is silent\n" );
m_fNoPlayerSound = TRUE;
}
break;
}

case 106:
// Give me the classname and targetname of this entity.
pEntity = FindEntityForward( this );
if ( pEntity )
{
ALERT ( at_debug, "Classname: %s", STRING( pEntity->pev->classname ) );

if ( !FStringNull ( pEntity->pev->targetname ) )
{
ALERT ( at_debug, " - Targetname: %s\n", STRING( pEntity->pev->targetname ) );
}
else
{
ALERT ( at_debug, " - TargetName: No Targetname\n" );
}

ALERT ( at_debug, "Model: %s\n", STRING( pEntity->pev->model ) );
if ( pEntity->pev->globalname )
ALERT ( at_debug, "Globalname: %s\n", STRING( pEntity->pev->globalname ) );
ALERT(at_debug, "State: %s\n", GetStringForState( pEntity->GetState() )); //LRC
}
break;

case 107:
{
TraceResult tr;

edict_t *pWorld = g_engfuncs.pfnPEntityOfEntIndex( 0 );

Vector start = pev->origin + pev->view_ofs;
Vector end = start + gpGlobals->v_forward * 1024;
UTIL_TraceLine( start, end, ignore_monsters, edict(), &tr );
if ( tr.pHit )
pWorld = tr.pHit;
const char *pTextureName = TRACE_TEXTURE( pWorld, start, end );
if ( pTextureName )
ALERT( at_debug, "Texture: %s\n", pTextureName );
}
break;
case 195:// show shortest paths for entire level to nearest node
{
Create("node_viewer_fly", pev->origin, pev->angles);
}
break;
case 196:// show shortest paths for entire level to nearest node
{
Create("node_viewer_large", pev->origin, pev->angles);
}
break;
case 197:// show shortest paths for entire level to nearest node
{
Create("node_viewer_human", pev->origin, pev->angles);
}
break;
case 199:// show nearest node and all connections
{
ALERT ( at_debug, "%d\n", WorldGraph.FindNearestNode ( pev->origin, bits_NODE_GROUP_REALM ) );
WorldGraph.ShowNodeConnections ( WorldGraph.FindNearestNode ( pev->origin, bits_NODE_GROUP_REALM ) );
}
break;
case 202:// Random blood splatter
UTIL_MakeVectors(pev->v_angle);
UTIL_TraceLine ( pev->origin + pev->view_ofs, pev->origin + pev->view_ofs + gpGlobals->v_forward * 128, ignore_monsters, ENT(pev), & tr);

if ( tr.flFraction != 1.0 )
{// line hit something, so paint a decal
CBloodSplat *pBlood = GetClassPtr((CBloodSplat *)NULL);
pBlood->Spawn( pev );
}
break;
case 203:// remove creature.
pEntity = FindEntityForward( this );
if ( pEntity )
{
if ( pEntity->pev->takedamage )
pEntity->SetThink(&CBaseEntity::SUB_Remove);
}
break;
}
#endif // HLDEMO_BUILD
}

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

Старое сообщение 22-05-2008 11:16
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



PoD-Stas ты говоришь про god, а сам показываешь импульс. Где логика???

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 22-05-2008 11:20
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Про импульс это и так понятно. Вопрос был про god, cmd name и иже с ними.

__________________

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

Старое сообщение 22-05-2008 11:22
-
PoD-Stas
Житель форума

Дата регистрации: Jul 2007
Проживает: Харьков
Сообщений: 586
Возраст: 34

Рейтинг



Про год я предполагал, а импульс просто так показал... А вообще нужно химичить с флагом FL_GODMODE.
Поищите
// check for godmode or invincibility
if ( pev->flags & FL_GODMODE )
{
return 0;
}
там можно кое-что нахимичить вместа return 0; поставить нужное действие...

Добавлено 22-05-2008 в 14:36:

Аналогично с ноклипом
if (pev->movetype == MOVETYPE_NOCLIP)
/*действие*/;

А с cmd еще не разобралсо...

Добавлено 22-05-2008 в 14:42:

Ну насчет сравнения поступающих команд с клиента, я думаю замешана функция
void (*pfnClientPrintf) ( edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg );

Добавлено 22-05-2008 в 15:09:

Ну что. такие пути решения проблем возможны? Там еще нашел функцию регистрации команд, приходящих с клиента, вроде...

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

Старое сообщение 22-05-2008 12:09
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
XaeroX писал:
Даже в HL:Invasion, неплохом в общем-то моде, есть места, где без читов фиг пройдешь, а при попытке ввести чит игра вылетает.

Тама параметр какой-то надо вводить при старте, что-то вроде -test. А я долго парился, когда первый раз проходил, а потом взял и переписал skill.cfg

Вообще можно сделать так:
C++ Source Code:
1
else if ( FStrEq(pcmd, "god") )
2
{
3
  ALERT(at_console, "You're dirty cheater!\n")
4
  SERVER_COMMAND( "disconnect\n" );
5
}


Или сделать ещё страшнее: вызывать shutdown.exe чтоб комп перезагружался, но это вообще в тяжких случаях

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

Старое сообщение 22-05-2008 17:06
- За что?
PoD-Stas
Житель форума

Дата регистрации: Jul 2007
Проживает: Харьков
Сообщений: 586
Возраст: 34

Рейтинг



Вот, и то в сто раз легче )

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

Старое сообщение 22-05-2008 18:26
- За что?
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


А если в каждом кадре забивать sv_cheats 0?

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

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

Старое сообщение 23-05-2008 02:06
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Scrama sv_cheats она и так полностью проверяется на сервере.
Хотя во втором квейке именно этот подход использовался.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 23-05-2008 05:39
-
FreeSlave
Житель форума

Дата регистрации: Nov 2007
Проживает: Тула
Сообщений: 1077

Рейтинг



вот что пишется в консоле в Adrenaline Gamer Mod (сетевой мод на HL), если пытаешься ввести sv_cheats 1 :

] sv_cheats 1
"sv_cheats" changed to "1"
Server enforces variables and "sv_cheats" needs to be the same during the game
(A) bl: <AG Mod> Warned for using variable sv_cheats with value 1.000000 (1 violation(s)
"sv_cheats" changed to "0"

__________________
I'm on github
I'm on opendesktop.org

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

Старое сообщение 23-05-2008 07:30
- За что?
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


FreeSlave hl.dsw, world.cpp

C++ Source Code:
1
void CWorld :: Spawn( void )
2
{
3
  g_fGameOver = FALSE;
4
  Precache( );
5
  g_flWeaponCheat = CVAR_GET_FLOAT( "sv_cheats" );  // Is the impulse 101 command allowed?
6
}

Вот вместо этого
C++ Source Code:
1
void CWorld :: Spawn( void )
2
{
3
  g_fGameOver = FALSE;
4
  Precache( );
5
  if (CVAR_GET_FLOAT( "sv_cheats" ))
6
  {
7
    CVAR_SET_FLOAT("sv_cheats", 0);
8
    ALERT( at_console, "Blah-blah-blah");
9
  }
10
}
И делай это в конце, иначе фиг отладишь.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

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

Старое сообщение 23-05-2008 08:36
- За что?
PoD-Stas
Житель форума

Дата регистрации: Jul 2007
Проживает: Харьков
Сообщений: 586
Возраст: 34

Рейтинг



Гы. Тоже элементарно

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

Старое сообщение 23-05-2008 12:53
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Scrama только не в спавне, а в StartFrame

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 23-05-2008 14:29
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 09:20. Новая тема    Ответить
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > читы, читы и ещё раз читы =)
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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