• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Request help for 'Cannot load map data' problem

Status
Not open for further replies.
Level 3
Joined
Oct 15, 2018
Messages
23
Hi, i'm developing a map with the map editor of Warcraft 1.30.4. Me and my friends/beta testers used to try it in eurobattle.net with Warcraft version 1.28.5 and there were no problems. However, since my last update to the map it is possible to open it only with Warcraft 1.30. If we try to open the map with Warcraft 1.28.5 or 1.26a it pops the message 'Cannot load map data'. There are no script errors notified by map editor. Do I added something incompatible with older versions? Does someone encountered the same problem? I hope this is the right place to post this thread.
I thank right away who will help me.
Luca
 
Level 8
Joined
Jun 13, 2012
Messages
336
sure it helps or you could just tell me all the things u changed from 1 version to another? if the list is short.

these natives aren't in 1.28.5:

JASS:
// Automation Test
native AutomationSetTestType                    takes string testType returns nothing
native AutomationTestStart                      takes string testName returns nothing
native AutomationTestEnd                        takes nothing returns nothing
native AutomationTestingFinished                takes nothing returns nothing

// JAPI Functions
native BlzGetTriggerPlayerMouseX                   takes nothing returns real
native BlzGetTriggerPlayerMouseY                   takes nothing returns real
native BlzGetTriggerPlayerMousePosition            takes nothing returns location
native BlzGetTriggerPlayerMouseButton              takes nothing returns mousebuttontype
native BlzSetAbilityTooltip                        takes integer abilCode, string tooltip, integer level returns nothing
native BlzSetAbilityActivatedTooltip               takes integer abilCode, string tooltip, integer level returns nothing
native BlzSetAbilityExtendedTooltip                takes integer abilCode, string extendedTooltip, integer level returns nothing
native BlzSetAbilityActivatedExtendedTooltip       takes integer abilCode, string extendedTooltip, integer level returns nothing
native BlzSetAbilityResearchTooltip                takes integer abilCode, string researchTooltip, integer level returns nothing
native BlzSetAbilityResearchExtendedTooltip        takes integer abilCode, string researchExtendedTooltip, integer level returns nothing
native BlzGetAbilityTooltip                        takes integer abilCode, integer level returns string
native BlzGetAbilityActivatedTooltip               takes integer abilCode, integer level returns string
native BlzGetAbilityExtendedTooltip                takes integer abilCode, integer level returns string
native BlzGetAbilityActivatedExtendedTooltip       takes integer abilCode, integer level returns string
native BlzGetAbilityResearchTooltip                takes integer abilCode, integer level returns string
native BlzGetAbilityResearchExtendedTooltip        takes integer abilCode, integer level returns string
native BlzSetAbilityIcon                           takes integer abilCode, string iconPath returns nothing
native BlzGetAbilityIcon                           takes integer abilCode returns string
native BlzSetAbilityActivatedIcon                  takes integer abilCode, string iconPath returns nothing
native BlzGetAbilityActivatedIcon                  takes integer abilCode returns string
native BlzGetAbilityPosX                           takes integer abilCode returns integer
native BlzGetAbilityPosY                           takes integer abilCode returns integer
native BlzSetAbilityPosX                           takes integer abilCode, integer x returns nothing
native BlzSetAbilityPosY                           takes integer abilCode, integer y returns nothing
native BlzGetAbilityActivatedPosX                  takes integer abilCode returns integer
native BlzGetAbilityActivatedPosY                  takes integer abilCode returns integer
native BlzSetAbilityActivatedPosX                  takes integer abilCode, integer x returns nothing
native BlzSetAbilityActivatedPosY                  takes integer abilCode, integer y returns nothing
native BlzGetUnitMaxHP                             takes unit whichUnit returns integer
native BlzSetUnitMaxHP                             takes unit whichUnit, integer hp returns nothing
native BlzGetUnitMaxMana                           takes unit whichUnit returns integer
native BlzSetUnitMaxMana                           takes unit whichUnit, integer mana returns nothing
native BlzSetItemName                              takes item whichItem, string name returns nothing
native BlzSetItemDescription                       takes item whichItem, string description returns nothing
native BlzGetItemDescription                       takes item whichItem returns string
native BlzSetItemTooltip                           takes item whichItem, string tooltip returns nothing
native BlzGetItemTooltip                           takes item whichItem returns string
native BlzSetItemExtendedTooltip                   takes item whichItem, string extendedTooltip returns nothing
native BlzGetItemExtendedTooltip                   takes item whichItem returns string
native BlzSetItemIconPath                          takes item whichItem, string iconPath returns nothing
native BlzGetItemIconPath                          takes item whichItem returns string
native BlzSetUnitName                              takes unit whichUnit, string name returns nothing
native BlzSetHeroProperName                        takes unit whichUnit, string heroProperName returns nothing
native BlzGetUnitBaseDamage                        takes unit whichUnit, integer weaponIndex returns integer
native BlzSetUnitBaseDamage                        takes unit whichUnit, integer baseDamage, integer weaponIndex returns nothing
native BlzGetUnitDiceNumber                        takes unit whichUnit, integer weaponIndex returns integer
native BlzSetUnitDiceNumber                        takes unit whichUnit, integer diceNumber, integer weaponIndex returns nothing
native BlzGetUnitDiceSides                         takes unit whichUnit, integer weaponIndex returns integer
native BlzSetUnitDiceSides                         takes unit whichUnit, integer diceSides, integer weaponIndex returns nothing
native BlzGetUnitAttackCooldown                    takes unit whichUnit, integer weaponIndex returns real
native BlzSetUnitAttackCooldown                    takes unit whichUnit, real cooldown, integer weaponIndex returns nothing
native BlzSetSpecialEffectColorByPlayer            takes effect whichEffect, player whichPlayer returns nothing
native BlzSetSpecialEffectColor                    takes effect whichEffect, integer r, integer g, integer b returns nothing
native BlzSetSpecialEffectAlpha                    takes effect whichEffect, integer alpha returns nothing
native BlzSetSpecialEffectScale                    takes effect whichEffect, real scale returns nothing
native BlzSetSpecialEffectPosition                 takes effect whichEffect, real x, real y, real z returns nothing
native BlzSetSpecialEffectHeight                   takes effect whichEffect, real height returns nothing
native BlzSetSpecialEffectTimeScale                takes effect whichEffect, real timeScale returns nothing
native BlzSetSpecialEffectTime                     takes effect whichEffect, real time returns nothing
native BlzSetSpecialEffectOrientation              takes effect whichEffect, real yaw, real pitch, real roll returns nothing
native BlzSetSpecialEffectYaw                      takes effect whichEffect, real yaw returns nothing
native BlzSetSpecialEffectPitch                    takes effect whichEffect, real pitch returns nothing
native BlzSetSpecialEffectRoll                     takes effect whichEffect, real roll returns nothing
native BlzSetSpecialEffectX                        takes effect whichEffect, real x returns nothing
native BlzSetSpecialEffectY                        takes effect whichEffect, real y returns nothing
native BlzSetSpecialEffectZ                        takes effect whichEffect, real z returns nothing
native BlzSetSpecialEffectPositionLoc              takes effect whichEffect, location loc returns nothing
native BlzGetLocalSpecialEffectX                   takes effect whichEffect returns real
native BlzGetLocalSpecialEffectY                   takes effect whichEffect returns real
native BlzGetLocalSpecialEffectZ                   takes effect whichEffect returns real
native BlzSpecialEffectClearSubAnimations          takes effect whichEffect returns nothing
native BlzSpecialEffectRemoveSubAnimation          takes effect whichEffect, subanimtype whichSubAnim returns nothing
native BlzSpecialEffectAddSubAnimation             takes effect whichEffect, subanimtype whichSubAnim returns nothing
native BlzPlaySpecialEffect                        takes effect whichEffect, animtype whichAnim returns nothing
native BlzPlaySpecialEffectWithTimeScale           takes effect whichEffect, animtype whichAnim, real timeScale returns nothing
native BlzGetAnimName                              takes animtype whichAnim returns string
native BlzGetUnitArmor                             takes unit whichUnit returns real
native BlzSetUnitArmor                             takes unit whichUnit, real armorAmount returns nothing
native BlzUnitHideAbility                          takes unit whichUnit, integer abilId, boolean flag returns nothing
native BlzUnitDisableAbility                       takes unit whichUnit, integer abilId, boolean flag, boolean hideUI returns nothing
native BlzUnitCancelTimedLife                      takes unit whichUnit returns nothing
native BlzIsUnitSelectable                         takes unit whichUnit returns boolean
native BlzIsUnitInvulnerable                       takes unit whichUnit returns boolean
native BlzUnitInterruptAttack                      takes unit whichUnit returns nothing
native BlzGetUnitCollisionSize                     takes unit whichUnit returns real
native BlzGetAbilityManaCost                       takes integer abilId, integer level returns integer
native BlzGetAbilityCooldown                       takes integer abilId, integer level returns real
native BlzSetUnitAbilityCooldown                   takes unit whichUnit, integer abilId, integer level, real cooldown returns nothing
native BlzGetUnitAbilityCooldown                   takes unit whichUnit, integer abilId, integer level returns real
native BlzGetUnitAbilityCooldownRemaining          takes unit whichUnit, integer abilId returns real
native BlzEndUnitAbilityCooldown                   takes unit whichUnit, integer abilCode returns nothing
native BlzGetUnitAbilityManaCost                   takes unit whichUnit, integer abilId, integer level returns integer
native BlzSetUnitAbilityManaCost                   takes unit whichUnit, integer abilId, integer level, integer manaCost returns nothing
native BlzGetLocalUnitZ                            takes unit whichUnit returns real  
native BlzDecPlayerTechResearched                  takes player whichPlayer, integer techid, integer levels returns nothing
native BlzSetEventDamage                           takes real damage returns nothing
native RequestExtraIntegerData                     takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns integer
native RequestExtraBooleanData                     takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns boolean
native RequestExtraStringData                      takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns string
native RequestExtraRealData                        takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns real
// Add this function to follow the style of GetUnitX and GetUnitY, it has the same result as BlzGetLocalUnitZ
native BlzGetUnitZ                                 takes unit whichUnit returns real
 
