Новые сообщения Участники Правила Поиск
Помощь по SDK для Serious Sam 1.05/1.07
SLAwww Вторник, 11.12.2012, 03:59 | Сообщение # 1651


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Никак. Настраивай СДК и компилируй свои собственные ДЛЛ. Реальная работа с дизассемблированным кодом гораздо сложнее, чем тихое и спокойное написание классов на С++, так что можешь об этом забыть.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Вторник, 11.12.2012, 10:05 | Сообщение # 1652


Сообщений: 794
Награды: 16
Замечания: 0%
 
И еще вопросы.
Ситуация 1. Модель оружия имеет анимацию и 2 атачмента которые тоже имеют свою анимацию.
Я сделал так
Quote

INDEX iAnim; //Играет аним оружия
switch (IRnd()%3) {
case 0: iAnim = COLT_ANIM_FIRE1; break;
case 1: iAnim = COLT_ANIM_FIRE2; break;
case 2: iAnim = COLT_ANIM_FIRE3; break;
}
m_moWeapon.PlayAnim(iAnim, 0);

autowait(0.1f); // играет аним аттачмента 1
CModelObject *pmo = &(m_moWeapon.GetAttachmentModel(COLT_ATTACHMENT_COLT)->amo_moModelObject);
pmo->PlayAnim(COLT_ANIM_FIRE1, 0);
FireSniperBullet(wpn_fFX[WEAPON_SNIPER], wpn_fFY[WEAPON_SNIPER], 500.0f,
(GetSP()->sp_bCooperative) ? 10.0f : 20.0f, 5.0f);

DecAmmo(m_iBMagasinePEST, 1);

SpawnRangeSound(40.0f);
m_iPESTPUL--;
SetFlare(0, FLARE_ADD);
PlayLightAnim(LIGHT_ANIM_COLT_SHOTGUN, 0);
autowait(0.1f); // играет анимация второго аттачмента
CModelObject *pmo = &(m_moWeapon.GetAttachmentModel(COLT_ATTACHMENT_BULLETS)->amo_moModelObject);
pmo->PlayAnim(COLT_ANIM_FIRE1, 0 );


Но при этом когда начинает играть анимация второво аттачмента, анимация оружия прекращается хотя ей еще идти и идти. Как исправить.

Ситуация 2. Аттачмент имеет анимированную текстуру. Как ,ну скажем при старте анимации "FIRE",
запустить у него текстурную анимацию "2"
Сообщение отредактировал CAHEK - Вторник, 11.12.2012, 13:34


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Вторник, 11.12.2012, 19:31 | Сообщение # 1653


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
А существует ли у COLT_ATTACHMENT_BULLETS анимация с индексом COLT_ANIM_FIRE1?
Про анимированную текстуру - там подход аналогичный, просто используется объект типа CTextureObject, который входит в состав CAttachmentModel или как его там.


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Среда, 12.12.2012, 11:18 | Сообщение # 1654


Сообщений: 794
Награды: 16
Замечания: 0%
 
COLT_ATTACHMENT_BULLETS анимация с индексом COLT_ANIM_FIRE1
Да существует и работает но с багом.(см выше)(я сам добавил)

А с аним текстурой я непонял. (К сожалению я не програмист и в СДК лазию "Методом научного тыка"

На основе этого делать?

CModelObject *pmo = &(m_moWeapon.GetAttachmentModel(COLT_ATTACHMENT_COLT)->amo_moModelObject);
pmo->PlayAnim(COLT_ANIM_FIRE1, 0 );

Можно пример?
Сообщение отредактировал CAHEK - Среда, 12.12.2012, 13:13


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Среда, 12.12.2012, 21:24 | Сообщение # 1655


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Code
CModelObject *pmo = &(m_moWeapon.GetAttachmentModel(COLT_ATTACHMENT_COLT)->amo_moModelObject);  
pmo->mo_toTexture.PlayAnim(TEXTURE_ANIMATION_INDEX,0);

По поводу предыдущего бага - точно не знаю, что это может быть. Попробуй по очереди комментировать строки, относящиеся ко второму выстрелу (начиная с конца), пока баг не исчезнет.


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
seriously_petr Суббота, 15.12.2012, 15:55 | Сообщение # 1656


Сообщений: 446
Награды: 4
Замечания: 0%
 
Всем привет :D ! У меня проблемка:

В классе CPlayer в процедуре смерти хочу вызвать функцию из CPlayerWeapons:

Code
Death(EDeath eDeath)
{
...
penWeapon->DestroyGhostBusterRay();
...
}


Code
  DestroyGhostBusterRay() {
     // destroy ray
     ((CGhostBusterRay&)*m_penGhostBusterRay).DestroyGhostBusterRay();     
     CPlayer &pl = (CPlayer&)*m_penPlayer;
     pl.m_soWeapon5.Stop();
     return EEnd();
   };


При компиляции выдаёт ошибку:
Code
E:/Mymod/Sources/EntitiesMP/Player.es(5561) : error C2660: 'DestroyGhostBusterRay' : function does not take 0 parameters


Я не пойму причём здесь функция, если это процедура.


SLAwww Суббота, 15.12.2012, 17:38 | Сообщение # 1657


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
В стандарте языка нет разделения на функции и процедуры, это всё - примочки ES-диалекта, поэтому IDE называет их функциями, но всё-же процедуры извне лучше не вызывать, потому что они являются "состояниями", в одном из которых находится объект. Они вызываются, как правило, самим объектом соответствующего класса: в CPlayerWeapons в какой-то точке происходит ожидание ивента (wait), и при получении определённого ивента вызывается процедура. Как-то так:
Code
on (EDestroyGhostBusterRay) : { call DestroyGhostBusterRay() EReturn; resume; }

Вариант полегче - просто оформить этот твой DestroyGhostBusterRay функцией, а не процедурой.


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Понедельник, 17.12.2012, 19:54 | Сообщение # 1658


Сообщений: 794
Награды: 16
Замечания: 0%
 
Спасибо SLAwww все работает. (Что бы я без тебя делал.)
Вопрос Как при попадании во врага с опр. оружия сделать появление аттачмента у этого оружия.
Как добавить аттач. я знаю, а как вызвать эту функцию только при попадении опр. оружия нет.


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Понедельник, 17.12.2012, 20:14 | Сообщение # 1659


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
В функции стрельбы у каждого оружия, стреляющего пулями (FireTommygun, FireDoubleShotgun и т. д.), пропиши проверку m_penRayHit. Если m_penRayHit указывает на врага (m_penRayHit ненулевой и IsDerivedFromClass(m_penRayHit,"Enemy Base") возвращает TRUE), добавляй аттачмент.
Можно пойти другим путём - в RecieveDamage у CEnemyBase прописать проверку Inflictor'а - если таковым является игрок, отправить ему ивент или иным образом сообщить о необходимости добавления аттачмента.


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Понедельник, 17.12.2012, 20:24 | Сообщение # 1660


Сообщений: 794
Награды: 16
Замечания: 0%
 
Примерно понял.
А если оружие бензопила.
(я для нее этот эффект готовлю)


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Вторник, 18.12.2012, 00:30 | Сообщение # 1661


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Начиная со строки 2089 в PlayerWeapons.es выполняются действия над объектом, который получает повреждения от бензопилы (penClosest). Можешь проверять этот penClosest, и в зависимости от него добавлять или убирать аттачмент.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Вторник, 18.12.2012, 12:07 | Сообщение # 1662


Сообщений: 794
Награды: 16
Замечания: 0%
 
Я вставил код
Code
if( penClosest!=NULL)  
            { .........}

после строки
Code
m_moWeapon.PlayAnim(CHAINSAW_ANIM_FIRE, AOF_LOOPING|AOF_NORESTART);


Выдает ошибку C:/MyMod/Sources/EntitiesMP/PlayerWeapons.es(6245) : error C2065: 'penClosest' : undeclared identifier


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Вторник, 18.12.2012, 19:34 | Сообщение # 1663


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Конечно, ведь penClosest - локальная переменная метода CutWithChainsaw, а тебе нужно сделать её глобальной.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
XFighter Пятница, 21.12.2012, 20:00 | Сообщение # 1664


Сообщений: 20
Награды: 0
Замечания: 20%
 
Привет, вопрос такой: как рандонмизировать бег врагов (Random)? Например один гнаар бежит быстрее другого.

SLAwww Пятница, 21.12.2012, 20:43 | Сообщение # 1665


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
В процедуре Main задаются все начальные параметры врага. Начиная со строки 492 в Eyeman.es:
Код
if (m_EecChar==EYC_SERGEANT) {
       m_fAttackRunSpeed = FRnd()*2.0f + 10.0f;
       m_aAttackRotateSpeed = AngleDeg(FRnd()*100 + 600.0f);
       m_fCloseRunSpeed = FRnd()*2.0f + 10.0f;
       m_aCloseRotateSpeed = AngleDeg(FRnd()*100 + 600.0f);
     } else {
       m_fAttackRunSpeed = FRnd()*2.0f + 9.0f;
       m_aAttackRotateSpeed = AngleDeg(FRnd()*100 + 600.0f);
       m_fCloseRunSpeed = FRnd()*2.0f + 9.0f;
       m_aCloseRotateSpeed = AngleDeg(FRnd()*100 + 600.0f);
     }

Как видишь, скорости бега и так рандомизированы, хотя, можно увеличить разброс, сделав, например, не FRnd()*2.0f + 10.0f, а FRnd()*6.0f + 8.0f.


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
XFighter Воскресенье, 23.12.2012, 19:27 | Сообщение # 1666


Сообщений: 20
Награды: 0
Замечания: 20%
 
ок, спасибо.

Добавлено (23.12.2012, 19:27)
---------------------------------------------
--------------------Configuration: EntitiesMP - Win32 Release--------------------
Compiling...
Command line warning D4002 : ignoring unknown option '/Ot'
Command line warning D4002 : ignoring unknown option '/Og'
Command line warning D4002 : ignoring unknown option '/Oi'
Command line warning D4002 : ignoring unknown option '/Oy-'
HUD.cpp
E:\Program Files\Croteam\SeriousSam-2\The Second Encounter\Mods\MyMod\Sources\EntitiesMP\Common\HUD.cpp(752) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Error executing cl.exe.

EntitiesMP.dll - 1 error(s), 4 warning(s)
wtf?? что за ошибка, утром её не было.

SLAwww Воскресенье, 23.12.2012, 21:46 | Сообщение # 1667


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Неправильно настроен проект и/или сама IDE. Возможно, ты открыл проект не в VC++ 6.0.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
XFighter Понедельник, 24.12.2012, 13:09 | Сообщение # 1668


Сообщений: 20
Награды: 0
Замечания: 20%
 
SLAwww, я его открывал в vc++6.0, как что буду заново настраивать сдк.

Добавлено (24.12.2012, 09:10)
---------------------------------------------
хм, вроде бы всё работает, я просто диск когда вытащил (:E) у меня там сдк, как сразу вирус выдал, который половину файлов сожрал >( , я в HUD.CPP хотел радар отрегулировать, чтобы он ловил врагов с далекого расстояния, а не с близкого, не получилось ошибку эту выдал.

Добавлено (24.12.2012, 13:09)
---------------------------------------------
Помогите, я решил сделать SeriousSpeed для врагов, он что-то не работает. Я прописал в EnemyBase.es вот это, вот код:
// SeriousSpeed for enemies
void SeriousSpeed(void)
{
if (!m_bSeriousSpeed)

{
m_bSeriousSpeed = TRUE;
m_fAttackRunSpeed = 25.0f,
Particles_RunAfterBurner(this, m_bSeriousSpeed, 1.6f, 0);



}
}
Если что-то не правильно, подправьте код, пожалуйста.

Сообщение отредактировал XFighter - Понедельник, 24.12.2012, 09:11


SLAwww Понедельник, 24.12.2012, 20:57 | Сообщение # 1669


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Во-первых, когда вызывается этот метод? Он должен вызываться уже после того, как в процедуре Main у врага были заданы значения его переменных. Во-вторых, m_fAttackRunSpeed - не единственный параметр, отвечающий за скорость бега, там ещё есть m_fCloseRunSpeed. В третьих, партикли отрисовываются не так - их нужно отрисовывать в AdjustShadingParameters в каждом кадре.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
CAHEK Среда, 26.12.2012, 10:56 | Сообщение # 1670


Сообщений: 794
Награды: 16
Замечания: 0%
 
Ситуация. Я хочу сделать так что бы когда работает «Камера» (в смысле ентия) то от при нажатии левой или правой кнопки мыши идут сигналы на триггеры которые указаны в камере.
Указатели в камере я сделал на примере триггеров добавив

Код

   75 enum EventEType m_eetEvent1     "Event type Tar 01" 'G' = EET_TRIGGER,    
  76 enum EventEType m_eetEvent2     "Event type Tar 02" 'Z' = EET_TRIGGER,  

   77 CEntityPointer m_penTar1     "Tar 01" 'X' COLOR(C_RED|0xFF),
78 CEntityPointer m_penTar2     "Tar 01" 'X' COLOR(C_RED|0xFF),
   79 CEntityPointer m_penCaused,       


Теперь нужно (как я думаю) в player.es
Нужно добавить типа вот этого

Код

if (ulNewButtons&(PLACT_FIRE|PLACT_USE|PLACT_COMPUTER)) {
        if (111111111) {
CEntity *m_penTar1 = ((CCamera&)*m_penCamera).m_penTar1; // 222222
}
}


Но я не знаю
1. Что с чем сравнивать там, где стоят единицы.
2. Правильно составлена строка там, где стоят двойки.
3. Куда этот код вставить (в player.es много чего с камерой а какая верная я незнаю).
4. (Сначала сделал, а потом задумался) ход мыслей вообще верен или я тут всякую чушь написал.
Сообщение отредактировал CAHEK - Среда, 26.12.2012, 11:00


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Среда, 26.12.2012, 21:01 | Сообщение # 1671


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Вообще, не обязательно это делать через игрока. Я об этом уже не раз писал - достаточно в цикле в любой энтити проверять _pShell->GetINDEX("ctl_bMoveForward") (вместо clt_bMoveForward можно любой другой Control-параметр); это выражение вернёт 1, если клавиша нажата. Твой путь тоже будет работать, но он сложнее, и тебе лучше пока что туда не лезть.

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
SeriousAlexej Пятница, 28.12.2012, 17:12 | Сообщение # 1672


Serious Editor
Сообщений: 1246
Награды: 52
Замечания: 0%
 
Такая вот проблема:

Запускаю у себя сервер и подключаюсь к нему, повторно запустив Сэма. Выбираю тип связи - старый модем.
Проблема в том, что иногда у сервера и у клиента функция GetPlacement() возвращает разные значения с отклонением от 1й тысячной, до 2х целых в одном из параметров... Как с этим бороться?
Еще хотел бы узнать разницу между GetPlacement() и GetLerpedPlacement().


XFighter Пятница, 28.12.2012, 20:44 | Сообщение # 1673


Сообщений: 20
Награды: 0
Замечания: 20%
 
SLAwww, я вообще ничего не понял, а ты можешь подробнее описать эту функцию?

SLAwww Пятница, 28.12.2012, 22:30 | Сообщение # 1674


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Это виртуальный метод CEntity для переопределения параметров затенения модели. В CEnemyBase, например, он перегружен (строка 780).

SeriousAlexej, GetLerpedPlacement возвращает усреднённое месторасположение между двумя отсчётами таймера. А у какого объекта неправильно работает GetPlacement? У игрока? У других объектов работает правильно?


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
SeriousAlexej Суббота, 29.12.2012, 00:47 | Сообщение # 1675


Serious Editor
Сообщений: 1246
Награды: 52
Замечания: 0%
 
Да, у игрока. У других вроде-бы все правильно.

XFighter Суббота, 29.12.2012, 10:30 | Сообщение # 1676


Сообщений: 20
Награды: 0
Замечания: 20%
 
SLAwww, спасибо :D

Добавлено (29.12.2012, 10:30)
---------------------------------------------
а теперь у меня есть такой вопрос
У меня есть радар, но он ловит врагов на близком расстоянии, а мне надо чтобы он их ловил с дальнего расстояния, но при этом не выежая за края радара.
вот код радара: это туториал Armern'a.
// draw radar
{FOREACHINDYNAMICCONTAINER(((CEntity&)*_penPlayer).GetWorld()->wo_cenEntities, CEntity, iten) { // For every entity in the level
CEntity *pen = iten;
if (IsDerivedFromClass(pen, "Enemy Base")) { // if entity is an Enemy Base
CEnemyBase *penEnemy = (CEnemyBase *)pen; // basicly we make a new enemy thing, Hey I may not know how to explain it, but atleast I know what it does.. hehe
if (penEnemy->m_penEnemy==NULL) {
continue;
}

CPlacement3D plEnemy; // we make a new placement thing
plEnemy.pl_PositionVector=penEnemy->GetPlacement().pl_PositionVector; // get the position of this enemy (
plEnemy.pl_OrientationAngle=FLOAT3D(0,0,0); // set it to 0,0,0 for now.
plEnemy.AbsoluteToRelativeSmooth(((CEntity&)*_penPlayer).GetPlacement()); // get it's position relative to the position of the player. It's a bunch of maths...

FLOAT EnemyOnHudX=plEnemy.pl_PositionVector(1); // X position of the enemy (dot) relative to the player
FLOAT EnemyOnHudY=plEnemy.pl_PositionVector(3);// Y position of the enemy (dot) relative to the player
FLOAT posX = EnemyOnHudX*2.5+_pDP->GetWidth()-128; // in my radar, the center of my radar is 128 pixels from the side
FLOAT posY = EnemyOnHudY*2.5+_pDP->GetHeight()-128;// and 128 pixels from the bottom. Also, you can set the 2.5 to different amounts. A higher number means a wider range the radar will show. I'm not good at explaining maths, so you'll have to take it for granted.. sorry :).
FLOAT fRadarRadius = 48.5f; // the radius of the radar in meters (SEd units)..
COLOR colRdot = C_WHITE|255;
FLOAT m_fEnemyHealth = 0.0f;

m_fEnemyHealth = ((CEnemyBase*)pen)->GetHealth() / ((CEnemyBase*)pen)->m_fMaxHealth; // Get the health of this enemy

if( (penEnemy->GetPlacement().pl_PositionVector - ((CEntity&)*_penPlayer).GetPlacement().pl_PositionVector ).Length() < fRadarRadius ) // if the enemy is less than 24 meters away from the player
{
colRdot = C_GREEN|255; // give the dot a green colour
if( m_fEnemyHealth<0.25f) { colRdot = C_RED|255; } // whoops, he's allmost dead. this is to check if it's health is lower than 25.
else if( m_fEnemyHealth<0.60f) { colRdot = C_YELLOW|255; } // if it's a little lower, make it yellow
else if( m_fEnemyHealth<0.01f) { colRdot = C_RED|0; } // I added this for my own test, but it appears not to always work. I want the dot to dissapear when an enemy is basicly dead.. for some reason it's health never becomes this low when he's dead?
else { colRdot = C_GREEN|255; } // or else, his health is pretty high, so he may stay green.
} else
{
colRdot = C_WHITE|0; // if his position relative to the player is more than 24 meters, make it invisible.
}

_pDP->InitTexture(&_rDot); // Here we intialize the dot texture
_pDP->AddTexture(posX-8/2,posY-8/2,posX+8/2,posY+8/2, colRdot); // we place it at the correct position. We must tell it to substract half the image size for the left, half at the top, and add half to the bottom and right, or else you wouldn't see a dot (texture) at all.
_pDP->FlushRenderingQueue();

}
}}
Сообщение отредактировал XFighter - Суббота, 29.12.2012, 12:55


SLAwww Суббота, 29.12.2012, 18:04 | Сообщение # 1677


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
XFighter, в комментариях к коду всё написано, прочитай внимательно.
SeriousAlexej, вероятно, GetPlacement у сервера и у клиента вызываются несинхронно, или на чём-то отразилась применённая где-то функция FRnd/Rnd.


Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
XFighter Суббота, 29.12.2012, 19:06 | Сообщение # 1678


Сообщений: 20
Награды: 0
Замечания: 20%
 
SLAwww, ок :D

Heming_Hitrowski Суббота, 29.12.2012, 19:12 | Сообщение # 1679


Double Jumper
Сообщений: 887
Награды: 32
Замечания: 0%
 
помогите составить условие, пожалуйста
если у игрока в руках m_icurrentweapon и больше никакого оружия нет кроме него в инвентаре


SLAwww Суббота, 29.12.2012, 19:31 | Сообщение # 1680


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
if( !( m_iAvailableWeapons & ( !( 1<< (m_icurrentweapon-1) ) ) ) )

Where did all the dragons go?
We searched in the hills and we searched down the canyons,
we even scanned the depths of the caves with our armour, swords and lanterns.
Oh, if only had we seen him lurch, from his glorious skull covered perch.

CRACK went his claws and SMACK swipped the tail,
a ROAR of might, one big BITE.

and so ended our search.
Поиск: