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

[Trigger] RPG help pls!

Status
Not open for further replies.
Level 7
Joined
Apr 13, 2008
Messages
183
Hi all! I need help for some triggers for my RPG.
1. I did item like shields, armor etc. and each class has a type (power ups, artifacts, purchasable and the other categories) and each hero can only wear 1 item per type.
2. Need a save system VERY IMPORTANT!
3. I have assassin, mage and barbarian and I need to make that the mage can't wear shields (permanent) but only he can wear relics (campaign).
THANK YOU!
 
Level 5
Joined
Dec 18, 2007
Messages
205
1. add alle items of 1 type to an item class OR make a funcrtion that returns the specific item class of the aquired item. then check whether the unit already has one item of that class.
2. look here for an intelligent save/load system and here for the tutorial if you need one (seems difficult, but is a very efficent system)
3. same as in 1: if aquired item is of type relic AND unit type not equal to mage, drop it. if aquired item is of type shields AND unit type equal to amge, drop it. (with 'is of type relic/shiled' i mean the same thing as in 1, where you must return the value of the item manually)

greetz
 
Level 5
Joined
Dec 18, 2007
Messages
205
function blah takes item g returns string
local string s
//many if's, for every item one. (sth. like if getitemtype(g)=='****' then .. set s="Relique" ..endif
set g=null
return s
endfunction
 
Level 5
Joined
May 27, 2007
Messages
126
Reatek, it seems you're kinda out of the blue because you don't understand the help given, thats because he propably expects you to understand triggering quiet well and thats also kinda what you need to understand (by experiance) to work with the triggers, cause unfortunately most people do not want to fix triggers in a project where they know little from and get little chance to ever find credit for it cause they aren't mentioned.