Last edited:
Level 8
Joined
Jun 13, 2012
Messages
336
  • For each (Integer conta) from 1 to 6, do (Actions)
    • Loop - Actions
      • Camera - Apply CameraBattlefield[conta] for (Player(conta)) over 1.00 seconds
      • Unit Group - Pick every unit in (Units in SummonsRegions[conta]) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • BonusPermanenteDanni[conta] Greater than 0
            • Then - Actions
              • Unit - Set Base Damage of (Picked unit) to ((Base Damage of (Picked unit) for weapon index 1) + (2 x BonusPermanenteDanni[conta])) for weapon index: 1 // new native
            • Else - Actions
              • Do nothing
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • BonusPermanenteVita[conta] Greater than 0
            • Then - Actions
              • Unit - Set Max HP of (Picked unit) to ((Max HP of (Picked unit)) + (15 x BonusPermanenteVita[conta])) // new native
              • Unit - Set life of (Picked unit) to (Max life of (Picked unit))
            • Else - Actions
              • Do nothing
          • Unit - Move (Picked unit) instantly to (Center of RegionsQG_spawn[conta])
          • Unit - Unpause (Picked unit)
Where i added '// new native' there lies the problem. Trigger name was setting turn in folder main

You can not modify base damage or max hp in versions prior to 1.30.
 
