Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
Don Corleone » 05 фев 2018, 16:59
Здравствуйте, как переписать для биохазард?
- Код: Выделить всё
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public zp_round_ended(zp_team)
{
if(zp_team == WIN_NO_ONE)
{
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte (255)
write_byte (255)
write_byte (255)
write_byte (255)
message_end()
}
else if(zp_team == WIN_ZOMBIES)
{
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte (255)
write_byte (0)
write_byte (0)
write_byte (255)
message_end()
}
else if(zp_team == WIN_HUMANS)
{
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte (0)
write_byte (255)
write_byte (0)
write_byte (255)
message_end()
}
}
-
Don Corleone
-
- Сообщения: 79
- Зарегистрирован: 23 окт 2016, 16:13
- Благодарил (а): 5 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
Subb98 » 05 фев 2018, 17:30
Поскольку в biohazard.inc нет форварда окончания раунда
- Код: Выделить всё
stock is_biomod_active()
{
if(!cvar_exists("bh_enabled"))
{
log_amx("Cvar: ^"bh_enabled^" does not exist.")
return 0
}
return get_cvar_num("bh_enabled")
}
forward event_infect(victim, attacker)
forward event_gamestart()
native bool:game_started()
native infect_user(victim, attacker)
native cure_user(index)
native preinfect_user(index, bool:yesno)
native is_user_zombie(index)
native is_user_infected(index)
native get_user_class(index)
native register_class(classname[], description[])
native set_class_pmodel(classid, player_model[])
native set_class_wmodel(classid, weapon_model[])
native get_class_id(classname[])
native Float:get_class_data(classid, dataid)
native set_class_data(classid, dataid, Float:value)
то отлавливать так:
- Код: Выделить всё
register_event("SendAudio", "ZombiesWin", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "HumansWin", "a", "2&%!MRAD_ctwin")
register_event("SendAudio", "RoundDraw", "a", "2&%!MRAD_rounddraw")
А zombieplague.inc отключить.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
Don Corleone » 18 мар 2018, 16:29
Subb98 писал(а):Поскольку в biohazard.inc нет форварда окончания раунда
- Код: Выделить всё
stock is_biomod_active()
{
if(!cvar_exists("bh_enabled"))
{
log_amx("Cvar: ^"bh_enabled^" does not exist.")
return 0
}
return get_cvar_num("bh_enabled")
}
forward event_infect(victim, attacker)
forward event_gamestart()
native bool:game_started()
native infect_user(victim, attacker)
native cure_user(index)
native preinfect_user(index, bool:yesno)
native is_user_zombie(index)
native is_user_infected(index)
native get_user_class(index)
native register_class(classname[], description[])
native set_class_pmodel(classid, player_model[])
native set_class_wmodel(classid, weapon_model[])
native get_class_id(classname[])
native Float:get_class_data(classid, dataid)
native set_class_data(classid, dataid, Float:value)
то отлавливать так:
- Код: Выделить всё
register_event("SendAudio", "ZombiesWin", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "HumansWin", "a", "2&%!MRAD_ctwin")
register_event("SendAudio", "RoundDraw", "a", "2&%!MRAD_rounddraw")
А zombieplague.inc отключить.
Что то не получилось сделать, ошибка. нужна ваша помощь
-
Don Corleone
-
- Сообщения: 79
- Зарегистрирован: 23 окт 2016, 16:13
- Благодарил (а): 5 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
артист666 » 18 мар 2018, 22:08
Какая ошибка?
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
Don Corleone » 08 апр 2018, 10:46
артист666 писал(а):Какая ошибка?
Вот так сделал
- Код: Выделить всё
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("SendAudio", "ZombiesWin", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "HumansWin", "a", "2&%!MRAD_ctwin")
}
public zp_round_ended(zp_team)
{
if(zp_team == ZombiesWin)
{
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte (255)
write_byte (0)
write_byte (0)
write_byte (255)
message_end()
}
else if(zp_team == HumansWin)
{
message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"))
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte (0)
write_byte (255)
write_byte (0)
write_byte (255)
message_end()
}
}
-
Don Corleone
-
- Сообщения: 79
- Зарегистрирован: 23 окт 2016, 16:13
- Благодарил (а): 5 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
flymic24 » 08 апр 2018, 11:24
Тогда уже лучше так
- Код: Выделить всё
new iMsg
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("SendAudio", "ZombiesWin", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "HumansWin", "a", "2&%!MRAD_ctwin")
iMsg = get_user_msgid("ScreenFade");
}
public ZombiesWin()
{
message_begin(MSG_BROADCAST, iMsg)
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte(255)
write_byte(0)
write_byte(0)
write_byte(255)
message_end()
}
public HumansWin()
{
message_begin(MSG_BROADCAST, iMsg)
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte(0)
write_byte(255)
write_byte(0)
write_byte(255)
message_end()
}
-
flymic24
-
- Сообщения: 209
- Зарегистрирован: 05 окт 2012, 17:29
- Откуда: Bryansk
- Благодарил (а): 4 раз.
- Поблагодарили: 76 раз.
- Опыт программирования: Около года
- Языки программирования: Counter-Strike 1.6
-
Don Corleone » 08 апр 2018, 11:46
flymic24 писал(а):Тогда уже лучше так
- Код: Выделить всё
new iMsg
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("SendAudio", "ZombiesWin", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "HumansWin", "a", "2&%!MRAD_ctwin")
iMsg = get_user_msgid("ScreenFade");
}
public ZombiesWin()
{
message_begin(MSG_BROADCAST, iMsg)
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte(255)
write_byte(0)
write_byte(0)
write_byte(255)
message_end()
}
public HumansWin()
{
message_begin(MSG_BROADCAST, iMsg)
write_short((1<<12)*4)
write_short((1<<12)*1)
write_short(0x0001)
write_byte(0)
write_byte(255)
write_byte(0)
write_byte(255)
message_end()
}
Благодарю, а как сделать чтобы цвет не густой был, а то экран весь в цвете, и не чечго не видно
-
Don Corleone
-
- Сообщения: 79
- Зарегистрирован: 23 окт 2016, 16:13
- Благодарил (а): 5 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
flymic24 » 08 апр 2018, 12:41
- Код: Выделить всё
write_byte(255) - уменьшай 255
message_end()
-
flymic24
-
- Сообщения: 209
- Зарегистрирован: 05 окт 2012, 17:29
- Откуда: Bryansk
- Благодарил (а): 4 раз.
- Поблагодарили: 76 раз.
- Опыт программирования: Около года
- Языки программирования: Counter-Strike 1.6
-
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: sb123 и гости: 10