Anyways, I will help you out here a bit. There is a system that will make units be able to wear max. 1 KIND OF item on a character (for example 1 shield + 1 headpiece + 1 weapon etc. INSTEAD of (3 shields + 1 headpiece). This trigger has been made in the map "Extreme Candy War 2004" which every warcraft 3 TFT owner with all the updates done to enter BATTLE.NET has (unless you deleted it). You can find the map under your warcraft 3 folder "Maps -> Frozen Throne - > Scenario".

When you've found the map, open it and go to the trigger editor manually (or press the "F4" button right atop of your keyboard)

From there out, search for the Folder in the LEFT trigger tab named "Gameplay Triggers xx"

In it you will find alot of trigger scripts, however you will need to search for something like for example:

Weapon Limitation Pickup
Weapon Limitation Drop

(there are more like these, this is just an example)

copy both these triggers in your own map, but you will have to make the "variables" aswell, so check in the triggers you copied for the names of the variables and find their specifies in the variable editor (press Ctrl + B). Find in the list you will see for the variables used in your copied triggers (that you've already copied to your RPG map!!), double click on it and write on a paper all the information you see (takes a while, max. 5 minutes? depands on handwriting speed ;-) ) and reapply those variables in your own map, using the information you wrote down (simply copy pasting the variables to your map is not possible).

Now you have that all settled, you will have in your map something like this in the "Weapon Limitation Pick Up" trigger:

  • Weapon Limitation Pick Up
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Item-type of (Item being manipulated)) Equal to Razorsharp Knuckles
          • (Item-type of (Item being manipulated)) Equal to Sword of Destiny
          • (Item-type of (Item being manipulated)) Equal to |cff007FFFThor's Hammer|r
          • (Item-type of (Item being manipulated)) Equal to |cff007FFFTitan's Axe of Skill|r
          • (Item-type of (Item being manipulated)) Equal to |cff7d267dViolet Nightmare|r
          • (Item-type of (Item being manipulated)) Equal to |cff7d267dThe Phoenix Talon|r
          • (Item-type of (Item being manipulated)) Equal to |cff7d267dMask of the Faceless|r
    • Actions
      • Set TempUnit = (Triggering unit)
      • Set TempItem = (Item being manipulated)
      • Set TempInt = (Player number of (Owner of (Triggering unit)))
      • Set TempPlayer = (Owner of (Triggering unit))
      • Set Hero_Items_Has_Weapon[TempInt] = (Hero_Items_Has_Weapon[TempInt] + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Hero_Items_Has_Weapon[TempInt] Equal to 2
        • Then - Actions
          • Player - Add (Integer((Current life of TempItem))) to TempPlayer Current gold
          • Hero - Drop TempItem from (Triggering unit)
          • Item - Remove TempItem
          • Game - Display to (Player group(TempPlayer)) for 30.00 seconds the text: (Game_Time_String + |cffff0000(Error)|r You cannot carry more than 1 Weapon.)
          • Set Hero_Items_Has_Weapon[TempInt] = 1
        • Else - Actions
      • Trigger - Run Artifact Limitation Pick Up <gen> (ignoring conditions)
You have to change a few things to make the WEAPON items (I say WEAPON cause the trigger above is for weapons) that you have already made in your map WORK in this map, therefor change this part:

  • Conditions
    • Or - Any (Conditions) are true
      • Conditions
        • (Item-type of (Item being manipulated)) Equal to Razorsharp Knuckles
        • (Item-type of (Item being manipulated)) Equal to Sword of Destiny
        • (Item-type of (Item being manipulated)) Equal to |cff007FFFThor's Hammer|r
        • (Item-type of (Item being manipulated)) Equal to |cff007FFFTitan's Axe of Skill|r
        • (Item-type of (Item being manipulated)) Equal to |cff7d267dViolet Nightmare|r
        • (Item-type of (Item being manipulated)) Equal to |cff7d267dThe Phoenix Talon|r
        • (Item-type of (Item being manipulated)) Equal to |cff7d267dMask of the Faceless|r
to something like (depands on the amount of items you have weapons, if you got more than this trigger, copy paste a line like:

  • (Item-type of (Item being manipulated)) Equal to |cff7d267dMask of the Faceless|r[/
and from there change the item name from "Mask of the Faceless" to "Name of one of your Weapon Items"

  • Conditions
    • Or - Any (Conditions) are true
      • Conditions
        • (Item-type of (Item being manipulated)) Equal to "A"
        • (Item-type of (Item being manipulated)) Equal to "B
        • (Item-type of (Item being manipulated)) Equal to "C"
*A, B and C refer to the names of your Weapon Items!

when this is done you can change small things in the trigger like the message that you will get when you try to pick up 2 items

  • Game - Display to (Player group(TempPlayer)) for 30.00 seconds the text: (Game_Time_String + |cffff0000(Error)|r You cannot carry more than 1 Weapon.)
to this:

Game - Display to (Player group(TempPlayer)) for X seconds the text: (Game_Time_String + |cffff0000(Error)|r "Your own message".)

* X = amount of seconds you want the message to be shown, they took 30 seconds, but you can decide to take less.. or more ;p

or you can remove the entire thing so you dont see a message at all

-----------------------------------------------------------

After you're done with this, do the same thing on the "Weapon Limitation Drop" cause it is vital both of these triggers are activated in your map.

WARNING - your trigger will still not work cause you got this part below
  • Else - Actions
    • Trigger - Run Artifact Limitation Pick Up <gen> (ignoring conditions)
in your map, while you dont even yet got that trigger called "Artifact Limitation Pick Up", thats why you can remove that line by just deleting it in the "Else - Actions" part.

ALOT OF TEXT, BUT ALL WORTH IT!!

Sidenote - "The map replied to in my small tutorial was free usable and constributed by Blizzard Entertainment. Therefor give credit to Blizzard Entertainment for the trigger. It's common knowledge that non-protected maps can be used for study and implementation if you have given the credit in your map for it, therefor this tutorial is legit."

Thanks,

Syntic_Arrow
 
Status
Not open for further replies.
Top