Last edited:
Level 3
Joined
Oct 15, 2018
Messages
23
How the hell did you manage to find it so quickly? I'm very impressed, you're a boss. Is there an alternative 'old way' for doing the same thing? (Adding damage and max hp to units)
Thank you so very much!
 
Level 8
Joined
Jun 13, 2012
Messages
336
How the hell did you manage to find it so quickly? I'm very impressed, you're a boss. Is there an alternative 'old way' for doing the same thing? (Adding damage and max hp to units)
Thank you so very much!
i sended u a private message to answer your first question but i'll post it here in case other ppl wanted to know. also no there isn't. at least not with triggers. you should mby create a tome that increases hp mby make a hero use it via trigger but that's the best i can think of.

As for Base damage. No that's entirely new thing in 1.30 only.

method:
The way i found out what new native you used is i used MPQ Editor MPQ Archives - Downloads and opened the map. Opened War3map.j with jasscraft and searched for 'Blz'. Because most of the new native's start with that. So you could do the same if you think you ran into that problem.


To identify which trigger that might me since you will be seeing wall of text and not understanding it all probably. Just read what the function name is and you will see the name of your trigger. (This method works cuz u are reading GUI triggers not jass so..)

example:

JASS:
function Trig_Setting_Turn_Func027Func002A takes nothing returns nothing
    if ( Trig_Setting_Turn_Func027Func002Func001C() ) then
        call BlzSetUnitBaseDamage(GetEnumUnit(), ( BlzGetUnitBaseDamage(GetEnumUnit(), 1) + ( 2 * udg_BonusPermanenteDanni[udg_conta] ) ), 1)
    else
        call DoNothing()
    endif
    if ( Trig_Setting_Turn_Func027Func002Func002C() ) then
        call BlzSetUnitMaxHP(GetEnumUnit(), ( BlzGetUnitMaxHP(GetEnumUnit()) + ( 15 * udg_BonusPermanenteVita[udg_conta] ) ))
        call SetUnitLifeBJ(GetEnumUnit(), GetUnitStateSwap(UNIT_STATE_MAX_LIFE, GetEnumUnit()))
    else
        call DoNothing()
    endif
    call SetUnitPositionLoc(GetEnumUnit(), GetRectCenter(udg_RegionsQG_spawn[udg_conta]))
    call PauseUnitBJ(false, GetEnumUnit())
endfunction

Trig_Setting_Turn_Func027Func002A = Setting Turn <=== triggers name
 
Careful:
- In Warcraft 1.30 weapons are 1-indexed (weapon 1, weapon 2)
- In Warcraft 1.31 weapons are 0-indexed (weapon 0, weapon 1)

In my example : I edited a map with war3 editor 1.30.4 and set base damage for weapon of index 1.
I play with 1.30.4 : no problem.
I play this map with 1.31 : damage is not set (because the unit's weapon 1 has become unit's weapon 0...)
I edit this map with 1.31 : index is still "1", first weapon for 1.30.4, second weapon for 1.31... in my trigger.
 
Status
Not open for further replies.
Top