Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

исправить spec_switch_new

, я конечно незнаю,для какого мода делался этот плагин, но на ксдм'е
andreiwiz
сообщение 15.7.2014, 15:58
Сообщение #1
Стаж: 11 лет

Сообщений: 335
Благодарностей: 29
Полезность: 0

Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "Spec Switch"
#define VERSION "0.0.3"
#define AUTHOR "many"

new CsTeams:zTeam
new zDeath

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /spec", "spec")
register_clcmd("say_team /spec", "spec")
register_clcmd("say /back", "back")
register_clcmd("say_team /back", "back")
}

public spec(id) {
zDeath = cs_get_user_deaths(id)
if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return PLUGIN_HANDLED
else
zTeam = cs_get_user_team(id)
cs_set_user_team(id, CS_TEAM_SPECTATOR)
user_kill(id, 1)
return PLUGIN_CONTINUE
}

public back(id) {
if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
cs_set_user_team(id, zTeam)
cs_set_user_deaths(id, zDeath)
set_task(1.5,"respawn",id)
}
public rule(id){
ColorChat(id, "!yЧтобы перейти в !gспектаторы!y, напишите: !t/spec")
ColorChat(id, "!yЧтобы вернутся в !gигру!y, напишите: !t/back")
ColorChat(id, "!yIP адрес !gHSDM-FFA!y, !t/193.36.35.73:27016")
}

public respawn(id){
if (is_user_alive(id)){
return PLUGIN_HANDLED
}
else{
cs_user_spawn(id)
if (cs_get_user_team(id) == CS_TEAM_T){
give_item(id,"weapon_knife")
give_item(id,"weapon_glock18")
give_item(id,"ammo_9mm")
}
if (cs_get_user_team(id) == CS_TEAM_CT){
give_item(id,"weapon_knife")
give_item(id,"weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
}
}
return PLUGIN_CONTINUE
}


public client_putinserver(id) {
set_task(20.0,"rule",id)
}

stock ColorChat(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
format(msg, sizeof(msg), "%s", msg)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!t", "^3") // Team Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}


Когда пишешь /spec переходишь в спектры) и твой труп остается на земле)
когда пишешь /back, появляешься, на своём респе, с usp (glock) (как будто только что начался раунд на паблике) и не показывается меню guns, ну соответственно когда в чат пишешь /guns тогда оно открывается. И ещё такой баг, коннектишься, заходишь в спектры, пишешь /back и играешь за спектра вроде)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 15.7.2014, 16:04
Сообщение #2


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

andreiwiz, mirror как то выкладывал. Есть свои глюки конечно. Например если в спектры переместил сервер или админ, то уже не вернуться.
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <csdm>

new bool:g_StopRespawn[33]
new CsTeams:g_TeamRespawn[33]

public csdm_Init(const version[])
{
if (version[0] == 0)
{
set_fail_state("CSDM failed to load.")
return
}
}

public plugin_init()
{
register_plugin("CSDM Spec", "1.0", "miRror")
register_clcmd("say /spec", "teamchange", 0)
register_clcmd("spec", "teamchange", 0)
set_msg_block( get_user_msgid( "ClCorpse" ), BLOCK_SET )
}

public csdm_PostDeath(killer, victim, headshot, const weapon[])
{
if(g_StopRespawn[victim])
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
}

public client_connect(id)
{
g_StopRespawn[id] = false
}

public teamchange(id)
{
if (!is_user_connected(id))
return PLUGIN_HANDLED

new CsTeams:Team = cs_get_user_team(id)

if(Team == CS_TEAM_T || Team == CS_TEAM_CT)
{
g_StopRespawn[id] = true
user_silentkill(id)
g_TeamRespawn[id] = Team
cs_set_user_team(id, CS_TEAM_SPECTATOR)
client_print(id, print_chat, "[Действие] Вы перешли в наблюдателей!" )
} else {
g_StopRespawn[id] = false
cs_set_user_team(id, g_TeamRespawn[id])
csdm_respawn(id)
client_print(id, print_chat, "[Действие] Вы вернулись в игру!" )
}
return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
andreiwiz
сообщение 15.7.2014, 16:07
Сообщение #3
Стаж: 11 лет

Сообщений: 335
Благодарностей: 29
Полезность: 0

Bloo,
не понял не много) /spec переходишь в спектры, потом так же на М,и выбираешь команду?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.7.2014, 16:08
Сообщение #4


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

andreiwiz, /spec и туда и обратно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: