Author Topic: [Russian] Помощь в обновлении/исправлении рас  (Read 107835 times)

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Не понял че теперь мне скачать и поставить,совсем запутался ???

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Не понял че теперь мне скачать и поставить,совсем запутался ???

Скачай полностью папку W3SIncs отсюда http://ownageclan.com/svn/war3source/

Drunken Beggar - исправлено.
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Divix, в транслитах en/ru расы Drunken надо добавить ковычки   "He's a piker !"

   
Quote
   "Thanks my boss !"
   {
      "en" "Thanks my boss !"
   }
   
   He's a piker !
   {
      "en" "He's a piker !"
   }

Вот ещё одна раса ругается на сервере, ошибка:

Quote
L 12/10/2011 - 14:49:08: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:49:08: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:50:42: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:50:42: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:51:02: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:51:02: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:52:27: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:52:27: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:52:38: [war3source/compiled/War3Source_Engine_DamageSystem.smx] War3_DealDamage called when DealDamage is not suppose to be called, please use the non PRE forward
L 12/10/2011 - 14:52:38: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_056_PandarenBrewmaster.smx
L 12/10/2011 - 14:53:40: [war3source/compiled/War3Source_Engine_DamageSystem.smx] War3_DealDamage called when DealDamage is not suppose to be called, please use the non PRE forward
L 12/10/2011 - 14:53:40: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_056_PandarenBrewmaster.smx


А трембл так же прет с ошибками:
 
Quote
12/10/2011 - 13:03:51: [SM] Native "TE_WriteVector" reported: Temp entity property "m_vec" not found
L 12/10/2011 - 13:03:51: [SM] Displaying call stack trace for plugin "war3source/compiled/War3Source_018_Tremble.smx":
L 12/10/2011 - 13:03:51: [SM]   
  •   Line 473, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::TE_SetupDynamicLight()

L 12/10/2011 - 13:03:51: [SM]   [1]  Line 413, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::MountAoE()
L 12/10/2011 - 13:03:51: [SM]   [2]  Line 374, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::CalcTremble()


« Last Edit: December 10, 2011, 03:30:47 AM by Han »

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Quote
L 12/10/2011 - 14:52:38: [war3source/compiled/War3Source_Engine_DamageSystem.smx] War3_DealDamage called when DealDamage is not suppose to be called, please use the non PRE forward
L 12/10/2011 - 14:52:38: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_056_PandarenBrewmaster.smx
L 12/10/2011 - 14:53:40: [war3source/compiled/War3Source_Engine_DamageSystem.smx] War3_DealDamage called when DealDamage is not suppose to be called, please use the non PRE forward
L 12/10/2011 - 14:53:40: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_056_PandarenBrewmaster.smx


А трембл так же прет с ошибками:
 
Quote
12/10/2011 - 13:03:51: [SM] Native "TE_WriteVector" reported: Temp entity property "m_vec" not found
L 12/10/2011 - 13:03:51: [SM] Displaying call stack trace for plugin "war3source/compiled/War3Source_018_Tremble.smx":
L 12/10/2011 - 13:03:51: [SM]  
  •  Line 473, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::TE_SetupDynamicLight()

L 12/10/2011 - 13:03:51: [SM]   [1]  Line 413, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::MountAoE()
L 12/10/2011 - 13:03:51: [SM]   [2]  Line 374, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::CalcTremble()



Насчет трембл не знаю.. у меня не одной ошибки. (но должно быть не m_vec, а m_vecOrigin)

Попробуй в 300 строке убрать Pre public OnW3TakeDmgBullet(victim,attacker,Float:damage) и скажи результат
« Last Edit: December 10, 2011, 06:17:09 AM by Divix »
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Блин в 300 строке нет того что писал, а тот что с ошибками выше был War3Source_055_BladeMaster, у него Pre убрана,вот так у меня:

