| 
 
 
	
		
		
			| По поводу эффектов |  |  |  | 
| zhekazadrot | Дата: Четверг, 20.11.2014, 21:08:24 | Сообщение # 1 |  |   
|  |  | Сообщений: 22 Репутация: 0 [ +/- ]
 |  | Подскажите как сделать в Basic effect что бы при убийстве игрока в него ударяла молния,попрошу сразу кинуть готовый скрипт(Просто я тупой не знаю что куда вставлять):D 
 ВОТ МОЙ СКРИПТ
 
 #include sourcemod
 
 public OnPluginStart()
 {
 HookEvent("player_hurt", Hurt);
 }
 
 public Action:Hurt(Handle:event, const String:name[], bool:dontBroadcast)
 {
 new client = GetClientOfUserId(GetEventInt(event, "userid")); //Получаем айди раненого
 new Float:pos[3];
 GetClientAbsOrigin(client, pos); //И его позицию
 
 pos[2] = pos[2] + 30.0; //Добавляем к позиции ног 30 по высоте, чтобы молния била в тело
 
 new randomx = GetRandomInt(-500, 500); //Делаем молнию. Объяснять не буду, т.к. написано в самом плагине.
 new randomy = GetRandomInt(-500, 500);
 
 new Float:startpos[3];
 startpos[0] = pos[0] + randomx;
 startpos[1] = pos[1] + randomy;
 startpos[2] = pos[2] + 800;
 
 
 new color[4] = {0, 0, 255, 255};
 
 new Float:dir[3] = {0.0, 0.0, 0.0};
 
 TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 20.0, 10.0, 0, 2.0, color, 3);
 TE_SendToAll();
 
 TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 10.0, 5.0, 0, 1.0, {255, 255, 255, 255}, 3);
 TE_SendToAll();
 
 TE_SetupSparks(pos, dir, 5000, 1000);
 TE_SendToAll();
 
 TE_SetupEnergySplash(pos, dir, false);
 TE_SendToAll();
 
 TE_SetupSmoke(pos, g_SteamSprite, 5.0, 10);
 TE_SendToAll();
 }
 
 ПРАВИЛЬНО???
 
 
 Сообщение отредактировал zhekazadrot - Четверг, 20.11.2014, 21:48:57 |  |  |  |  |  | 
| dron216 | Дата: Четверг, 20.11.2014, 23:28:43 | Сообщение # 2 |  |   
|  |  | Сообщений: 151 Репутация: 18 [ +/- ]
 |  |  Нет =D
 Тебе нужно событие player_death, а не player_hurt
 
 
 Сообщение отредактировал dron216 - Четверг, 20.11.2014, 23:30:05 |  |  |  |  |  | 
| KiKiEEKi | Дата: Пятница, 21.11.2014, 07:18:32 | Сообщение # 3 |  |   
|  |  | Сообщений: 21 Репутация: -1 [ +/- ]
 |  | Вот уже готовый, использовал на своем сервере, прекрасно работает. 
 Код #pragma semicolon 1 
 #include <sourcemod>
 #include <sdktools>
 
 new g_LightningSprite;
 new g_SteamSprite;
 
 public OnPluginStart()
 {
 HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post);
 }
 
 public OnMapStart()
 {
 g_SteamSprite = PrecacheModel("sprites/steam1.vmt");
 g_LightningSprite = PrecacheModel("sprites/lgtning.vmt");
 }
 
 public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
 {
 //3) Делаем направление искр (к началу координат карты)
 //4) Делаем цвет молнии (у нас синий)
 new Float:pos[3], Float:startpos[3], Float:dir[3] = {0.0, 0.0, 0.0}, color[4] = {0, 0, 255, 255};
 
 GetClientAbsOrigin(GetClientOfUserId(GetEventInt(event, "userid")), pos);
 
 // Получаем верхнюю точку молнии + случайные позиции Х и У и выше нижней позиции на 800, чтобы молния била сверху вниз
 startpos[0] = pos[0] + GetRandomInt(-500, 500);
 startpos[1] = pos[1] + GetRandomInt(-500, 500);
 startpos[2] = pos[2] + 800;
 
 TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 20.0, 10.0, 0, 2.0, color, 3); //Делаем лазер с амплитудой в 2 единицы
 TE_SendToAll(); // Применяем
 
 TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 10.0, 5.0, 0, 1.0, {255, 255, 255, 255}, 3); //Делаем второй лазер (белый) с амплитудой в 1 единицу
 TE_SendToAll(); // Применяем //И в 2 раза уже, чтобы молния смотрелась органично
 
 TE_SetupSparks(pos, dir, 5000, 1000); //Делаем искры
 TE_SendToAll(); // Применяем
 
 TE_SetupEnergySplash(pos, dir, false); //Делаем всплеск энергии
 TE_SendToAll(); // Применяем
 
 TE_SetupSmoke(pos, g_SteamSprite, 5.0, 10); //Делаем дым
 TE_SendToAll(); // Применяем
 
 // TE_SetupBeamRingPoint(pos, 10.0, 70.0, g_BeamSprite, g_HaloSprite, 0, 15, 15.0, 2.0, 0.0, {255, 255, 0, 255}, 10, 0); //Можно добавить маяк, если хотите.
 // TE_SendToAll();
 if (!dontBroadcast)
 SetEventBroadcast(event, true);
 }
 |  |  |  |  |  | 
| Vadim0890 | Дата: Четверг, 15.04.2021, 18:28:57 | Сообщение # 4 |  |   
|  |  | Сообщений: 29 Репутация: 0 [ +/- ]
 |  | Цитата KiKiEEKi (  )  #pragma semicolon 1
 #include <sourcemod>
 #include <sdktools>
 
 new g_LightningSprite;
 new g_SteamSprite;
 
 public OnPluginStart()
 {
 HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post);
 }
 
 public OnMapStart()
 {
 g_SteamSprite = PrecacheModel("sprites/steam1.vmt");
 g_LightningSprite = PrecacheModel("sprites/lgtning.vmt");
 }
 
 public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
 {
 //3) Делаем направление искр (к началу координат карты)
 //4) Делаем цвет молнии (у нас синий)
 new Float:pos[3], Float:startpos[3], Float:dir[3] = {0.0, 0.0, 0.0}, color[4] = {0, 0, 255, 255};
 
 GetClientAbsOrigin(GetClientOfUserId(GetEventInt(event, "userid")), pos);
 
 // Получаем верхнюю точку молнии + случайные позиции Х и У и выше нижней позиции на 800, чтобы молния била сверху вниз
 startpos[0] = pos[0] + GetRandomInt(-500, 500);
 startpos[1] = pos[1] + GetRandomInt(-500, 500);
 startpos[2] = pos[2] + 800;
 
 TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 20.0, 10.0, 0, 2.0, color, 3); //Делаем лазер с амплитудой в 2 единицы
 TE_SendToAll(); // Применяем
 
 TE_SetupBeamPoints(startpos, pos, g_LightningSprite, 0, 0, 0, 0.2, 10.0, 5.0, 0, 1.0, {255, 255, 255, 255}, 3); //Делаем второй лазер (белый) с амплитудой в 1 единицу
 TE_SendToAll(); // Применяем //И в 2 раза уже, чтобы молния смотрелась органично
 
 TE_SetupSparks(pos, dir, 5000, 1000); //Делаем искры
 TE_SendToAll(); // Применяем
 
 TE_SetupEnergySplash(pos, dir, false); //Делаем всплеск энергии
 TE_SendToAll(); // Применяем
 
 TE_SetupSmoke(pos, g_SteamSprite, 5.0, 10); //Делаем дым
 TE_SendToAll(); // Применяем
 
 // TE_SetupBeamRingPoint(pos, 10.0, 70.0, g_BeamSprite, g_HaloSprite, 0, 15, 15.0, 2.0, 0.0, {255, 255, 0, 255}, 10, 0); //Можно добавить маяк, если хотите.
 // TE_SendToAll();
 if (!dontBroadcast)
 SetEventBroadcast(event, true);
 }
Может кто переделать код немного, чтобы эффект был только при убийстве в голову и сделать админский флаг z ? Буду очень благодарен.
 |  |  |  |  |  
 |