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

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

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

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

помогите добавить последнее оружие

, плагин перехода в спектры для CSDM
Статус пользователя bbuzzy
сообщение 24.7.2015, 17:26
Сообщение #1
Стаж: 16 лет

Сообщений: 145
Благодарностей: 25
Полезность: 121

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

Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

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

new CsTeams:zTeam[33]
new zDeath[33]
new bool:type_spec[33] = false
new g_cvar

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
/* Cvar */
g_cvar = register_cvar("amx_specmode", "1") // 0 - enable use to all, 1 - enable use only ADMINs
/* Client Commands */
register_clcmd("say /spec", "cmdSpec", ADMIN_ALL, "- go to spectator")
register_clcmd("say_team /spec", "cmdSpec", ADMIN_ALL, "- go to spectator")
register_clcmd("say /back", "cmdBack", ADMIN_ALL, "- go back to your team")
register_clcmd("say_team /back", "cmdBack", ADMIN_ALL, "- go back to your team")
}

public cmdSpec(id)
{
if(!get_pcvar_num(g_cvar)) Spec(id)
else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Spec(id)
else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK)) PrintUserNotAdmin(id)
}

public cmdBack(id)
{
if (type_spec[id] && cs_get_user_team(id) == CS_TEAM_SPECTATOR && zTeam[id] != CS_TEAM_SPECTATOR ) Back(id)
else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK) ) PrintUserNotAdmin(id)
}

public Spec(id)
{
zDeath[id] = cs_get_user_deaths(id)
if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return
else{
type_spec[id] = true
zTeam[id] = cs_get_user_team(id)
cs_set_user_team(id, CS_TEAM_SPECTATOR)
user_silentkill(id)
client_print(id,print_chat,"")
}
return
}

public Back(id)
{
cs_set_user_team(id, zTeam[id])
cs_set_user_deaths(id, zDeath[id])
set_task(0.5,"FirstRespawn",id)
set_task(0.8,"SecondRespawn",id)
}

public FirstRespawn(id)
{
cs_user_spawn(id)
}

public SecondRespawn(id)
{
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")
}
}

PrintUserNotAdmin(id)
{
client_print(id,print_chat,"Только админы могут использовать /spec, /back команды")
}

public PrintRule(id)
{
if ( is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) ){
client_print(id,print_chat,"")
client_print(id,print_chat,"")
}
}

public client_putinserver(id)
{
if(!get_pcvar_num(g_cvar)) Rule(id)
else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Rule(id)
}

public client_disconnect(id) type_spec[id] = false
public client_connect(id) type_spec[id] = false
public Rule(id) set_task(20.0, "PrintRule", id)

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1033\\ b\\ f0\\ fs16 \n\\ par }
*/


буду весьма благодарен.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя qvadro
сообщение 24.7.2015, 18:46
Сообщение #2


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Так и используйте функции ксдм-а.
Код:
#include <fun>
--->
Код:
#include <csdm>

Код:
public Back(id)
{
cs_set_user_team(id, zTeam[id])
cs_set_user_deaths(id, zDeath[id])
set_task(0.5,"FirstRespawn",id)
set_task(0.8,"SecondRespawn",id)
}

public FirstRespawn(id)
{
cs_user_spawn(id)
}

public SecondRespawn(id)
{
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")
}
}
--->
Код:
public Back(id)
{
cs_set_user_team(id, zTeam[id])
cs_set_user_deaths(id, zDeath[id])
set_task(0.5,"FirstRespawn",id)
}

public FirstRespawn(id)
{
csdm_respawn(id);
}



Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 24.7.2015, 20:21
Сообщение #3
Стаж: 16 лет

Сообщений: 145
Благодарностей: 25
Полезность: 121

поправил как Вы сказали

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

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

new CsTeams:zTeam[33]
new zDeath[33]
new bool:type_spec[33] = false
new g_cvar

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
/* Cvar */
g_cvar = register_cvar("amx_specmode", "1") // 0 - enable use to all, 1 - enable use only ADMINs
/* Client Commands */
register_clcmd("say /spec", "cmdSpec", ADMIN_ALL, "- go to spectator")
register_clcmd("say_team /spec", "cmdSpec", ADMIN_ALL, "- go to spectator")
register_clcmd("say /back", "cmdBack", ADMIN_ALL, "- go back to your team")
register_clcmd("say_team /back", "cmdBack", ADMIN_ALL, "- go back to your team")
}

