• 🏆 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] Hint/sug. with ORPG map systems (skills/spellbooks/item class difference/level req)

Status
Not open for further replies.
Level 17
Joined
Nov 13, 2006
Messages
1,814
hello.
i thinking on orpg map but idk how can i do without huge work and without leaks/laggs, so:

1.
i want 1 unarmed character and attach to him the armor/helm/boot/5-6 kind of weapon/1 accessory

the problem how can i do it easily?

a.) i thinked on make with object editor -> item ability attach methode like fire orb
so need around 4gear*15+6weapon type*15=>150+ new item + 150+ new ability 150+ variable

still this only the attachments so with quest item another x new item etc

[minor problem if character have metamorph skill then i think show on bear druid the human armor and helmet so kinda weird]

another thing its okey easily make the droping system (example if u want pick up again 1 weapon then drop it coz every weapon item got same lv in object editor)

but problem is how can i do item with level requiment?
i use item level for categorize the item types? (i mean if every weapon is lv21 item then i cant use the item level system for check what level need that item)

b.)
150+ variable & items (lets make 10 array each with 15 item) and check every inventory slot and compare with 150 variables and if u got more than1 from same array (exclude weapons where have more array) then drop the manipulated item else attach to unit (who picked up the item) the special effect (gear).

but for removeing every player need again atleats 6 array (head/armor/weapon/maybe wings or other stuffs).

c.) spellbook: the picked gear/weapon ability put to spellbook (again a ton of ability/item) and remove it when player want change, and create a item to unit position (idk how can i remove only 1 user selected ability from book)

2. melee unit->ranged

i thinked on long rifle techtree but isnt that good since ex. paladin start use his hammer from 1000 range instead use attack 2 like when he use vs air unit when he got fire orb.

(this need if hero want use bow instead sword)

somehow could make fire orbeffect work vs ground unit too? coz normally even i setted the target ground/enemy/debris ward but paladin dont used the fire missile thing like vs air unit


i tryed at item fire bonus ability set to enable attack 1 then 2, but dont changed nothing



3. learning profesion:

a.) weapon item have unit ability, a spellbook filled with class skills

-problem is for makeing learnable level by level, need dummy craps what also +ability/trigger

-advantage u can change with weapon the abilities

b.) weapon got 5 unit ability, so same than previous exclude without spellbook

c.) check the picked weapon type then add learnable skill to hero

4. have something easy way how can i stun or do another custom ability on target via trigger?
example when hero used teleport to enemy then stun him with 1sec with trigger.


(if at (1.) point the level requiment is solved then i can do spellbook i think with 3 dummy ability with that i can add str/agi/int so i can do stat requiment also for weapon)

P.S.
pls somebody could give some advice about what solution is less laggy/eat less memory or what solution the better?

i thinked to use item level for categorize the items (like lv100-150 armor, 151-200 helmet etc)
but then need another integer array for storing item level requiment afterall its big amount of custom item/ability and variable but maybe this way the shortest the checking the acquired item, and drop if example that is another weapon and i have already 1 in invetory.

problem is with class spells(example if i change sword to axe then different skills):
a) kinda need spellbook if i want more ability but each spellbook need different base order id what kinda limited and i scared its screw up another abilities :/ also for leveling need dialog system
b) 4 ability like normal hero ability what is not enough (i already use 2 spellbook, 1 for shareing the stat[+1 str ability/+1agi ability/+1int ability inside] another summon book)
c) adding all unit skill to weapon :/
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,184
i can anwer on the first one for now.

This is one way you can do this.


  • Untitled Trigger 001
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item being manipulated) Equal to ITEM_1
    • Actions
      • Special Effect - Create a special effect attached to the overhead of (Triggering unit) using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl

overhead (floats over the unit's head, but doesn't sway with)
head (sways with the unit's animation)
chest (also good for wings)
origin (usually at the base of a unit's feet)
hand
foot
weapon (for heroes)
sprite (for buildings)
medium (for buildings)
large (for buildings)

attachments points

left
right
mount (for mounted units)
rear (for quadrupeds)
first (for buildings)
second (for buildings)
third (for buildings)
fourth (for buildings)
fifth (for buildings)
sixth (for buildings)
rallypoint (for buildings)
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
i can anwer on the first one for now.

This is one way you can do this.


  • Untitled Trigger 001
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item being manipulated) Equal to ITEM_1
    • Actions
      • Special Effect - Create a special effect attached to the overhead of (Triggering unit) using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl

i know ho can i attach a item but if i attach via trigger then i must check every item (if i have 60 custom item then 60 if) also when i drop item then i must remove the attachment but i cant if i dont store the special effect too in variable, so its more variable,
this really easier and faster in game than give new item ability to hero what attach the gear when i pick the item and deattach when i drop?
 
Level 8
Joined
Dec 9, 2009
Messages
397
Do a search in the spells section, a lot of the things you want are already made and you can put them into your map.

the level system is, Helm - level 11, armor - level 12, then all you have to do is make sure they don't have more than 1 of the same level item, no need to make it search through 50 items every time they grab something.
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
EDIT
Yeah that works easier BUT then you need 60 extra abiliys insted

and ~60 ability then less problem than ~+60 trigger when pick up a item and another 60 when lose the item?

(serious, what is more problem during running the game? coz idk)

Do a search in the spells section, a lot of the things you want are already made and you can put them into your map.

the level system is, Helm - level 11, armor - level 12, then all you have to do is make sure they don't have more than 1 of the same level item, no need to make it search through 50 items every time they grab something.

about spells, i got the arrow switch but that is full jass, and i am stupid for that also there was made with toggle , i want do it without jass just with item/normal trigger what i can understand too :)

after all i made different way a little bit.
reason:
i make integer variable array what get same index then items level, example
i have a armor what is lv101 item, i have itemlv integer array, and i give to itemlv[101]=6;
finnally i make for every gear item lv a same indexed itemlv array than item lv and if i want check how much lv need example for lv220 item then i just check what number is in itemlv[220] variable :)

lv100-150 armor
lv150-200 helm
lv200-250 boot
lv250-300 shield
lv300-550 2nd handed weapon
lv550-600 1handed weapon

and trigger is like this

  • [hidden]
  • Pick
    • Events
      • Unit - A unit Acquires an item
    • Conditions
      • (Item level of (Item being manipulated)) Greater than or equal to 10
      • ((Owner of (Triggering unit)) controller) Equal to User
    • Actions
      • Set ManItem = (Item being manipulated)
      • Set Playernr = (Player number of (Owner of (Triggering unit)))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Item level of ManItem) Greater than or equal to 100
          • (Item level of ManItem) Less than 150
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Armor[Playernr] Equal to No item
            • Then - Actions
              • Set Armor[Playernr] = ManItem
            • Else - Actions
              • Game - Display to (Player group((Owner of (Triggering unit)))) the text: Unable to hold 2 Ar...
              • Hero - Drop ManItem from (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Item level of ManItem) Greater than or equal to 150
          • (Item level of ManItem) Less than 200
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Boot[Playernr] Equal to No item
            • Then - Actions
              • Set Boot[Playernr] = ManItem
            • Else - Actions
              • Game - Display to (Player group((Owner of (Triggering unit)))) the text: Unable to hold 2 Bo...
              • Hero - Drop ManItem from (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Item level of ManItem) Greater than or equal to 200
          • (Item level of ManItem) Less than 250
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Helm[Playernr] Equal to No item
            • Then - Actions
              • Set Helm[Playernr] = ManItem
            • Else - Actions
              • Game - Display to (Player group((Owner of (Triggering unit)))) the text: Unable to hold 2 He...
              • Hero - Drop ManItem from (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Item level of ManItem) Greater than or equal to 250
          • (Item level of ManItem) Less than 550
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Shield[Playernr] Equal to No item
              • (Item level of ManItem) Less than 300
              • Or - Any (Conditions) are true
                • Conditions
                  • And - All (Conditions) are true
                    • Conditions
                      • (Item level of Weapon[Playernr]) Greater than or equal to 550
                      • (Item level of Weapon[Playernr]) Less than 600
                  • Weapon[Playernr] Equal to No item
            • Then - Actions
              • Set Shield[Playernr] = ManItem
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Shield[Playernr] Equal to No item
                  • Weapon[Playernr] Equal to No item
                • Then - Actions
                  • Set Weapon[Playernr] = ManItem
                • Else - Actions
                  • Game - Display to (Player group((Owner of (Triggering unit)))) the text: Unable to hold 2 We...
                  • Hero - Drop ManItem from (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Item level of ManItem) Greater than or equal to 550
          • (Item level of ManItem) Less than 600
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Weapon[Playernr] Equal to No item
            • Then - Actions
              • Set Weapon[Playernr] = ManItem
            • Else - Actions
              • Hero - Drop ManItem from (Triggering unit)
              • Game - Display to (Player group((Owner of (Triggering unit)))) the text: You cant hold short...
        • Else - Actions
          • Do nothing
  • [/hidden]
still looking for melee=>ranged via picking up a item

(tested that what was in spell section but that work really differently coz unit already ranged in attack 1 so when there peasant pick up the bow absolute dont change nothing, trow fire things with bow like without any item)
 
