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

FullScreenItemShop 3.0

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
=====================================================
IF YOU USE MY SISTEM IN YOUR MAP PLEASE WRITE ME IN CREDIT!!!
=====================================================

Use full screen item shop to buy 32 items in one shop!

Version 1.0
- 32 item slot of the shop.
- very customizable
- easy to administer.

Version 1.1
- added call RemoveLocation (thank to xorkatoss)
- changed buy item sistem. Now you must enter only slot of item 1-32.


Version 2.0
- Removed -info
- Added to the prices in the form of floating text
- Now the system works for 10 players, but a buyer can be only one. Once he leaves, the store closes at 10 sec for removal of floating text. Then he was called and the players are informed about it. If someone would go to the store during the cleaning it would write about that store is closed
- Fixed small bugs.

Version 2.1
Fixed one stuped, but big bug -_-
Floating text, is now working normally and using the store for the second time it appears.

Version 2.1d
- Added description.

Version 3.0
-All changed and optimized.
-Now MUI



Keywords:
System, GUI, inventory, item, full screen, slot, 32 slot, shop, click, get, OxygenD
Contents

FullScreenItemShop 3.0 (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. Bribe: InitShopRegions should just be a Map Initialization event. This event has less overhead and is safer than a timer event. AntiOut trigger doesn't register events for players...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For long time as NeedsFix. Rejected.

Bribe:

InitShopRegions should just be a Map Initialization event. This event has less overhead and is safer than a timer event.

AntiOut trigger doesn't register events for players 11 and 12, what happened?

"Game - Display to (Player group((Triggering player))) the text: Maximal value is 32!"

- This leaks a player group.

"(Integer((Entered chat string))) Greater than or equal to 33"

So the chat string is a number? That's pretty unstable. So the event will fire for simple chatter. It should be command-line based such as "-antiout #"

SetShopCamera only works for player 1 ...

Maker, v3.0, 14.07.2011
Player group leak:
  • Game - Display to (Player group((Owner of FSS_PausedUnit[(Player number of (Owner of (Buying unit)))]))) for...
Leak:
  • Camera - Pan camera for (Triggering player) to (Position of FSS_Hero[(Player number of (Triggering player))]) over 0.00 seconds
Leak:
  • Cinematic - Clear the screen of text messages for (Player group((Triggering player)))
Get rid of all player group leaks.
 
i recommend that you change your name. That's what i did. Just go to Admin Contact in the Forums and start a thread.

Anyways, this system looks useful.
I'll check the triggering right now...

Nothing's wrong with ur triggers. Your system is amazing. It may have like 70 triggers, but it's worth it.

Since it proves to be very useful and it's bug-free, i'll give it a good 5/5 :D :D
 
Level 6
Joined
Dec 10, 2010
Messages
119
See in the screenshot at the corner of the menu is written in Russian. Written in Russian because I am from Russia. This proves once again that I am the author of this system. I have already submitted an application to change the nickname.
 
Level 22
Joined
Nov 14, 2008
Messages
3,256
So I've checked this one out and it's not good at all. Discovered a few points.

  • It leaks. Example:
    • Item - Create InitSoldItem1[1] at (Center of ItemSlot1 <gen>)
  • Way too many triggers. Use substrings to reduce all these click and info triggers to 1.
  • Not even MPI as it only works for one player; and you used one specific. Player Red.

Yeah that was pretty much it.
 
Level 20
Joined
Jul 12, 2010
Messages
1,717
very nice idea man!! 4/5 :thumbs_up:
but the triggers in the "GetItem" folder could all be merged into one lol
here i made a quick example for you...
  • Item n Info
    • Events
      • Player - Player 1 (Red) types a chat message containing <Empty String> as An exact match
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Substring((Entered chat string), 1, 7)) Equal to -info 1
        • Then - Actions
          • Game - Display to (Player group((Triggering player))) the text: (|cFFFFFF00Item information + ((Name of InitShopItem[1]) + ( Cost + ( |cFF00FF00 + (String(ItemShopCost[1]))))))
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Substring((Entered chat string), 1, 7)) Equal to -item 1
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Player 1 (Red) Current gold) Greater than or equal to ItemShopCost[1]
                • Then - Actions
                  • Cinematic - Clear the screen of text messages for (All players)
                  • Player - Add (ItemShopCost[1] - (ItemShopCost[1] x 2)) to (Triggering player) Current gold
                  • Game - Display to (Player group((Triggering player))) the text: (|cFFFFFF00Вы преобрели предмет + (Name of InitShopItem[1]))
                  • Hero - Create InitSoldItem1[1] and give it to A_UNIT_HERO[(Player number of (Triggering player))]
                • Else - Actions
                  • Cinematic - Clear the screen of text messages for (All players)
                  • Game - Display to (Player group((Triggering player))) the text: |cFFFF0000You do no...
            • Else - Actions
although if you merge them all into 1 it will be a super long trigger lol

also as baassee said you leak a point when you create an item...
here is how a leak-less item at a point trigger should have been...
  • Click1
    • Events
      • Player - Player 1 (Red) types a chat message containing -item 1 as An exact match
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 1 (Red) Current gold) Greater than or equal to ItemShopCost[1]
        • Then - Actions
          • Cinematic - Clear the screen of text messages for (All players)
          • Player - Add (ItemShopCost[1] - (ItemShopCost[1] x 2)) to (Triggering player) Current gold
          • Game - Display to (Player group((Triggering player))) the text: (|cFFFFFF00Вы преобрели предмет + (Name of InitShopItem[1]))
          • Set Point = (Position of A_UNIT_HERO[(Player number of (Triggering player))])
          • Item - Create InitSoldItem1[1] at Point
          • Hero - Give (Last created item) to A_UNIT_HERO[(Player number of (Triggering player))]
          • Custom script: call RemoveLocation(udg_Point)
        • Else - Actions
          • Cinematic - Clear the screen of text messages for (All players)
          • Game - Display to (Player group((Triggering player))) the text: |cFFFF0000You do not have enough money!

anyway you should try to merge them and remove the leaks when you have some free time :p
after that it will be worth giving you a 5.5!! :wink:
 
Level 6
Joined
Dec 10, 2010
Messages
119
It does not, as in the first trigger, I have only used the numbers entered as an array variable. A Ie you type in the numbers and they also come as an array without extra letters. But I can not make those balk array of numbers or letters as well for viewing information.
 
Top