Quote
public OnW3TakeDmgBullet(victim,attacker,Float:damage)   
{
   if(IS_PLAYER(victim)&&IS_PLAYER(attacker)&&victim>0&&attacker>0&&attacker!=victim)
   {
      new vteam=GetClientTeam(victim);
      new ateam=GetClientTeam(attacker);
      if(vteam!=ateam)
      {
         new race_attacker=War3_GetRace(attacker);
         new race_victim=War3_GetRace(victim);
         // mirror image
         new skill_mimage=War3_GetSkillLevel(victim,race_victim,SKILL_MIRRORIMAGE);
         if(race_victim==thisRaceID)
         {
            if(GetRandomFloat(0.0,1.0)<=MirrorImageChance[skill_mimage] && !Silenced(victim))
            {
               if(bWinded[victim]==false)
               {
                  new tteam=GetClientTeam(victim);
                  new Float:this_pos[3];
                  {
                     GetClientAbsOrigin(victim,this_pos);
                     if(tteam==2)
                     {
                        TE_SetupGlowSprite(this_pos,GlowSprite,2.0,1.0,250);
                        TE_SendToAll();
                     }
                     else
                     {
                        TE_SetupGlowSprite(this_pos,GlowSprite2,2.0,1.0,250);
                        TE_SendToAll();
                     }
                  }
                  War3_SetBuff(victim,fMaxSpeed,thisRaceID,1.6);
                  PrintHintText(victim,"Mirror Image");
                  bWinded[victim]=true;
                  CreateTimer(2.0,RemoveSpeed,victim);
               }
               else
               {
                  War3_DamageModPercent(0.0);
               }
            }
         }
         if(race_attacker==thisRaceID)
         {
            //windwalk turn off
            if(bWinded[attacker]==true&&!Silenced(attacker))
            {
               War3_DamageModPercent(1.5);
               War3_SetBuff(attacker,fInvisibilitySkill,thisRaceID,1.0);
               War3_SetBuff(attacker,fMaxSpeed,thisRaceID,1.0);
               bWinded[attacker]=false;
               PrintHintText(attacker,"Wind Walk: 50% extra damage");
               EmitSoundToAll(ww_off,attacker);
            }
            //critical
            new skill_cs_attacker=War3_GetSkillLevel(attacker,race_attacker,SKILL_CRITICAL);
            if(skill_cs_attacker>0)
            {
               new Float:chance=0.15;
               if(GetRandomFloat(0.0,1.0)<=chance && !W3HasImmunity(victim,Immunity_Skills))
               {
                  new Float:percent=CriticalPercent[skill_cs_attacker];
                  new health_take=RoundFloat(damage*percent);
                  if(War3_DealDamage(victim,health_take,attacker,_,"bmastercrit",W3DMGORIGIN_SKILL,W3DMGTYPE_PHYSICAL,true))
                  {   
                     PrintHintText(attacker,"Critical! +%d Dmg",health_take);
                     PrintHintText(victim,"Received Critical -%d Dmg",health_take);
                     
                     /*War3_DamageModPercent(percent);
                     PrintToConsole(attacker,"%.1fX Critical ! ",percent+1.0);
                     PrintHintText(attacker,"Critical !",percent+1.0);
                     PrintToConsole(victim,"Received %.1fX Critical Dmg!",percent+1.0);
                     PrintHintText(victim,"Received Critical Dmg!");*/
                     
                     W3FlashScreen(victim,RGBA_COLOR_RED);
                  }
               }
            }
         }
      }
   }
}


Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Блин в 300 строке нет того что писал, а тот что с ошибками выше был War3Source_055_BladeMaster, у него Pre убрана,вот так у меня:

Так... я не пойму.

Pandaren Brewmaster - в твоем коде в 302 строке была запись public OnW3TakeDmgBulletPre(victim,attacker,Float:damage). В нем я так понял убрать надо Pre, а в BladeMaster добавить.
« Last Edit: December 10, 2011, 06:17:40 AM by Divix »
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Не Вы смотрели там ошибку блейд мастера, а я по запарке прикрепил пандарев мастера.
Вот щас с кину ошибку блейд мастера:

Quote
L 12/10/2011 - 14:49:08: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:49:08: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:50:42: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:50:42: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:51:02: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:51:02: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:52:27: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:52:27: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx

Я ему уже ставил Pre там уже другая ошибка идет, в какой то теме я уже задавал такой вопрос, сказали убери.

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Не Вы смотрели там ошибку блейд мастера, а я по запарке прикрепил пандарев мастера.
Вот щас с кину ошибку блейд мастера:

Quote
L 12/10/2011 - 14:49:08: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:49:08: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:50:42: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:50:42: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:51:02: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:51:02: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx
L 12/10/2011 - 14:52:27: [war3source/compiled/War3Source_Engine_DamageSystem.smx] You may not set damage mod percent here, use ....Pre forward
L 12/10/2011 - 14:52:27: [war3source/compiled/War3Source_Engine_DamageSystem.smx] war3source/compiled/War3Source_055_BladeMaster.smx

Я ему уже ставил Pre там уже другая ошибка идет, в какой то теме я уже задавал такой вопрос, сказали убери.

OnW3TakeDmgAllPre тогда, если не подойдет посмотрю внимательнее
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Arturius как как, в этом месте по подробней :)

Arturius

  • Moderator
  • Full Member
  • *****
  • Posts: 155
    • View Profile
    • Email
Блин в 300 строке нет того что писал, а тот что с ошибками выше был War3Source_055_BladeMaster, у него Pre убрана,вот так у меня:

Quote
public OnW3TakeDmgBullet(victim,attacker,Float:damage)   
{
   if(IS_PLAYER(victim)&&IS_PLAYER(attacker)&&victim>0&&attacker>0&&attacker!=victim)
   {
      new vteam=GetClientTeam(victim);
      new ateam=GetClientTeam(attacker);
      if(vteam!=ateam)
      {
         new race_attacker=War3_GetRace(attacker);
         new race_victim=War3_GetRace(victim);
         // mirror image
         new skill_mimage=War3_GetSkillLevel(victim,race_victim,SKILL_MIRRORIMAGE);
         if(race_victim==thisRaceID)
         {
            if(GetRandomFloat(0.0,1.0)<=MirrorImageChance[skill_mimage] && !Silenced(victim))
            {
               if(bWinded[victim]==false)
               {
                  new tteam=GetClientTeam(victim);
                  new Float:this_pos[3];
                  {
                     GetClientAbsOrigin(victim,this_pos);
                     if(tteam==2)
                     {
                        TE_SetupGlowSprite(this_pos,GlowSprite,2.0,1.0,250);
                        TE_SendToAll();
                     }
                     else
                     {
                        TE_SetupGlowSprite(this_pos,GlowSprite2,2.0,1.0,250);
                        TE_SendToAll();
                     }
                  }
                  War3_SetBuff(victim,fMaxSpeed,thisRaceID,1.6);
                  PrintHintText(victim,"Mirror Image");
                  bWinded[victim]=true;
                  CreateTimer(2.0,RemoveSpeed,victim);
               }
               else
               {
                  War3_DamageModPercent(0.0);
               }
            }
         }
         if(race_attacker==thisRaceID)
         {
            //windwalk turn off
            if(bWinded[attacker]==true&&!Silenced(attacker))
            {
               War3_DamageModPercent(1.5);
               War3_SetBuff(attacker,fInvisibilitySkill,thisRaceID,1.0);
               War3_SetBuff(attacker,fMaxSpeed,thisRaceID,1.0);
               bWinded[attacker]=false;
               PrintHintText(attacker,"Wind Walk: 50% extra damage");
               EmitSoundToAll(ww_off,attacker);
            }
            //critical
            new skill_cs_attacker=War3_GetSkillLevel(attacker,race_attacker,SKILL_CRITICAL);
            if(skill_cs_attacker>0)
            {
               new Float:chance=0.15;
               if(GetRandomFloat(0.0,1.0)<=chance && !W3HasImmunity(victim,Immunity_Skills))
               {
                  new Float:percent=CriticalPercent[skill_cs_attacker];
                  new health_take=RoundFloat(damage*percent);
                  if(War3_DealDamage(victim,health_take,attacker,_,"bmastercrit",W3DMGORIGIN_SKILL,W3DMGTYPE_PHYSICAL,true))
                  {   
                     PrintHintText(attacker,"Critical! +%d Dmg",health_take);
                     PrintHintText(victim,"Received Critical -%d Dmg",health_take);
                     
                     /*War3_DamageModPercent(percent);
                     PrintToConsole(attacker,"%.1fX Critical ! ",percent+1.0);
                     PrintHintText(attacker,"Critical !",percent+1.0);
                     PrintToConsole(victim,"Received %.1fX Critical Dmg!",percent+1.0);
                     PrintHintText(victim,"Received Critical Dmg!");*/
                     
                     W3FlashScreen(victim,RGBA_COLOR_RED);
                  }
               }
            }
         }
      }
   }
}


Ну, вы разве не видите, что в одной функции public OnW3TakeDmgBullet в этом коде используются оба вида повреждений: War3_DamageModPercent(0.0);, War3_DamageModPercent(1.5); и if(War3_DealDamage(victim,health_take,attacker,_,"bmastercrit",W3DMGORIGIN_SKILL,W3DMGTYPE_PHYSICAL,true)). А это недопустимо!

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Ну, вы разве не видите, что в одной функции public OnW3TakeDmgBullet в этом коде используются оба вида повреждений: War3_DamageModPercent(0.0);, War3_DamageModPercent(1.5); и if(War3_DealDamage(victim,health_take,attacker,_,"bmastercrit",W3DMGORIGIN_SKILL,W3DMGTYPE_PHYSICAL,true)). А это недопустимо!

Я написал выше OnW3TakeDmgAllPre, но правильно ли это ? Как вы и сказали здесь используется War3_DealDamage и War3_DamageModPercent, но что для этого надо использовать ?? Или это категорически недопустимо и нет альтернативы ?

PS Извиняюсь, но я сразу внимательно код расы не смотрю  ::)

Quote
/**
 * Called when a an entity takes damage, requires SDK Hooks until SM natively supports this.
 * @param victim: Victim entity.
 * @param attacker: Attacker entity.
 * @param damage: How much damage is done.
 * @noreturn
 *
 * order of execution is
 * damageallpre
 * bulletpre (if bullet)
 * damageall
 * bullet  (if bullet)      
 */
//FF triggers this function!!! even though it didnt damage any teammate
//THIS is a theoretical damage given by the engine, if u want real damage dealt use the hurt-event
//use natives to retrieve inflictor and game damagetype
//becareful when using this, u should only use this to reduce incoming damage. if you want to return damge, only use on bullet (first trigger damage)(below) or check IsBullet
//you may set damage mod percent HERE  
//you may NOT DAMAGE IN HERE  
forward OnW3TakeDmgAllPre(victim,attacker,Float:damage);  
//bullet only
forward OnW3TakeDmgBulletPre(victim,attacker,Float:damage);  


//you may NOT set damage mod percent HERE  
//you may DAMAGE in here, however damage will be engine theoretical damage, not actual damage dealt
forward OnW3TakeDmgAll(victim,attacker,Float:damage);  
// BULLET GAME DAMAGE ONLY or Warcraft damage that is allowed to be retriggered (allow more item and skill modifiers), (FILTERED)
//you may NOT set damage mod percent HERE
//you may DAMAGE in here
forward OnW3TakeDmgBullet(victim,attacker,Float:damage);  
« Last Edit: December 10, 2011, 11:43:45 AM by Divix »
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Arturius

  • Moderator
  • Full Member
  • *****
  • Posts: 155
    • View Profile
    • Email
Pre используется в любом случае только для War3_DamageModPercent, независимо от того, OnW3TakeDmgAll это или OnW3TakeDmgBullet. И совместное использование War3_DamageModPercent с War3_DealDamage неизменно будет вызывать ошибку. Я вижу два выхода из сложившегося положения. Первый, заменить имеющийся в коде War3_DealDamage на War3_DamageModPercent и подогнать его значение под желаемое. Второй вариант менее привлекательный. Это создать ещё одну функцию OnW3TakeDmgBullet, куда вывести отдельно ту часть кода, где присутствует War3_DealDamage. Тогда одна функция будет OnW3TakeDmgBulletPre с War3_DamageModPercent, а вторая OnW3TakeDmgBullet с War3_DealDamage.

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Pre используется в любом случае только для War3_DamageModPercent, независимо от того, OnW3TakeDmgAll это или OnW3TakeDmgBullet. И совместное использование War3_DamageModPercent с War3_DealDamage неизменно будет вызывать ошибку. Я вижу два выхода из сложившегося положения. Первый, заменить имеющийся в коде War3_DealDamage на War3_DamageModPercent и подогнать его значение под желаемое. Второй вариант менее привлекательный. Это создать ещё одну функцию OnW3TakeDmgBullet, куда вывести отдельно ту часть кода, где присутствует War3_DealDamage. Тогда одна функция будет OnW3TakeDmgBulletPre с War3_DamageModPercent, а вторая OnW3TakeDmgBullet с War3_DealDamage.

Огромное спасибо Arturius, я конечно не такой уж и мастер это все замутить, это сможете только Вы. Но у меня все равно болит голова о расе Трембл, она так и прет с ошибками. Что делать? Может удалить его опять? И почему у него ошибка идет в обратном порядке, 473, 413, 374 ?

Quote
L 12/11/2011 - 11:04:01: [SM] Native "TE_WriteVector" reported: Temp entity property "m_vec" not found
L 12/11/2011 - 11:04:01: [SM] Displaying call stack trace for plugin "war3source/compiled/War3Source_018_Tremble.smx":
L 12/11/2011 - 11:04:01: [SM]   
  •   Line 473, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::TE_SetupDynamicLight()

L 12/11/2011 - 11:04:01: [SM]   [1]  Line 413, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::MountAoE()
L 12/11/2011 - 11:04:01: [SM]   [2]  Line 374, D:\War3Source 1.2.3.5\COMPILED.Fail\scripting\war3source\War3Source_018_Tremble.sp::CalcTremble()

Arturius

  • Moderator
  • Full Member
  • *****
  • Posts: 155
    • View Profile
    • Email
Тебе же уже говорили:
Quote
Насчет трембл не знаю.. у меня не одной ошибки. (но должно быть не m_vec, а m_vecOrigin)

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Все спасибо сам тупанул извини, щас сделал как сказал,проверю. А насчет Блейд мастера?

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
У другой расы "WitchDoctor" при компиляции выдает ошибку:

Quote
W3SIncs/War3Source_Interface.inc<1143> :warning 219: locol veriable "health" shadows a variable at a preceding level
War3Source_082_WitchDoctor.sp<130> : error 017: undefined symbol "War3_SetMaxHP"

В интерфейсе строка:

Quote
stock nsEntity_SetHealth(entity, health)

Это 130 строка в расе