public cmdSpec(id)
{
if(!get_pcvar_num(g_cvar)) Spec(id)
else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Spec(id)
else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK)) PrintUserNotAdmin(id)
}

public cmdBack(id)
{
if (type_spec[id] && cs_get_user_team(id) == CS_TEAM_SPECTATOR && zTeam[id] != CS_TEAM_SPECTATOR ) Back(id)
else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & ADMIN_KICK) ) PrintUserNotAdmin(id)
}

public Spec(id)
{
zDeath[id] = cs_get_user_deaths(id)
if (cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return
else{
type_spec[id] = true
zTeam[id] = cs_get_user_team(id)
cs_set_user_team(id, CS_TEAM_SPECTATOR)
user_silentkill(id)
client_print(id,print_chat,"")
}
return
}

public Back(id)
{
cs_set_user_team(id, zTeam[id])
cs_set_user_deaths(id, zDeath[id])
set_task(0.5,"FirstRespawn",id)
}

public FirstRespawn(id)
{
csdm_respawn(id);
}

PrintUserNotAdmin(id)
{
client_print(id,print_chat,"Только админы могут использовать /spec, /back команды")
}

public PrintRule(id)
{
if ( is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) ){
client_print(id,print_chat,"")
client_print(id,print_chat,"")
}
}

public client_putinserver(id)
{
if(!get_pcvar_num(g_cvar)) Rule(id)
else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & ADMIN_KICK)) Rule(id)
}

public client_disconnect(id) type_spec[id] = false
public client_connect(id) type_spec[id] = false
public Rule(id) set_task(20.0, "PrintRule", id)

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ lang1033\\ b\\ f0\\ fs16 \n\\ par }
*/


в результате:




Отредактировал: bbuzzy, - 24.7.2015, 20:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 24.7.2015, 20:40
Сообщение #4
Стаж: 16 лет

Сообщений: 145
Благодарностей: 25
Полезность: 121

qvadro, выложите Ваш готовый вариант. Спасибо!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 24.7.2015, 20:41
Сообщение #5


Стаж: 12 лет

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

bbuzzy, так нет инклуда csdm у вас в компиляторе.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 24.7.2015, 21:23
Сообщение #6
Стаж: 16 лет

Сообщений: 145
Благодарностей: 25
Полезность: 121

Bloo,

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 24.7.2015, 21:36
Сообщение #7


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

1) Если отсутствует инк : fatal error 100: cannot read from file: "csdm"
2) Поменяйте путь до компилятора ( только EN )
3) Приложите ваш sma и inc, если 2й пункт не поможет

Отредактировал: qvadro, - 24.7.2015, 21:38


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 24.7.2015, 21:39
Сообщение #8


Стаж: 12 лет

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

bbuzzy, значит версия инклуда не та. Все компилируется https://c-s.net.ua/compiler/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 24.7.2015, 21:46
Сообщение #9


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Bloo, Косячит у него компилятор или в сма начудил. Нам пока не ведомо. Инк без разницы что от ксдм 2.1.2 или от 2.1.3d Kwo.


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bbuzzy
сообщение 24.7.2015, 22:44
Сообщение #10
Стаж: 16 лет

Сообщений: 145
Благодарностей: 25
Полезность: 121

Bloo,
qvadro,

все скомпилилось, пасиба ребятки thank_you2.gif

Отредактировал: bbuzzy, - 24.7.2015, 22:49
Прикрепленные файлы:
Прикрепленный файл  spec_switch_csdm.sma ( 2,61 килобайт ) Кол-во скачиваний: 9
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 24.7.2015, 22:49
Сообщение #11


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

В архиве можно ) Компилятор 1.8.2, инк от ксдм 2.1.2 , всё компилирует нормально.

Отредактировал: qvadro, - 24.7.2015, 22:55


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