• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[Solved]Any method to PREVENT custom map working on Reforged?

Status
Not open for further replies.
Level 3
Joined
Jun 12, 2022
Messages
8
Hello everyone!
I'm still an active WEer updating my map and majority of players are still playing on 1.29 on non-BN platform.
There are also some small quantity of people who don't know about the platform and thought BN is the only place.
The map has never been compiled by the newest WE so as expected there are bugs here and there on the BN version.
I'm fine with that as long as they all enjoy the game.
BTW, the reason why I don't switch to BN is because map is using NewGen and migrate just doesn't worth the effort since most players are not there and we never know if there will be new bugs introduced by BZ themselves.

But recently, one of the BN player started to blame me causing all the bugs on reforge on the official update page.
After days of explaining, I gave up.
The guy simply is not listening and make all the maintainer's reputation looks bad despite that's not the truth.
I need to take action.

So here's the question, if there any method to detect War3 version(1.30+) in trigger then run a simple unbreakable loop to make the game crash?
Or any other bug you encounter on reforge version but works fine on classic(1.29-)?
I'm truely tired of them and need them to stop.
Any method will be appreciated:)
 
Last edited:
Level 3
Joined
Jun 12, 2022
Messages
8
One way is to check for the localized String REFORGED. If it is set defeat the local player.

purposly Crash is kinda ugly.

JASS:
if GetLocalizedString("REFORGED") != "REFORGED" then
    call CustomDefeatBJ(GetLocalPlayer(), "Reforged is not allowed")
end
LOL thought this is not possible.
Thanks man, let me give it a try!
 
Level 3
Joined
Jun 12, 2022
Messages
8
One way is to check for the localized String REFORGED. If it is set defeat the local player.

purposly Crash is kinda ugly.

JASS:
if GetLocalizedString("REFORGED") != "REFORGED" then
    call CustomDefeatBJ(GetLocalPlayer(), "Reforged is not allowed")
end
It seems not working:vw_wtf:
Am I doing anything wrong?
JASS:
function Trig_Anti_Reforged_Copy_Actions takes nothing returns nothing
    if GetLocalizedString("REFORGED") != "REFORGED" then
        call CustomDefeatBJ( GetLocalPlayer(), "TRIGSTR_8801" )
        call DestroyTrigger( GetTriggeringTrigger() )
    endif
endfunction

//===========================================================================
function InitTrig_Anti_Reforged_Copy takes nothing returns nothing
    set gg_trg_Anti_Reforged_Copy = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Anti_Reforged_Copy, function Trig_Anti_Reforged_Copy_Actions )
endfunction
 
Isn't it suppose to be == not ! = ?
I use != "REFORGED" because when that key is not set GetLocalizedString returns the key. Therefore in V1.32+ "REFORGED" returns not REFORGED

In V1.32 war3.w3mod:_locales\dede.w3mod:ui\framedef\globalstrings.fdf has the key set.
REFORGED "Reforged",

It seems not working:vw_wtf:
Am I doing anything wrong?
JASS:
function Trig_Anti_Reforged_Copy_Actions takes nothing returns nothing
    if GetLocalizedString("REFORGED") != "REFORGED" then
        call CustomDefeatBJ( GetLocalPlayer(), "TRIGSTR_8801" )
        call DestroyTrigger( GetTriggeringTrigger() )
    endif
endfunction

//===========================================================================
function InitTrig_Anti_Reforged_Copy takes nothing returns nothing
    set gg_trg_Anti_Reforged_Copy = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Anti_Reforged_Copy, function Trig_Anti_Reforged_Copy_Actions )
endfunction
This code is never executed, you run that trigger somewhere else?.
Also it should do nothing, if you run not Warcraft 3 V1.32+.

Edit: It also should be doable in GUI:
  • Melee Initialization
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Externalized string(REFORGED)) Not equal to REFORGED
        • Then - Actions
          • Player Group - Pick every player in (All players) and do (Actions)
            • Loop - Actions
              • Game - Defeat (Picked player) with the message: Defeat!
        • Else - Actions
 
Last edited:
Level 3
Joined
Jun 12, 2022
Messages
8
I use != "REFORGED" because when that key is not set GetLocalizedString returns the key. Therefore in V1.32+ "REFORGED" returns not REFORGED

In V1.32 war3.w3mod:_locales\dede.w3mod:ui\framedef\globalstrings.fdf has the key set.
REFORGED "Reforged",


This code is never executed, you run that trigger somewhere else?.
Also it should do nothing, if you run not Warcraft 3 V1.32+.

Edit: It also should be doable in GUI:
  • Melee Initialization
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Externalized string(REFORGED)) Not equal to REFORGED
        • Then - Actions
          • Player Group - Pick every player in (All players) and do (Actions)
            • Loop - Actions
              • Game - Defeat (Picked player) with the message: Defeat!
        • Else - Actions
Now I get it and...it actually works this time!
Thank you so much, now I can drop a bomb instead of present on X'Mas special version:ogre_hurrhurr:
 
Status
Not open for further replies.
Top