Перейти к содержимому


Фотография

Ломать двери за один удар


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 anarki1980

anarki1980

    Участник

  • Пользователь
  • PipPip
  • 147 сообщений

Отправлено 20 Январь 2024 - 17:46

Всем привет кто здесь еще бывает :)

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



#2 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 20 Январь 2024 - 18:21

Всем привет кто здесь еще бывает :)

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

Прикрепленный файл  DoorDissolver.sp   1,34К   3 Количество загрузок:


Сообщение отредактировал BloodyBlade: 20 Январь 2024 - 20:15


#3 anarki1980

anarki1980

    Участник

  • Пользователь
  • PipPip
  • 147 сообщений

Отправлено 20 Январь 2024 - 18:54

Спасибо за ответ!

Судя по коду это твоя наработка? Почему только для громилы если не секрет?

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

Я думал можно как то ХП через стриппер поменять на минимальное, глянул дамп, а у дверей health == 0 по умолчанию, там какой то подвох с этим.



#4 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 20 Январь 2024 - 20:17

Спасибо за ответ!

Судя по коду это твоя наработка? Почему только для громилы если не секрет?

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

Я думал можно как то ХП через стриппер поменять на минимальное, глянул дамп, а у дверей health == 0 по умолчанию, там какой то подвох с этим.

Да. Я тоже не нашёл было другого варианта, как растворять. Обновил. Как у меня по-факту стоит. На всех боссов действует, но гром ещё и в рывке дверь растворит, не успев врезаться в неё.



#5 Alexander_Mirny

Alexander_Mirny

    Пользователь

  • Пользователь
  • PipPipPip
  • 371 сообщений

Отправлено 20 Январь 2024 - 20:19

Спасибо за ответ!

Судя по коду это твоя наработка? Почему только для громилы если не секрет?

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

Я думал можно как то ХП через стриппер поменять на минимальное, глянул дамп, а у дверей health == 0 по умолчанию, там какой то подвох с этим.

Это все легко дорабатывается, указывается класс боса и со звуками тоже все просто, и с обломками. 

Главное фантазия и знания базы.



#6 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 20 Январь 2024 - 20:43

Это все легко дорабатывается, указывается класс боса и со звуками тоже все просто, и с обломками. 

Главное фантазия и знания базы.

Болтать хорошо. Подскажи, как тогда, раз знаешь.



#7 anarki1980

anarki1980

    Участник

  • Пользователь
  • PipPip
  • 147 сообщений

Отправлено 20 Январь 2024 - 22:10

Короче не получилось через стриппер как я хотел, пришлось тоже плагин запилить.

Можно попробовать еще хук на касание повесить чтобы громила насквозь пробегал, но я не пробовал, мне достаточно быстрого ломания.

#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#pragma semicolon 1

#define IS_VALID_CLIENT(%1)     (%1 > 0 && %1 <= MaxClients)
#define IS_SURVIVOR(%1)         (GetClientTeam(%1) == 2)
#define IS_INFECTED(%1)         (GetClientTeam(%1) == 3)
#define IS_VALID_INGAME(%1)     (IS_VALID_CLIENT(%1) && IsClientInGame(%1))
#define IS_VALID_SURVIVOR(%1)   (IS_VALID_INGAME(%1) && IS_SURVIVOR(%1))
#define IS_VALID_INFECTED(%1)   (IS_VALID_INGAME(%1) && IS_INFECTED(%1))
#define IS_SURVIVOR_ALIVE(%1)   (IS_VALID_SURVIVOR(%1) && IsPlayerAlive(%1))
#define IS_INFECTED_ALIVE(%1)   (IS_VALID_INFECTED(%1) && IsPlayerAlive(%1))

public Plugin:myinfo = 
{
	name = "Fragile doors",
	author = "Anarki",
	description = "Doors die after any damage by infected player",
	version = "1",
	url = " "
}

public OnPluginStart()
{
	HookEvent("player_left_start_area", PlayerLeftStartArea_Event, EventHookMode_PostNoCopy);
}

public Action:PlayerLeftStartArea_Event(Handle:event, const String:name[], bool:dontBroadcast)
{
	int doorEntity = FindEntityByClassname(-1, "prop_door_rotating");
	while (doorEntity >= 0)
        {
                if (!IsValidEntity(doorEntity)) 
		     continue;
		
		SDKHook(doorEntity, SDKHook_OnTakeDamagePost, DoorDamaged);
		doorEntity = FindEntityByClassname(doorEntity, "prop_door_rotating");
	}
}

public DoorDamaged(victim, attacker, inflictor, Float:damage, damageType) 
{
	if(!IS_INFECTED_ALIVE(attacker) || !IsValidEntity(victim))
		return;
		
	SDKUnhook(victim, SDKHook_OnTakeDamagePost, DoorDamaged);
	
	decl Float:clientPos[3];
	decl Float:doorPos[3];
	decl Float:direction[3];
	GetClientAbsOrigin(attacker, clientPos);
	GetEntPropVector(victim, Prop_Send, "m_vecOrigin", doorPos);
	SubtractVectors(doorPos, clientPos, direction);
	SDKHooks_TakeDamage(victim, attacker, attacker, 1200.0, 128, _, direction, clientPos);	
}


Сообщение отредактировал anarki1980: 20 Январь 2024 - 22:11

  • BloodyBlade это нравится

#8 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 20 Январь 2024 - 22:27

Только один вопрос, а почему именно в Post?



#9 Райский

Райский

    Пользователь

  • Пользователь
  • PipPipPip
  • 270 сообщений

Отправлено 20 Январь 2024 - 23:50

------

 

Не ? А то какая-то курага =D 

 

Скрытый текст

Сообщение отредактировал Райский: 21 Январь 2024 - 8:54


#10 anarki1980

anarki1980

    Участник

  • Пользователь
  • PipPip
  • 147 сообщений

Отправлено 21 Январь 2024 - 1:14

Только один вопрос, а почему именно в Post?

Без всякой видимой причины, я ж не с нуля пишу а копипащу с других скриптов просто куски, не думал что тут код ревью будет :)



#11 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 21 Январь 2024 - 12:39

Без всякой видимой причины, я ж не с нуля пишу а копипащу с других скриптов просто куски, не думал что тут код ревью будет :)

Не тестировал, но по-идее, должно сработать и так:

Скрытый текст


#12 Райский

Райский

    Пользователь

  • Пользователь
  • PipPipPip
  • 270 сообщений

Отправлено 21 Январь 2024 - 14:08

Скрытый текст

 

Я тоже-самое кинул 



#13 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 102 сообщений

Отправлено 21 Январь 2024 - 14:21

Скрытый текст

 

Я тоже-самое кинул 

У меня немного другое в текущей версии, что я скинул


Сообщение отредактировал BloodyBlade: 21 Январь 2024 - 14:22



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных