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

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

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

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

Reset score

, Переделанный плагин
Статус пользователя ncux0Zz
сообщение 12.1.2015, 8:43
Сообщение #1


Стаж: 14 лет

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

Привет всем! Я переделывал плагин для обнуления счета, добавил сброс денег, хотел сделать так, чтобы сброс был возможен только мертвым, при этом хотел добавить сообщение живым, что они не могут сбросить деньги и счет пока живы, но выскакивает ошибка, без этого сообщения плагин работает нормально, хотелось бы все равно добавить сообщение для удобства.
Вот плагин:
Скрытый текст
Код
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

new const PLUGIN_NAME[]  = "Reset_Score";
new const VERSION[] = "1.1";
new const AUTHOR[]  = "ncux0Zz";

new name[33];
new rs_hudmessage;
new rs_sound;


public plugin_init()
{
    register_plugin( PLUGIN_NAME, VERSION, AUTHOR );

    register_clcmd("resetmyscore", "reset_score");
    
    rs_hudmessage = register_cvar("rs_hudmessage", "1");
    rs_sound = register_cvar("rs_sound", "1");
}

public reset_score(id)
{
    if(is_user_alive(id))
    
    if(get_pcvar_num(rs_hudmessage))
    {
        get_user_name(id, name, 32);
        set_dhudmessage(200, 200, 50, -1.0, 0.88, 2, 6.0, 3.0, 0.1, 1.5 );
        show_dhudmessage(id, "Вы не можете сбросить счет и деньги пока живы.", name);
    }

    return;

        set_user_frags(id, 0)
        cs_set_user_deaths(id, 0)
        cs_set_user_money(id, get_cvar_num("mp_startmoney"))

    if(get_pcvar_num(rs_hudmessage))
    {
        get_user_name(id, name, 32);
        set_dhudmessage(200, 200, 50, -1.0, 0.88, 2, 6.0, 3.0, 0.1, 1.5 );
        show_dhudmessage(id, "%s,  ваши деньги сброшены до 800$ и счет обнулен.", name);
        if(get_pcvar_num(rs_sound))
        {
           client_cmd(id, "spk fvox/bell");
        }
    }

}


При добавлении сообщения между кварами is_user_alive и return возникает ошибка, если убрать строки с сообщением, то нормально работает.
Пишет при комплиировании ошибку unreachable code, будто бы после квара return код не достижим, показывает ошибки в строках <38> <38> <42> error.
Помогите исправить код :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 9:11
Сообщение #2


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

unreachable code
Код
if( trololo )
{
     return 1
     trololo = 2
}


а так все ок
Код
if( trololo )
{
     trololo = 2
     return 1
}


ищи ошибку у себя) return ведь возваращает что-то и перестает выполнятся эта функция.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 12.1.2015, 9:12
Сообщение #3


Стаж: 14 лет

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

Цитата(AndrewZ @ 12.1.2015, 13:11) *
unreachable code
Код
if( trololo )
{
     return 1
     trololo = 2
}


а так все ок
Код
if( trololo )
{
     trololo = 2
     return 1
}


ищи ошибку у себя)


Эм, хочешь сказать местами не так поставил я? Я сам не силен в написании плагинов, хотелось бы чтобы мне помогли исправить )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 9:24
Сообщение #4


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

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

new const PLUGIN_NAME[] = "Reset_Score";
new const VERSION[] = "1.1";
new const AUTHOR[] = "ncux0Zz";

new name[33];
new rs_hudmessage;
new rs_sound;


public plugin_init()
{
register_plugin( PLUGIN_NAME, VERSION, AUTHOR );

register_clcmd("resetmyscore", "reset_score");

rs_hudmessage = register_cvar("rs_hudmessage", "1");
rs_sound = register_cvar("rs_sound", "1");
}

public reset_score(id)
{
new hudmessage = get_pcvar_num(rs_hudmessage)

if( is_user_alive( id ) && hudmessage )
{
set_dhudmessage(200, 200, 50, -1.0, 0.88, 2, 6.0, 3.0, 0.1, 1.5 );
show_dhudmessage(id, "Вы не можете сбросить счет и деньги пока живы.");

return;
}

set_user_frags(id, 0)
cs_set_user_deaths(id, 0)
cs_set_user_money(id, get_cvar_num("mp_startmoney"))

if(hudmessage)
{
set_dhudmessage(200, 200, 50, -1.0, 0.88, 2, 6.0, 3.0, 0.1, 1.5 );
show_dhudmessage(id, "%s, ваши деньги сброшены до 800$ и счет обнулен.");
}

if(get_pcvar_num(rs_sound))
client_cmd(id, "spk fvox/bell");

}


