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

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

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

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

Пофиксить ошибку в плагине

Статус пользователя Fred Perry
сообщение 11.3.2014, 18:11
Сообщение #1


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Помогите пофиксить ошибку
Код
L 03/11/2014 - 16:52:26: [AMXX] Displaying debug trace (plugin "zp_zspawn_system.amxx")
L 03/11/2014 - 16:52:26: [AMXX] Run time error 10: native error (native "zp_respawn_user")
L 03/11/2014 - 16:52:26: [AMXX]    [0] zp_zspawn_system.sma::ZSpawn (line 115)
L 03/11/2014 - 16:52:37: [ZP] Invalid Player (8)
L 03/11/2014 - 16:52:37: [AMXX] Displaying debug trace (plugin "zp_zspawn_system.amxx")
L 03/11/2014 - 16:52:37: [AMXX] Run time error 10: native error (native "zp_respawn_user")
L 03/11/2014 - 16:52:37: [AMXX]    [0] zp_zspawn_system.sma::ZSpawn (line 115)

Код:
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

#define PLUGIN "[ZP] Zspawn_System"
#define VERSION "1.0"
#define AUTHOR "Noname"

new bool:g_IsZspawned[33]
new z_spawn_mode, z_spawn_infection, z_spawn_team_infection, z_spawn_swarm, z_spawn_team_swarm, z_spawn_plague, z_spawn_team_plague, z_spawn_nemesis, z_spawn_team_nemesis, z_spawn_survivor, z_spawn_team_survivor

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

z_spawn_mode = register_cvar("zp_spawn_mode", "2")
z_spawn_infection = register_cvar("zp_spawn_infection", "1")
z_spawn_team_infection = register_cvar("zp_spawn_team_infection", "0")
z_spawn_swarm = register_cvar("zp_spawn_swarm", "1")
z_spawn_team_swarm = register_cvar("zp_spawn_team_swarm", "0")
z_spawn_plague = register_cvar("zp_spawn_plague", "1")
z_spawn_team_plague = register_cvar("zp_spawn_team_plague", "0")
z_spawn_nemesis = register_cvar("zp_spawn_nemesis", "1")
z_spawn_team_nemesis = register_cvar("zp_spawn_team_nemesis", "0")
z_spawn_survivor = register_cvar("zp_spawn_survivor", "1")
z_spawn_team_survivor = register_cvar("zp_spawn_team_survivor", "0")

register_event("TeamInfo", "event_TeamInfo", "a", "2=TERRORIST", "2=CT")
}

public plugin_cfg()
{
server_cmd("exec addons/amxmodx/configs/zp_zspawn_system.cfg")
}

public client_putinserver(id)
{
g_IsZspawned[id] = false
}

public event_TeamInfo()
{
static id
id = read_data(1)

if (!g_IsZspawned[id])
{
set_task(5.0, "ZSpawnMode", id)
g_IsZspawned[id] = true
}
}

public ZSpawnMode(id)
{
if (0 < get_pcvar_num(z_spawn_mode)) set_task(0.1, "ZSpawn", id)
}

public ZSpawn(id)
{
if (zp_is_nemesis_round() && get_pcvar_num(z_spawn_nemesis)) {
switch (get_pcvar_num(z_spawn_team_nemesis))
{
case 0:
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
}
case 1:
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
}
}
}
else if (zp_is_survivor_round() && get_pcvar_num(z_spawn_survivor)) {
switch (get_pcvar_num(z_spawn_team_survivor))
{
case 0:
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
}
case 1:
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
}
}
}
else if (zp_is_swarm_round() && get_pcvar_num(z_spawn_swarm)) {
switch (get_pcvar_num(z_spawn_team_swarm))
{
case 0:
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
}
case 1:
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
}
}
}
else if (zp_is_plague_round() && get_pcvar_num(z_spawn_plague)) {
switch (get_pcvar_num(z_spawn_team_plague))
{
case 0:
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
}
case 1:
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
}
}
}
else if (zp_has_round_started() && get_pcvar_num(z_spawn_infection) && zp_is_nemesis_round() == 0 && zp_is_survivor_round() == 0 && zp_is_swarm_round() == 0 && zp_is_plague_round() == 0) {
switch (get_pcvar_num(z_spawn_team_infection))
{
case 0:
{
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
}
case 1:
{
zp_respawn_user(id, ZP_TEAM_HUMAN)
}
}
}
}


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 11.3.2014, 19:53
Сообщение #2


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

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


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

Fred Perry,
сделай проверку, подключен ли игрок


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

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

убогое форматирование


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 12.3.2014, 17:54
Сообщение #4


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(AndrewZ @ 11.3.2014, 19:53) *
Fred Perry,
сделай проверку, подключен ли игрок

Проверка на живучесть вместо проверки на подключение подходит?

И еще, тут ее сделать?
Код
public ZSpawnMode(id)
{
   if (0 < get_pcvar_num(z_spawn_mode))   set_task(0.1, "ZSpawn", id)
}


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 12.3.2014, 18:13
Сообщение #5
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Если добавлять, то в самой функции ZSpawn.
Но у тебя весь алгоритм некорректный: спавн по event'ам TeamInfo, которые пачками шлются. Так не делается.

P.S. Как модер мог бы дать теме более информативное название, минимум - указать в описании название плагина.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 12.3.2014, 18:27
Сообщение #6


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Fred Perry, для начала стоило бы воспользовались поиском https://c-s.net.ua/forum/index.php?showtopic=54044
Завтра мб выложу обновленную версию.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 12.3.2014, 18:31
Сообщение #7


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Fintok,
Было бы не плохо немного его модифицировать, тот что ты предложил.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 12.3.2014, 18:41
Сообщение #8


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Fred Perry, что именно вы хотите сделать?
В новой версии я внес много изменений. Переделал процесс воскрешение игрока, теперь игрок воскрешается только после того как выбрал модель персонажа.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 12.3.2014, 18:43
Сообщение #9


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(Fintok @ 12.3.2014, 18:41) *
Fred Perry, что именно вы хотите сделать?
В новой версии я внес много изменений. Переделал процесс воскрешение игрока, теперь игрок воскрешается только после того как выбрал модель персонажа.

Если реконнект, то воскрешать после того как выбрал в меню пункт "1. Воскресить (2 АММО) 2. Не воскрешать"


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fintok
сообщение 12.3.2014, 18:59
Сообщение #10


Стаж: 16 лет

Сообщений: 756
Благодарностей: 294
Полезность: 638

Цитата(Fred Perry @ 12.3.2014, 20:43) *
Если реконнект, то воскрешать после того как выбрал в меню пункт "1. Воскресить (2 АММО) 2. Не воскрешать"

Можно и такое сделать. Потом как нибудь сделаю, если конечно лень не будет. pardon.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 4.2.2015, 2:51
Сообщение #11


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Цитата(Safety1st @ 12.3.2014, 18:13) *
Если добавлять, то в самой функции ZSpawn.
Но у тебя весь алгоритм некорректный: спавн по event'ам TeamInfo, которые пачками шлются. Так не делается.

P.S. Как модер мог бы дать теме более информативное название, минимум - указать в описании название плагина.

А как лучше тогда спавнить?


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 6.2.2015, 12:01
Сообщение #12


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

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Так как лучше спавнить?


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: