Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Форум Perfect Soft » Корзина » Флудильня » Ошибки в исходнике (их решение, расширить возможности вармода)
Ошибки в исходнике
straj
Дата: Пятница, 16.12.2011, 13:58 | Сообщение # 1
офлайн

  • Сообщения: 424
  • Награды: 3
  • Замечания:
 
Доброго времени суток.))
Опять таки со ткнулся с непонятным.Решил расширить возможности вармода,типа третьего меню.
Сделал меню,определился с предметами,все сделал,откомпилил,в общем все хорошо прошло.При тесте,заметил что моя задумка работает,но при подключении с вармодом в логах появились ошибки сразу четырех предметов.Сами ошибки на один лад,причинения ущерба.Еще заметил что,во время использования предмета,происходит такой прикол.При нанесении повреждения противнику ножом,ХП остается на месте,а у наносимого урон добавляется ХР,чем больше ударов ножом,тем больше увеличивается его количество,и можно набирать пока не идет баг с отображением,то 0,то 4 хп покзывает.
Обращаюсь к вам так как на других форумах думаю мало кто -то знает об устройстве мода,в отличии от Вас.Хотелось бы получить разъяснения,что могло такое вызвать и возможно ли подогнать коды под вар3фт.?Если да ,то прошу помощи в решении.
Quote
L 12/15/2011 - 16:54:16: [AMXX] Displaying debug trace (plugin "suit.amxx")
L 12/15/2011 - 16:54:16: [AMXX] Run time error 4: index out of bounds
L 12/15/2011 - 16:54:16: [AMXX] [0] suit.sma::Player_TookDamage (line 128)

Code
public Player_TookDamage( iVictim, iInflictor, iAttacker, Float:Damage, iDamage_type )
               {
               if( ( GotDemonic[ iAttacker ] == true ) && ( get_pcvar_num( pCvarBattleAura ) ) )
line128-->   {
                if( !is_user_alive( iAttacker ) || cs_get_user_team( iAttacker ) == cs_get_user_team( iVictim ) )
                 return HAM_IGNORED
             
                  if( ( iDamage_type & ( 1<<1 ) ) )
                {
                set_user_health( iAttacker, get_user_health( iAttacker ) + floatround( Damage ) / 5 )
               client_print( iAttacker, print_chat, "You got %d extra hp for damaging", Damage / 5 )
               }
          }
             return HAM_IGNORED
          }


Quote
L 12/15/2011 - 16:54:16: [AMXX] Displaying debug trace (plugin "Dragon.amxx")
L 12/15/2011 - 16:54:16: [AMXX] Run time error 4: index out of bounds
L 12/15/2011 - 16:54:16: [AMXX] [0] Dragon.sma::TKDamage (line 278)

Code
           public TKDamage(victim, inflictor, attacker, Float:damage, damage_type)
                   {      
line278-->    if(DragonKIT[attacker])
                   {
                   if(damage_type & HEGrenadeDMG)
                    SetHamParamFloat(4, damage * get_pcvar_float(cvar_dragonkit_grenade))
                   else
                   {
                      if (get_user_weapon(attacker) == CSW_KNIFE)
                      {
                     SetHamParamFloat(4, damage * get_pcvar_float(cvar_dragonkit_knife))
                      }
             
                    }
                   }
                   return HAM_IGNORED;
                  }


Quote
L 12/15/2011 - 16:54:16: [AMXX] Displaying debug trace (plugin "angel.amxx")
L 12/15/2011 - 16:54:16: [AMXX] Run time error 4: index out of bounds
L 12/15/2011 - 16:54:16: [AMXX] [0] angel.sma::fwTakeDamage (line 176)

Code
             ic fwTakeDamage(iVictim, iInflictor, iAttacker, Float:flDamage, iDamage_type) {
line176-->    if (get_pcvar_num(gCvarEnabled) && gIsAngel[iAttacker] && iVictim != iAttacker && !gBeenAttackedByAngel[iVictim] && get_pcvar_num(gCvarSlowDownEnabled) && cs_get_user_team(iVictim) !=           cs_get_user_team(iAttacker))      
              {
               message_begin(MSG_ONE_UNRELIABLE, gMsgScreenFade, {0,0,0}, iVictim);    // Message Start
                write_short(25024);    // Duration
                write_short(25024);    // Hold Time
                write_short(4096);    // Fade in/out type
               write_byte(255);    // Red
                 write_byte(000);    // Green
                 write_byte(85);  // Blue
                   write_byte(110);    // Alpha
                   message_end();  // Message End
            
                     engfunc(EngFunc_SetClientMaxspeed, iVictim, 170.0);
                   set_pev(iVictim, pev_maxspeed, 170.0);
            
                     set_task(10.0, "cmdRemoveSlowDown", iVictim);
            
                      gBeenAttackedByAngel[iVictim] = true;
                      }


Quote
L 12/15/2011 - 16:54:16: [AMXX] Displaying debug trace (plugin "demonic.amxx")
L 12/15/2011 - 16:54:16: [AMXX] Run time error 4: index out of bounds
L 12/15/2011 - 16:54:16: [AMXX] [0] demonic.sma::Player_TookDamage (line 163)

Code

                     public Player_TookDamage( iVictim, iInflictor, iAttacker, Float:Damage, iDamage_type )
                     {
line163-->    if( ( GotDemonic[ iAttacker ] == true ) && ( get_pcvar_num( pCvarBattleAura ) ) )
                       {
                       if( !is_user_alive( iAttacker ) || cs_get_user_team( iAttacker ) == cs_get_user_team( iVictim ) )
                      return HAM_IGNORED
             
                        if( ( iDamage_type & ( 1<<1 ) ) )
                         {
                        set_user_health( iAttacker, get_user_health( iAttacker ) + floatround( Damage ) / 5 )
                       client_print( iAttacker, print_chat, "Вы получили %d особенно hp для повреждения", Damage / 5 )
                     }
                         return HAM_IGNORED
                   }


Набор разработчиков в команду Alfa-Strike
Направления: CS1.6; L4d2; COD4; BF2; TF2.

http://forum.alfa-strike.net//index.php?showtopic=10920&pid=72247&st=0&#entry72247


Сообщение отредактировал straj - Пятница, 16.12.2011, 18:42
 
SMaster
Дата: Пятница, 16.12.2011, 14:31 | Сообщение # 2
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
На первый взгляд вижу что проблема в индексах.
В массив поступает индекс превышающий его размер.

Какой размер массива GotDemonic[ iAttacker ] ?

--
Без исходников сложно определить что не так.
Это все таки не варик.


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
straj
Дата: Пятница, 16.12.2011, 15:02 | Сообщение # 3
офлайн

  • Сообщения: 424
  • Награды: 3
  • Замечания:
 
Quote (SMaster)
GotDemonic[ iAttacker ] ?

new bool:GotDemonic[33]
Прикрепления: suit.sma (4.1 Kb)


Набор разработчиков в команду Alfa-Strike
Направления: CS1.6; L4d2; COD4; BF2; TF2.

http://forum.alfa-strike.net//index.php?showtopic=10920&pid=72247&st=0&#entry72247


Сообщение отредактировал straj - Пятница, 16.12.2011, 15:06
 
SMaster
Дата: Пятница, 16.12.2011, 15:44 | Сообщение # 4
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Первая ошибка.
pCvarBattleAura не инициализирован указатель на квар, который в функции Player_TookDamage пытается запросить get_pcvar_num( pCvarBattleAura )
Нужно добавить его или совсем убрать.
Он не работает.Его просто нет.

--
Это в плагине: suit.sma
Прикрепил с удаленным не нужным кваром.
Возможно в остальных та же проблема.

-----------
Просьба!
В будущем называй тему более конкретнее.
Название темы "Проблемки" не пойдет!
Переименуй и дай ей комментармий.
Прикрепления: 6932033.sma (4.0 Kb)


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
straj
Дата: Вторник, 20.12.2011, 13:35 | Сообщение # 5
офлайн

  • Сообщения: 424
  • Награды: 3
  • Замечания:
 
Тему исправил.
Спасибо за помощь,буду пробовать.

Добавлено (20.12.2011, 13:35)
---------------------------------------------
Не, не прошел вариант.Скорей всего эти четыре плагина друг друга перебивают и дают ошибки такого рода(типа не совмещение плагинов).Ставя один из них на сервер,ошибок нет,а с двумя уже идет сразу на эти два плагина ошибка.


Набор разработчиков в команду Alfa-Strike
Направления: CS1.6; L4d2; COD4; BF2; TF2.

http://forum.alfa-strike.net//index.php?showtopic=10920&pid=72247&st=0&#entry72247
 
Форум Perfect Soft » Корзина » Флудильня » Ошибки в исходнике (их решение, расширить возможности вармода)
  • Страница 1 из 1
  • 1
Поиск: