The following warnings occurred:
Warning [2] Undefined variable $search_thread - Line: 60 - File: showthread.php(1617) : eval()'d code PHP 8.1.27 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php(1617) : eval()'d code 60 errorHandler->error_callback
/showthread.php 1617 eval
Warning [2] Undefined variable $forumjump - Line: 89 - File: showthread.php(1617) : eval()'d code PHP 8.1.27 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php(1617) : eval()'d code 89 errorHandler->error_callback
/showthread.php 1617 eval




GHI Missions Tutorial
#1
((I was not sure where to put this but if people use it it will help Roleplay))

GHI Missions Tutorial

How to make a GHI Mission, this will also help people have a better idea of the potentials of GHI and just a good tutorial on how GHI works

Now what I mean is you can give people an item then it will have requirements that it will only produce a certain item when the requirements are met.

So as an example,
“Go and hunt the rare black lion of the barrens and bring me its head”

First, make the reward; make a new item name it, icon, and what ever else you want to do with it and finish it. For this example, I am making the black lion head.
[Image: Reward.jpg]

Next make another new item again name it and pick the icon and what not. I am making a hatchet

Hit next and go to the next screen. Click the drop down box and select produce item then hit “add new”

Next click “chose item” and select your reward. Then make sure you put a 1 in the amount box or what ever amount you want. You can also set a delay and the drop down box to if you want them to loot, produce, etc…When you are done click the ok button
[Image: ProduseItem.jpg]

Now you are back at the create new item screen, this part is important you need to click the button next to produce item it will change from “Run Always” to “is fulfilled” this means that it will only produce the item if the requirements (Which we are going to make next) are fulfilled. You must do this for it to work right.
[Image: IsForfilled.jpg]

Next we need to make the requirements. Hit the drop down box and select requirement then “add new” Once in the requirement box there are many requirements in the drop down box the you can select every thing from skill requirement to zones. If what you want is not in the drop down box you can select Lua Statement and make your own. This is what we are going to be doing. So select Lua Statement and in the requirement filter put this code.

UnitName("target")=="Humar the Pridelord"

[Image: LuaStatement.jpg]

What this mean is if Humar the Pridelord is targeted then you have fulfilled the requirement. You can replace Humar the Pridelord with any name of a mob, or even another player character.
Before you close the frame you might want to put something in the tooltip text box the code looks really ugly in the tooltip. I put just Humar the Pridelord in it.

Next you need to make 2 more requirements do the same thing as the last step except put in this code

UnitIsDead("target")==1

This lets the item know that the what ever you are targeting is dead. The 1 just means true.

Make another requirement with this code

CheckInteractDistance("target",3) == 1

This lets the item know how far away you are from the target. The 3 mean melee range.
Now you are ready to go and you can close it. You could add some emotes if you want, also making them is fulfilled. You might also want to check the is consumed box so that the player you give it to cannot get more than one of that item.

[Image: end.jpg]

So to sum up, you can give some one this item and they have to target Humar the Pridelord, he has to be dead and you have to be with in melee range then when they right click the hatchet they get The black lion head as proof of there kill.

There are many more requirements that can be done and I found that code here mostly the Unit Function section. Oh one really fun requirement is Coordinates but it is much harder (well not much harder just very different) to do I will post another tutorial on it later

If you have any questions please ask.
Reply
#2
Ho! Useful stuff.
All makt åt Tengil, vår befriare!

Reply
#3
Indeed. Awesome for those of us who are LUA inept like me.
Reply
#4
I -LIKE- it!
The word of the day is "Legs". Now go forth and spread the word!
[Image: 5SRU.gif]
Reply
#5
Very awesome, i'm gonna think of a good way to use this.
[Image: wMRLoCF.gif]
Reply
#6
This is a very nice guide!
Reply
#7
Ok here is that promised Coordinate Requirement Tutorial

What this requirement can be used for? This is my favorite one of all the requirements; you can hide something and give some one else a map to it so they can dig it up. Or you could send some one to a grave then when they click on the item you can have them emote a ghost appearing and scaring them. The applications on this one are limitless.

Follow the above Mission Tutorial when you get to the requirement part you can add this as a GHI script requirement

Code:
({GetPlayerMapPosition("player")})[1]*100 >= 42.6 and ({GetPlayerMapPosition("player")})[1]*100 <= 42.8 and ({GetPlayerMapPosition("player")})[2]*100 >= 65.2 and ({GetPlayerMapPosition("player")})[2]*100 <= 65.4

This makes a square on which that item can work. The Square can be as big or as little as you want.

The first two are the X coords
And the last two are the Y coords

You change the numbers to the numbers you want. I.E. The 42.6 or 42.8 or 65.2 or 65.4.
The rest of the code you don't really need to touch. ((I usually mess with the code in a simple text program like notepad then copy and past the code in where I need it))

