Psych, если только дополнить стандартный. Иначе никак.
Quote (Psych)
И как мне всунуть в dll другой EntitiesMP????
До сих пор в топе загрузок и просмотров... Неужели я тоже оставил свой след на этом сайте? А ведь я здесь уже целых двенадцать лет... Удалил свои старые карты из профиля, на кой они мне. Маппер из меня никудышный.
Psych, компилируют с помощью Visual C++. F7 жми, если все готово.
До сих пор в топе загрузок и просмотров... Неужели я тоже оставил свой след на этом сайте? А ведь я здесь уже целых двенадцать лет... Удалил свои старые карты из профиля, на кой они мне. Маппер из меня никудышный.
C:\ProgramFiles\Microsoft Visual Studio\Common\Msdev98\bin Пример пути. Дословно
До сих пор в топе загрузок и просмотров... Неужели я тоже оставил свой след на этом сайте? А ведь я здесь уже целых двенадцать лет... Удалил свои старые карты из профиля, на кой они мне. Маппер из меня никудышный.
Ты же говорил, что у тебя есть SDK! o\ _ /o Psych, я тебе не знаю, что сделаю. Read the fucking manual! На с-зоне есть закрепленный тред про настройку MSVC++. forums.seriouszone.com/showthread.php?t=2984
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.
Ох нет, Слава! У меня есть SDK и я умею им пользоваться! Это так же просто как писать ЛТХашки! У меня проблемы с добавлением моих трудов в саму игру
Вот доказательства: Первое где гнаар при смерти оставляет 90 кусков мяса и его почти нереально убить, и каже он гигантского размера ( последне методом Стреча ):
/* 60 model MODEL_EYEMAN_BODY "Models\\Enemies\\Eyeman\\Debris\\Torso.mdl", 61 model MODEL_EYEMAN_HAND "Models\\Enemies\\Eyeman\\Debris\\Arm.mdl", 62 model MODEL_EYEMAN_LEGS "Models\\Enemies\\Eyeman\\Debris\\Leg.mdl", */
functions: // describe how this enemy killed player virtual CTString GetPlayerKillDescription(const CTString &strPlayerName, const EDeath &eDeath) { CTString str; if (m_bInAir) { str.PrintF(TRANS("A Gnaar bit %s to death"), strPlayerName); } else { str.PrintF(TRANS("%s was beaten up by a Gnaar"), strPlayerName); } return str; } void Precache(void) { CEnemyBase::Precache(); PrecacheSound(SOUND_IDLE ); PrecacheSound(SOUND_SIGHT); PrecacheSound(SOUND_WOUND); PrecacheSound(SOUND_BITE ); PrecacheSound(SOUND_PUNCH); PrecacheSound(SOUND_DEATH); PrecacheSound(SOUND_MUMBLE); };
/* Entity info */ void *GetEntityInfo(void) { if (m_EecChar==EYC_SERGEANT) { return &eiEyemanBig; } else { return &eiEyemanSmall; } };
/* Receive damage */ void ReceiveDamage(CEntity *penInflictor, enum DamageType dmtType, FLOAT fDamageAmmount, const FLOAT3D &vHitPoint, const FLOAT3D &vDirection) { // eyeman can't harm eyeman if (!IsOfClass(penInflictor, "Eyeman")) { CEnemyFly::ReceiveDamage(penInflictor, dmtType, fDamageAmmount, vHitPoint, vDirection); // if died of chainsaw if (dmtType==DMT_CHAINSAW && GetHealth()<=0) { // must always blowup m_fBlowUpAmount = 0; } } };
/* Fill in entity statistics - for AI purposes only */ BOOL FillEntityStatistics(EntityStats *pes) { CEnemyBase::FillEntityStatistics(pes); switch(m_EecChar) { case EYC_SERGEANT: { pes->es_strName+=" Sergeant"; } break; case EYC_SOLDIER : { pes->es_strName+=" Soldier"; } break; } if (m_bInvisible) { pes->es_strName+=" Invisible"; } return TRUE; }
virtual const CTFileName &GetComputerMessageName(void) const { static DECLARE_CTFILENAME(fnmSergeant, "Data\\Messages\\Enemies\\EyemanGreen.txt"); static DECLARE_CTFILENAME(fnmSoldier , "Data\\Messages\\Enemies\\EyemanPurple.txt"); switch(m_EecChar) { default: ASSERT(FALSE); case EYC_SERGEANT: return fnmSergeant; case EYC_SOLDIER : return fnmSoldier; } }; /* Adjust model shading parameters if needed. */ BOOL AdjustShadingParameters(FLOAT3D &vLightDirection, COLOR &colLight, COLOR &colAmbient) { // no shadows for invisibles if (m_bInvisible) { colAmbient = C_WHITE; return FALSE; } else { return CEnemyBase::AdjustShadingParameters(vLightDirection, colLight, colAmbient); } }
// damage anim INDEX AnimForDamage(FLOAT fDamage) { DeactivateMumblingSound(); INDEX iAnim; if (m_bInAir) { switch (IRnd()%2) { case 0: iAnim = EYEMAN_ANIM_MORPHWOUND01; break; case 1: iAnim = EYEMAN_ANIM_MORPHWOUND02; break; default: ASSERTALWAYS("Eyeman unknown fly damage"); } } else { FLOAT3D vFront; GetHeadingDirection(0, vFront); FLOAT fDamageDir = m_vDamage%vFront; if (Abs(fDamageDir)<=10) { switch (IRnd()%3) { case 0: iAnim = EYEMAN_ANIM_WOUND03; break; case 1: iAnim = EYEMAN_ANIM_WOUND06; break; case 2: iAnim = EYEMAN_ANIM_WOUND07; break; } } else { if (fDamageDir<0) { iAnim = EYEMAN_ANIM_FALL01; } else { iAnim = EYEMAN_ANIM_FALL02; } } } StartModelAnim(iAnim, 0); return iAnim; };
// death INDEX AnimForDeath(void) { DeactivateMumblingSound(); INDEX iAnim; if (m_bInAir) { iAnim = EYEMAN_ANIM_MORPHDEATH; } else { FLOAT3D vFront; GetHeadingDirection(0, vFront); FLOAT fDamageDir = m_vDamage%vFront; if (fDamageDir<0) { iAnim = EYEMAN_ANIM_DEATH02; } else { iAnim = EYEMAN_ANIM_DEATH01; } } StartModelAnim(iAnim, 0); return iAnim; };
/************************************************************ * BLOW UP FUNCTIONS * ************************************************************/ // spawn body parts /*void BlowUp(void) { // get your size FLOATaabbox3D box; GetBoundingBox(box); FLOAT fEntitySize = box.Size().MaxNorm();
// hide yourself (must do this after spawning debris) SwitchToEditorModel(); SetPhysicsFlags(EPF_MODEL_IMMATERIAL); SetCollisionFlags(ECF_IMMATERIAL); };*/
/************************************************************ * MOVING FUNCTIONS * ************************************************************/ // check whether may move while attacking BOOL MayMoveToAttack(void) { if (m_bInAir) { return WouldNotLeaveAttackRadius(); } else { return CEnemyBase::MayMoveToAttack(); } }
// must be more relaxed about hitting then usual enemies BOOL CanHitEnemy(CEntity *penTarget, FLOAT fCosAngle) { if (IsInPlaneFrustum(penTarget, fCosAngle)) { return IsVisibleCheckAll(penTarget); } return FALSE; }; procedures: /************************************************************ * A T T A C K E N E M Y * ************************************************************/
Если посмотреть всю линию моего диалога с MasterST то можно заключить вывод только о том что я не знаю компилирование в дллшку. Но вывод об отсутствиии у меня SDK ну никак не напрашивается, причем сверху приведену доказательства, под спойлером
Сообщение отредактировалPsych - Понедельник, 14.05.2012, 16:48
Psych, опиши максимально подробно, от начала и до конца, что ты делал, чтобы получить в итоге такого гнаара.
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.
Хм, ну я отыскал параметр m_fBodyParts =, он там был на пятерочке, я поставил на 90 Потом в параметре SetHealth написал много-много девяток Ну а огроменный рост можно в редакторе сделать, там такая штука - Stretch Multiplayer
Ох нет, Слава! У меня есть SDK и я умею им пользоваться! Это так же просто как писать ЛТХашки! У меня проблемы с добавлением моих трудов в саму игру
Тебе уже дали ссылку на мануал, там все расписано... http://st-games.ucoz.net/publ....2-1-0-1 Я так понимаю, у тебя есть исходники, но нету MSVC++6 для их компиляции? -- ссылки в мануале битые, но VC++ всегда можно найти где-то здесь.
Quote (seriously_petr)
Больше у меня нет слов, все понятно объясняют, даже лох бы понял
Тебе в свое время тоже очень просто и доступно обьясняли, но всё никак не доходило. Поаккуратней с выражениями.
Сообщение отредактировалArtificia1 - Понедельник, 14.05.2012, 17:08
Тебе уже дали ссылку на мануал, там все расписано...
Будь спок! В ближайшее время пойду читать
Добавлено (14.05.2012, 17:05) --------------------------------------------- Во-во исходники есть а C++ на компе найти не могу, хотя она уже установлена и C:\ProgramFiles\Microsoft Visual Studio\Common\Msdev98\bin у меня нету
То есть, в самой игре ты своего гнаара не видел ни разу? Только поменял код и предположил, что он должен работать?
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.
И почему я ничего не делал плохого долдгое время, у меня замечания не убавляются
Перефразировав твоё выражение, следовало бы сказать "даже лох бы понял, как понизить себе замечания". Но это я, конечно, в шутку. ) А если серьёзно, то производи интересный материал и выкладывай, я уверен, что таким образом ты можешь произвести приятное впечатление на модераторов и заставить их смиловаться. Ах да, и веди себя сдержаннее. )
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.
Если посмотреть всю линию моего диалога с MasterST то можно заключить вывод только о том что я не знаю компилирование в дллшку. Но вывод об отсутствиии у меня SDK ну никак не напрашивается, причем сверху приведену доказательства, под спойлером
Quote (Psych)
Ок. А как компилировать?
Я разве утверждал, что у тебя нет СДК? Не утверждал, и не могу этого утверждать. Просто меня удивил факт умения работы с Сэмовским Software Development Kit при отсутствии Visual C++. Без него ты бы так и не узнал, успешно ли изменил что - то в коде, или нет.
До сих пор в топе загрузок и просмотров... Неужели я тоже оставил свой след на этом сайте? А ведь я здесь уже целых двенадцать лет... Удалил свои старые карты из профиля, на кой они мне. Маппер из меня никудышный.
У меня родилась новая идея - сделать чтобы некоторые пули пробивали врага насквозь и били заодно и следующего врага стоящего на траектории вылетающей пули. Но с каждым новым новым врагом пуля будет терять часть своей мощности.
Вот только не понимаю как сделать чтобы коллизия моделей врага не уничтожала пулю которая в них попала. Нигде немогу найти код =)
Пуля - это не объект класса CProjectile, и уничтожить её невозможно. Когда нужно выстрелить пулю, то объект стрелка создаёт объект класса CCastRay, который отбрасывает луч в заданном направлении. Если луч ударяется об что-нибудь, и это что-нибудь можно повредить, то цели наносится повреждение (InflictDirectDamage). Естественно, дальше повреждаемого объекта луч не проходит. Чтобы он проходил "сквозь" врагов, нужно после каждого задетого врага создавать ещё один CCastRay, который будет стрелять в том же направлении, что и предыдущий, но будет начинаться уже не у объекта-стрелка, а в том месте, где остановился прежний луч. При этом, нужно использовать параметр cr_penIgnore у CCastRay для того, чтобы второй луч игнорировал того врага, в которого попал первый луч.
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.