![]() |
|
|||||||
| Общие вопросы. ZM Обсуждаем вопросы связанные непосредственно с игрой |
![]() |
|
|
Опции темы | Опции просмотра |
|
|
#21 |
|
Читатель
Регистрация: 12.01.2008
Сообщений: 2,089
Поблагодарил(а): 644
Получил(а): 492 "Спасибо" за 339 сообщений
Сказал(а) Фууу!: 25
Сказали Фууу! 22 раз(а) в 13 сообщениях
Репутация: 514 ![]() ![]() ![]() ![]() ![]() ![]() |
Хотя чисто теоретически можно наверное забабахать плагин, который по истечение определенного времени будет портировать всех теров на респ.
Например, зомб появляется через 30сек, а через 32 сек его и тех, кого он успел цапнуть портует на респ. На досуге попробую это сделать. |
|
|
|
|
|
#22 | |
|
ХОМАсапиенс
![]() Генерал армииРегистрация: 16.01.2008
Адрес: hAmsterDam
Имя: Вадимка
Сообщений: 6,085
Поблагодарил(а): 1,002
Получил(а): 1,462 "Спасибо" за 816 сообщений
Сказал(а) Фууу!: 0
Сказали Фууу! 6 раз(а) в 6 сообщениях
Репутация: 1569 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
| Реклама |
|
|
#23 |
|
Читатель
Регистрация: 12.01.2008
Сообщений: 2,089
Поблагодарил(а): 644
Получил(а): 492 "Спасибо" за 339 сообщений
Сказал(а) Фууу!: 25
Сказали Фууу! 22 раз(а) в 13 сообщениях
Репутация: 514 ![]() ![]() ![]() ![]() ![]() ![]() |
Почему в одну точку?
Если два человека одновременно пишут зтеле, они не обязательно друг в друге застревают |
|
|
|
|
|
#24 |
|
Читатель
Регистрация: 12.01.2008
Сообщений: 2,089
Поблагодарил(а): 644
Получил(а): 492 "Спасибо" за 339 сообщений
Сказал(а) Фууу!: 25
Сказали Фууу! 22 раз(а) в 13 сообщениях
Репутация: 514 ![]() ![]() ![]() ![]() ![]() ![]() |
Как и обещал, вот скрипт:
Код:
#include <sourcemod>
#include <sdktools_functions>
#include <sdktools>
#include <cstrike>
#include <hacks>
#define VERSION "0.5"
new Float:spawnLoc[MAXPLAYERS+1][3];
public Plugin:myinfo =
{
name = "tele_zm",
author = "TPOLI,KUU[B/IKCM]",
description = "tele for zombie",
version = VERSION,
url = "www.sourcemod.net"
};
public OnPluginStart()
{
HookEvent("round_freeze_end", RoundFreezeEnd);
HookEvent("player_spawn", PlayerSpawn);
}
public RoundFreezeEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
CreateTimer(20.0, TeleZombie, _, TIMER_FLAG_NO_MAPCHANGE);
}
public Action:TeleZombie(Handle:timer)
{
for (new i = 1; i <= MaxClients+1; i++)
{
if (GetClientHealth(i) > 100)
{
TeleportEntity(i, spawnLoc[i], NULL_VECTOR, NULL_VECTOR);
}
}
}
public Action:PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new index = GetClientOfUserId(GetEventInt(event, "userid"));
GetClientAbsOrigin(index, spawnLoc[index]);
}
В данном варианте 20 сек. После чего компилируйте и устанавливайте. Плагин портует всех зомбей, которые появятся к этому моменту. (т.е. можно специально портовать чуть позже, чтобы зомби имел возможнось кого-нить цапнуть ).Портуются зомби на те места, на которых спаунились.
__________________
Здесь слово "русский" не вполне политкорректно, Вот "россиянин" - это "чисто" и "конкретно". (с) Кинчев Последний раз редактировалось TPOLI,KUU[B/IKCM]; 30.06.2009 в 03:50.. |
|
|
|
| Эти 3 человек(а) поблагодарили пользователя TPOLI,KUU[B/IKCM] за полезное сообщение: | |
|
|
#25 |
|
Читатель
Регистрация: 12.01.2008
Сообщений: 2,089
Поблагодарил(а): 644
Получил(а): 492 "Спасибо" за 339 сообщений
Сказал(а) Фууу!: 25
Сказали Фууу! 22 раз(а) в 13 сообщениях
Репутация: 514 ![]() ![]() ![]() ![]() ![]() ![]() |
вот другой вариант.
Во-первых добавлены переменные для включения плагина и установки времени. Во-вторых первый вариант не всегда корректно работает (почему не знаю, но бывает что не всех зомбей портует). Код:
#include <sourcemod>
#include <sdktools_functions>
#include <sdktools>
#include <cstrike>
#include <hacks>
#define VERSION "1.0"
new Float:spawnLoc[MAXPLAYERS+1][3];
new Handle:Switch;
new Handle:tLIMIT;
new bool: aRestrict[MAXPLAYERS+1];
public Plugin:myinfo =
{
name = "tele_zm",
author = "TPOLI,KUU[B/IKCM]",
description = "tele zombie",
version = VERSION,
url = "www.sourcemod.net"
};
public OnPluginStart()
{
Switch = CreateConVar("tele_on","1","Turns the plugin on and off 1/0",FCVAR_NOTIFY);
tLIMIT = CreateConVar("time_tele","20.0","time v sec");
HookEvent("round_freeze_end", RoundFreezeEnd);
HookEvent("player_spawn", PlayerSpawn);
}
public RoundFreezeEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
new Float:time = GetConVarFloat(tLIMIT);
CreateTimer(time, TeleZombie, _, TIMER_FLAG_NO_MAPCHANGE);
}
public Action:TeleZombie(Handle:timer)
{
new maxplayers = GetMaxClients();
for (new i = 1; i <= maxplayers; i++)
{
if (GetClientHealth(i) > 100 && GetConVarInt(Switch) && aRestrict[i] != true)
{
TeleportEntity(i, spawnLoc[i], NULL_VECTOR, NULL_VECTOR);
aRestrict[i] = true;
}
}
}
//-----------------------------------------------------------------------------------------------------
public Action:PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
GetClientAbsOrigin(client, spawnLoc[client]);
new Float:time = GetConVarFloat(tLIMIT);
CreateTimer(time+5.0, TeleZombie2, client, TIMER_FLAG_NO_MAPCHANGE);
aRestrict[client] = false;
}
public Action:TeleZombie2(Handle:timer, any:index)
{
if (GetClientHealth(index) > 100 && GetConVarInt(Switch) && aRestrict[index] != true)
{
TeleportEntity(index, spawnLoc[index], NULL_VECTOR, NULL_VECTOR);
aRestrict[index] = true;
}
}
|
|
|
|
| Эти 3 человек(а) поблагодарили пользователя TPOLI,KUU[B/IKCM] за полезное сообщение: | |
|
|
#26 |
|
0.0
Капитан
Регистрация: 19.12.2008
Адрес: Москва,Бутово.
Имя: Гриха.
Сообщений: 873
Поблагодарил(а): 62
Получил(а): 88 "Спасибо" за 67 сообщений
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Репутация: 85 ![]() |
Сам писал?
|
|
|
|
|
|
#27 |
|
Читатель
Регистрация: 12.01.2008
Сообщений: 2,089
Поблагодарил(а): 644
Получил(а): 492 "Спасибо" за 339 сообщений
Сказал(а) Фууу!: 25
Сказали Фууу! 22 раз(а) в 13 сообщениях
Репутация: 514 ![]() ![]() ![]() ![]() ![]() ![]() |
Ну да, простенький плагин. Правда вот почему первый вариант не всегда хорошо работает не понимаю.
|
|
|
|
|
|
#28 |
|
0.0
Капитан
Регистрация: 19.12.2008
Адрес: Москва,Бутово.
Имя: Гриха.
Сообщений: 873
Поблагодарил(а): 62
Получил(а): 88 "Спасибо" за 67 сообщений
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Репутация: 85 ![]() |
|
|
|
|
|
|
#29 |
|
Читатель
Регистрация: 12.01.2008
Сообщений: 2,089
Поблагодарил(а): 644
Получил(а): 492 "Спасибо" за 339 сообщений
Сказал(а) Фууу!: 25
Сказали Фууу! 22 раз(а) в 13 сообщениях
Репутация: 514 ![]() ![]() ![]() ![]() ![]() ![]() |
Да нигде. Просто берешь сходный (или несколько сходных) по назначению плагин и выковыриваешь из него, то что тебе нужно. Че-нить простенькое не проблемма так накатать.
Если хочешь могу этот плагин расписать, как и че он делает.
__________________
Здесь слово "русский" не вполне политкорректно, Вот "россиянин" - это "чисто" и "конкретно". (с) Кинчев Последний раз редактировалось TPOLI,KUU[B/IKCM]; 01.07.2009 в 20:25.. |
|
|
|
|
|
#30 |
|
0.0
Капитан
Регистрация: 19.12.2008
Адрес: Москва,Бутово.
Имя: Гриха.
Сообщений: 873
Поблагодарил(а): 62
Получил(а): 88 "Спасибо" за 67 сообщений
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Репутация: 85 ![]() |
Давай) По Steam? Аськи нету,но есть скайп)
|
|
|
|
![]() |
| Закладки |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | |
| Опции просмотра | |
|
|