You can do this if you want to make sure they are right on the spot but this can be a little hard to find some times
Code:
({GetPlayerMapPosition("player")})[1]*1000 >= 42.6
and ({GetPlayerMapPosition("player")})[1]*1000 <= 42.6
and ({GetPlayerMapPosition("player")})[2]*1000 >= 65.2
and ({GetPlayerMapPosition("player")})[2]*1000 <= 65.2

Or you can do this if you want a bigger square
Code:
({GetPlayerMapPosition("player")})[1]*10 >= 52.6
and ({GetPlayerMapPosition("player")})[1]*10 <= 42.6
and ({GetPlayerMapPosition("player")})[2]*10 >= 75.2
and ({GetPlayerMapPosition("player")})[2]*10 <= 65.2

I would also recommend making a zone requirement to go with this because if not they could be on that spot in any zone and it would work.

I hope that all made sense. Please ask any questions you have. If you have the question I am sure some one else has it too.

Edit:
I forgot to add this little item. It helps it gives you the exact position you are at on the map but in only from 0 to 1 so you will get a number like 0.27364518364 . So when you put the number in the requirement code move the decimal place over 2 spots like this 27.3

To make the item you make a script action and copy and past the code in to the box like the ID finder

Code:
local myX,myY = GetPlayerMapPosition("player");

SELECTED_CHAT_FRAME:AddMessage("You are at: "..myX.." "..myY.."" ,1,1,0);
Reply
#8
How would you make it to where there would be a zone requirement.

You player A give quest to player B some where in the world.

They must go to a grave site say in Duskwood and spend the night there. Player B goes to same co-ordinates in every zone how do you prevent it from working or giving him the item unless he goes specifically to the Duskwood co-ordinates only.
Reply
#9
You would make another requirement action on the item.
Then in the drop down box instead of selecting LUA statement you would select "Zone"
then in the Requirement filter box you type the zone you want: Duskwood
Reply
#10
Alrighty, here's what I'm trying to make:

1- A ring of sorts that, rather than being worn, is used as a sort of eyeglass and, when reading a specific letter, reveals certain details that would be hidden to someone reading it normally. What I need to know is, is there a way that you could create a letter that will display text one way if read normally, and another way when the buff given by the ring is active?

2- If not, is there a way that one could create a GHI item that can only exist in the inventory of a specific person? What this would do is, if someone were to hand over the letter, it would dissolve in that person's hands.

3- One last thing I need to know is, is there an AND/OR operator in GHI? If so, what's its syntax? :D
Reply
#11
1) Yes you can but it is not what you think and we kinda have to trick GHI.
First make your Ring or what ever you would like as your Key.

Next make a letter, Give it the right click action of a Book and leave as “Run always”. Then click finish.

Now open your letter and write what ever you want every one else who don't have the ring to see, and when your done close it.

Now, go back in and to edit your letter item. On the book action swtch the “Run Always” to “is not fulfilled”.

Make another book and switch the “Run Always” to “is fulfilled”.
Now to make the ring a requirement, follow this tutorial to make a GHI item a requirement.

Once done click finish, then right click to open the letter (it should be blank again).

Edit your letter for what you want those who have the ring to see.

That's it, I hope it was not too confusing.

2) I am not sure you can destroy the item if it is in the wrong hands but you can make it not open.

You make your letter then add a name requirement by selecting Name from the drop down box and typing the player you want in the Requirement filter.

If you don't want people to see what the requirement is on the tool tip then just put a few spaces in the Tool Tip box under the Requirement Filter box

3) Yes there is. In the actual lua code it is “and” and “or” but for something like the name requirement they only have “or” to do an “and” you would make a separate requirement. To do the “or” You would put the first name then a comma then the next comma and so on.

I.E. Avra, Bianca, Ahote

Edit: If any one has any GHI questions you can post here or send me a PM. Or if you have any requests for a other Tutorials please let me know. Or if you want an item but don't know how to do it your self, ask nice and I might do it for you.
Reply
#12
Wow, I really gotta try this out. This means I can make quests for others, right?
Colors make you look interesting.
Reply
#13
Okay, so, I managed to get the letter and ring items working a while back (special thanks to Armistad for helping me test it and being patient with me while I got it just right :) ), but a minor change I wish to make is have the buff of the item be the requirement rather than the item itself.

What change to the code would I have to make to have that be the case?
Reply
#14
What's GHI?
Reply
#15
Nourish Wrote:What's GHI?

Its Gryphonheart Items, an addon for WoW that allows the creation of custom items. These items can be shared with other players that also have this addon.
Current Character(s)
Dissida Ki'airo - Human Paladin - Profile is WIP
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  GHI item a requirement for a GHI item Tutorial DuskWolf 10 4,708 01-04-2010, 03:20 PM
Last Post: Oddity



Users browsing this thread: 1 Guest(s)