Quote
public Passive(client){
   new skill_training=War3_GetSkillLevel(client,thisRaceID,SKILL_TRAINING);
      
   War3_SetMaxHP(client,War3_GetMaxHP(client)+health[skill_training]);
   CreateTimer(regen[skill_training], Regen, client);

Получается в интерфейсе ошибка?

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
У другой расы "WitchDoctor" при компиляции выдает ошибку:

Quote
W3SIncs/War3Source_Interface.inc<1143> :warning 219: locol veriable "health" shadows a variable at a preceding level
War3Source_082_WitchDoctor.sp<130> : error 017: undefined symbol "War3_SetMaxHP"

В интерфейсе строка:

Quote
stock nsEntity_SetHealth(entity, health)

Это 130 строка в расе

Quote
public Passive(client){
   new skill_training=War3_GetSkillLevel(client,thisRaceID,SKILL_TRAINING);
      
   War3_SetMaxHP(client,War3_GetMaxHP(client)+health[skill_training]);
   CreateTimer(regen[skill_training], Regen, client);

Получается в интерфейсе ошибка?

В начале темы первый пункт - выкладывать код расы надо.
Объясняю зачем это надо: у меня компилируется без ошибок, но я еще давно изменил код расы и чтобы не искать проблему мне легче сравнить мой и Ваш код...
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Так глубоко извиняюсь,вот она.
Во многих расах у меня при компиляции, появляется вот такого характера ошибка:
 undefined symbol "War3_SetMaxHP", как и у этого вич доктора,что за сет макс?
« Last Edit: December 11, 2011, 06:31:35 AM by Han »

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Так глубоко извиняюсь,вот она.
Во многих расах у меня при компиляции, появляется вот такого характера ошибка:
 undefined symbol "War3_SetMaxHP", как и у этого вич доктора,что за сет макс?

War3_SetMaxHP - в ранних версиях устанавливало максимальное кол-во жизней. Сейчас используется War3_SetBuff(клиент,iAdditionalMaxHealth,thisRaceID,кол-во);

Ошибки в интерфейсе нету. Автор не подумал о том, что health может использоваться не только в его расе (говорю об этом потому что так часто бывает).

В 23 строке заместо new health[4]={0,20,30,40}; : new WitchDoctorhealth[4]={0,20,30,40};
В 130 строке заместо War3_SetMaxHP: War3_SetBuff(client,iAdditionalMaxHealth,thisRaceID,WitchDoctorhealth[skill_training]);

У меня была раса от другого автора.. сейчас добавлю в начало
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

alex0310

  • Full Member
  • ***
  • Posts: 185
    • View Profile
    • http://forum.cmepiii.ru/
Так глубоко извиняюсь,вот она.
Во многих расах у меня при компиляции, появляется вот такого характера ошибка:
 undefined symbol "War3_SetMaxHP", как и у этого вич доктора,что за сет макс?
Замени
Code: [Select]
War3_SetMaxHPна
Code: [Select]
War3_SetMaxHP_INTERNAL

Bazinga

  • Newbie
  • *
  • Posts: 27
    • View Profile
    • Email
Ребята, помогите пожалуйста, при компеляции столкнулся с проблемой на некоторых расах... выдает такую ошибку:



Подскажите пожалуйста как это исправить ??

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Ребята, помогите пожалуйста, при компеляции столкнулся с проблемой на некоторых расах... выдает такую ошибку:



Подскажите пожалуйста как это исправить ??

Не хватает файла haaaxfunctions.inc - такое уже было в некоторых темах. Запихнуть в scripting->include.
Хотя сейчас вроде haaaxfunctions особо и не нужно, достаточно просто убрать строчку #include <haaaxfunctions> в коде расы.
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Bazinga

  • Newbie
  • *
  • Posts: 27
    • View Profile
    • Email
Ребята, помогите пожалуйста, при компеляции столкнулся с проблемой на некоторых расах... выдает такую ошибку:



Подскажите пожалуйста как это исправить ??

Не хватает файла haaaxfunctions.inc - такое уже было в некоторых темах. Запихнуть в scripting->include.
Хотя сейчас вроде haaaxfunctions особо и не нужно, достаточно просто убрать строчку #include <haaaxfunctions> в коде расы.
Неа, этот фал у меня есть.
Файл

Han

  • Full Member
  • ***
  • Posts: 134
    • View Profile
Bazinga, а код расы кто будет показывать, или должны на угад тебе подсказать?
« Last Edit: December 12, 2011, 01:43:16 AM by Han »

Arturius

  • Moderator
  • Full Member
  • *****
  • Posts: 155
    • View Profile
    • Email
Так глубоко извиняюсь,вот она.
Во многих расах у меня при компиляции, появляется вот такого характера ошибка:
 undefined symbol "War3_SetMaxHP", как и у этого вич доктора,что за сет макс?
Замени
Code: [Select]
War3_SetMaxHPна
Code: [Select]
War3_SetMaxHP_INTERNAL
Не знаю как у вас, но у меня War3_SetMaxHP_INTERNAL работает некорректно или вовсе не работает. Вариант, предложенный Divix с War3_SetBuff(клиент,iAdditionalMaxHealth,thisRaceID,кол-во); работает лучше всего. Но надо не забывать в OnRaceChanged для другой расы снимать бафф War3_SetBuff(клиент,iAdditionalMaxHealth,thisRaceID,0); , иначе эффект переходит на другую расу.