Ну как-то так)


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 12.1.2015, 9:35
Сообщение #5


Стаж: 14 лет

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

Я попробовал так, меня выкидывает с сервера, когда я обновляю мертвым... а сообщение пишет когда я живой. В консоле мне пишет :
Host_Error: CL_ParseServerMessage: Bad server message
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 9:37
Сообщение #6


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

ncux0Zz,
а если попробовать cs_set_user_money(id, get_cvar_num("mp_startmoney")) убрать?


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


Стаж: 14 лет

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

Цитата(AndrewZ @ 12.1.2015, 13:37) *
ncux0Zz,
а если попробовать cs_set_user_money(id, get_cvar_num("mp_startmoney")) убрать?


все равно кикает, да и как без этой команды он мне деньги скидывать будет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 9:41
Сообщение #8


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

ncux0Zz,
dhudmessage инклуд где?


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 12.1.2015, 9:42
Сообщение #9


Стаж: 14 лет

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

Цитата(AndrewZ @ 12.1.2015, 13:41) *
ncux0Zz,
dhudmessage инклуд где?


в АМХХ 1.8.3 он не нужен, он уже в нем есть, сообщение ведь первое он мне в Дхад пишет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 12.1.2015, 9:46
Сообщение #10


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

зачем
Код:
cs_set_user_money(id, get_cvar_num("mp_startmoney"))


если все равно
Цитата
show_dhudmessage(id, "%s, ваши деньги сброшены до 800$ и счет обнулен.", name);


?


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 9:47
Сообщение #11


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

ncux0Zz, ну с худом проблемы какие-то, я так понял. А как исправить. я не знаю.

Вообще-то, для такого плагина не стоит выделять худ, достаточно сообщения в чат.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 12.1.2015, 9:48
Сообщение #12


Стаж: 14 лет

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

Цитата(ssx @ 12.1.2015, 13:46) *
зачем
Код:
cs_set_user_money(id, get_cvar_num("mp_startmoney"))


если все равно


?


1 строка обнуляет на прописанное значение в server.cfg , а вторая выводит сообщение клиенту, понимаю что они могу отличаться и быть не 800$, но у меня стандартно в server.cfg прописано 800$, сообщение в ручную легко исправить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 12.1.2015, 9:51
Сообщение #13


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

я имел в виду, зачем вообще тр@х@ть квар ?


сразу пиши
Код:
cs_set_user_money(id, 800)


Отредактировал: ssx, - 12.1.2015, 9:52


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 12.1.2015, 9:59
Сообщение #14


Стаж: 14 лет

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

Цитата(AndrewZ @ 12.1.2015, 13:47) *
ncux0Zz, ну с худом проблемы какие-то, я так понял. А как исправить. я не знаю.

Вообще-то, для такого плагина не стоит выделять худ, достаточно сообщения в чат.


Попробовал убрать Dhud на обычный hud, получилось, но вот ты когда поправил плагин, теперь он не выдает обращение типо "ncux0Zz, вас счет и деньги сброшены", а пишет "resetscore" , так как в строке указан квар name, он ссылался на ник игрока, сейчас на название плагина. А вот хотелось бы чтобы все таки Dhud заработал. )

Цитата(ssx @ 12.1.2015, 13:51) *
я имел в виду, зачем вообще тр@х@ть квар ?


сразу пиши
Код:
cs_set_user_money(id, 800)


Опа, спасибо тебе, у меня теперь он нормально работает, исправил как ты сказал, теперь и Dhud сообщение заработало коректно и комплиться без ошибок, все заработало ))

Цитата(AndrewZ @ 12.1.2015, 13:47) *
ncux0Zz, ну с худом проблемы какие-то, я так понял. А как исправить. я не знаю.

Вообще-то, для такого плагина не стоит выделять худ, достаточно сообщения в чат.


Тебе тоже спасибо!

Подскажите, как сделать, чтобы квар name ссылался на ник клиента, а не на название плагина, так как раньше было обращение, сейчас все нормально работает, но без обращения!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 10:06
Сообщение #15


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

ncux0Zz, а, я чет не заметил.

Ну верни гет юзер нейм и эти строки из старого своего плагина)


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 12.1.2015, 10:14
Сообщение #16


Стаж: 14 лет

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

Цитата(AndrewZ @ 12.1.2015, 14:06) *
ncux0Zz, а, я чет не заметил.

Ну верни гет юзер нейм и эти строки из старого своего плагина)


Все сделал, работает ))
Пишет при комплиировании ошибку о том, что строки криво написано : loose indentation
А так все рабит, думаю это ведь не страшная ошибка? )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 12.1.2015, 10:18
Сообщение #17


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

ncux0Zz, ну как бы не страшная)


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