• 🏆 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!

[General] Exchange item system with gates

Level 11
Joined
Sep 11, 2013
Messages
327
Greetings folks!
I've made a new exchange item system, but i think is just impossible to make it perfect with all my requiremets..

So.. I wonder if you can tell me if what i want is possible or not..

I tried multiple times, but seems to be impossible.


I.You only need to exchange those 2 items, but with few rules..

Requirements:
1.All 4 gates must be able to open/close via triggers ONLY with those 4 levers.
a.The Map must start only with the original positions of paladins/items/gates/leavers/terrain
b.Don't create or put other units/items/doodads/destructible/abilities/terrain/regions in the map
c.Don't use triggers for teleport paladins/items/destructible
d.Don't make the paladins able to fly or pass the gate if the gate is closed


2.There must be at least 1 way to prevent trolling(those paladins must NOT remain stuck between the gates(even if someone try to troll)

3.Those paladins must NOT be able to cross the other side of the gates and meet each other

4.the process of exchange items must be able to reset and repeat.



Again, I have no ideea if that is possible..

Thanks for your help!
 

Attachments

  • Lever_mess_simple.w3m
    46.1 KB · Views: 4
Level 11
Joined
Sep 11, 2013
Messages
327
I don't understand, you didn't describe a sequence how to trade. What are the steps there? Finally The XY Problem
You can do it however you want as long as you respect those rules..

Ideal solution must be like this:
2 gates will open diagonally
1 item will be put between the first 2 gates and the other one item will be put between the last 2 gates.
then open the other 2 gates diagonally and the first 2 gates will be closed and the last 2 diagonally gates will be open, but this will not respect all rules because you can pass the other side of the gates with paladin.

There must be other solution, but i am not sure if there is any solution with those rules..
 
Last edited:
Level 19
Joined
Jan 3, 2022
Messages
320
Hm see if BossBattle (the map) has a trading system that would fit you. It's completely scripted, no unit movement. Each player has a dedicated room (there are 4) and the trading is done by clicking the abilities (since Reforged) to put/take items and to complete trade.
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,583
Hm see if BossBattle (the map) has a trading system that would fit you. It's completely scripted, no unit movement. Each player has a dedicated room (there are 4) and the trading is done by clicking the abilities (since Reforged) to put/take items and to complete trade.
Do you understand what he wants? I'm confused but it sounds like it could be pretty simple.

@AtivEnergy Perhaps some pictures would help.
 
Last edited:
Level 11
Joined
Sep 11, 2013
Messages
327
@AtivEnergy Perhaps some pictures would help.
Well.. I just found the solution! I'll post the solution on this post for everyone which is interested.
I don't know how to use pictures to make it simple.. but anyway, now is fixed.

However now i have a new problem and i think it's a bug..
  • Torch Problem
    • Events
      • Unit - A unit Loses an item
    • Conditions
    • Actions
      • Unit - Create 1 Torch for (Triggering player) at (Position of (Last dropped item)) facing (Position of (Triggering unit))
This trigger will create my unit just in center of the map and i don't know why.. I know how to make it without leaks, but here is just for fast test.
I want to have an item that create light(vision like a unit) for triggering player only when the hero drop the item on the ground and that unit must be created in the middle of the dropped item. Why it doesn't work?
 

Attachments

  • Lever_mess_simple.w3m
    52 KB · Views: 1

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,583
Well.. I just found the solution! I'll post the solution on this post for everyone which is interested.
I don't know how to use pictures to make it simple.. but anyway, now is fixed.

However now i have a new problem and i think it's a bug..
  • Torch Problem
    • Events
      • Unit - A unit Loses an item
    • Conditions
    • Actions
      • Unit - Create 1 Torch for (Triggering player) at (Position of (Last dropped item)) facing (Position of (Triggering unit))
This trigger will create my unit just in center of the map and i don't know why.. I know how to make it without leaks, but here is just for fast test.
I want to have an item that create light(vision like a unit) for triggering player only when the hero drop the item on the ground and that unit must be created in the middle of the dropped item. Why it doesn't work?
You can get the position of the unit that dropped the item. Warcraft 3 Events are finicky and don't always occur when you'd expect them to.
 
Level 20
Joined
Feb 27, 2019
Messages
593
Items are not truly considered lost until a frame later. To get to the next frame one can start a timer at 0.00 seconds. If one is a noob and doesnt care about the quality of their map they can use a wait of 0.00 seconds instead which technically works but adds a noticeable delay.
  • Lose Item
    • Events
      • Unit - A unit Loses an item
    • Conditions
    • Actions
      • Set VariableSet LI_Index = (LI_Index + 1)
      • Set VariableSet LI_Item[LI_Index] = (Item being manipulated)
      • Set VariableSet LI_Player[LI_Index] = (Owner of (Triggering unit))
      • Countdown Timer - Start LI_Timer as a One-shot timer that will expire in 0.00 seconds
  • Lose Item Timer Expires
    • Events
      • Time - LI_Timer expires
    • Conditions
    • Actions
      • For each (Integer LoopA) from 1 to LI_Index, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (LI_Item[LoopA] is owned) Equal to False
              • (Item-type of LI_Item[LoopA]) Not equal to (Item-type of No item)
            • Then - Actions
              • Set VariableSet TempPoint = (Position of LI_Item[LoopA])
              • Unit - Create 1 Footman for LI_Player[LoopA] at TempPoint facing 0.00 degrees
              • Custom script: call RemoveLocation(udg_TempPoint)
            • Else - Actions
          • Custom script: set udg_LI_Player[udg_LoopA] = null
          • Set VariableSet LI_Item[LoopA] = No item
      • Set VariableSet LI_Index = 0
 
Top