Last edited:
Level 8
Joined
Dec 9, 2009
Messages
397
You don't need the "Do Nothing" triggers, if nothing is there, thats what it does...

Your 2nd if item is level bla bla
should be in the "Else" of the one above it
 
actually, you can set weapon attachments via abilities like Item - Damage bonus, or the unit ability Sphere, etc... it will be better as you won't need to run a trigger everytime you pick or drop an item... plus it removes the need for variables...

but if you want to trigger it, One trigger for Pick, One trigger for drop and One trigger for set-up is all you need...
 
Level 7
Joined
Dec 3, 2006
Messages
339
It's all a bunch of trade-offs. Abilities = more loading time probably if you have a lot of them; but less variables. I think loading time is much more affected by object data rather than variables cause variables only store and manipulate that said object data in consolidated types like strings or integers.

It doesn't matter that much though use whatever you feel more comfortable with.
 
Level 7
Joined
Dec 3, 2006
Messages
339
Yeah; but it doesn't really lag by using the variable/trigger method(sure strings being passed are slow but they aren't really all that slow unless your dissecting them). The common lag that you may experience with attachments is usually since many attachments lack death animations so they take forever to be removed.
 
But reducing the amount of triggers run would lessen the risks of lagging especially on lower end comps... and anyway, it seems that the OP is more comfortable to just using abilities... and doing it that way also utilizes the abilities that your item has...

but if you want to soar higher, you might wanna consider using equipment systems...
 
Level 7
Joined
Dec 3, 2006
Messages
339
There about the same lag for in-game i bet. If not abilities are more lag only cause it's got more variables associated with it. It still has to load all the values even if the ability does not have those values changed which is like loading a big set of variables. Also object data requires more map size than code usually.

But the difference is so abysmally small that it's pointless to discuss semantics-- choose whatever your more comfortable with really.
 
btw, I don't suggest a spellbook inventory... I think doing it like on The_Witcher's Inventory System will require less abilities since using spellbooks would require you one dummy spellbook per item, just to add the item placer on the spellbook inventory... so that would be at least two per item, while on the The_Witcher's System, you only need one ability to put an item placer on the inventory... and it works almost similarly...

as for melee to range and vice versa, there is a new system here for that...

also, from your first post, you seem not to like using lots of dummies etc... but sadly you need to befriend them if you want to finish this kind of map... Doing an RPG is A LOT OF WORK...
 
Level 7
Joined
Dec 3, 2006
Messages
339
I don't suggest a spellbook inventory
Spellbooks also have an problem of order for the spells placed in the book. Supposedly it goes by which spells come before which using the add ability spellbook trick when the map loads which is just crazy sauce to even think about dealing with.

Doing an RPG is A LOT OF WORK...
For sure. Lol. So many people start them without considering just how much work goes into making one. I feel like I could have coded 2-3 very elaborate mini-game type maps in the time that it's taken for me to get my project even 1/2 to 3/4 done and thats mostly just the core systems.
 
yeah, so he would need to reiterate every ability inside every time he equip/unequip an item if he wants it to show correctly...

and oh, ORPG is a lot more work than SPRPG since it's a bit more restricted... seeing that ur just starting out on modding makes me wonder if this will get finished...

and also the idea of using 10 arrays with 15 items to get a total of 150 items is absurd...

and since you can have metamorphing units, its better to just trigger out the attachments so you can actually filter if the attachment can be shown or not...
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
yeah, so he would need to reiterate every ability inside every time he equip/unequip an item if he wants it to show correctly...

and oh, ORPG is a lot more work than SPRPG since it's a bit more restricted... seeing that ur just starting out on modding makes me wonder if this will get finished...

and also the idea of using 10 arrays with 15 items to get a total of 150 items is absurd...

and since you can have metamorphing units, its better to just trigger out the attachments so you can actually filter if the attachment can be shown or not...

but how can i check when morph back? it no target order string thing?
I think doing it like on The_Witcher's Inventory System will require less abilities
about witcher system u mean this?
http://www.hiveworkshop.com/forums/spells-569/advanced-equipment-system-save-load-event-133727/ ?
coz kinda hard jass/jngp system and he say impossible configure without knowing this :)

about ranged melee system

So many people start them without considering just how much work goes into making one.

around 3year ago i started too, also made mini games(chocobo riding) for it just dont published then my hdd was formatted also this was 3 year ago and i forget damn much thing also since that changed few thing too with newer patchs (also since that i dont got that models/triggers etc coz like me more ppl was deleted from forums-i was mainly on thehelper but i never got anything what i posted there coz i was deleted, there was the only potentional place where i can get back the lost parts from my map)
 
Status
Not open for further replies.
Top