Pokemon Map, need help with triggering

scubazoo

Member
Reaction score
1
Hi, I am starting a pokemon map similar to pokemon world. I want to use a similar catch and call system but am not sure how to trigger that. I can't do Jass, and gui sort limited. Please help me create a multiplayer trigger system for catching multiple pokemon and calling them to and from their respective pokeballs.
If anyone wants to work on the map with me than so be it. I can do the terrain fine, and am in fact quite proficient. Would just need help with the triggering.
Thanks.
 

Juggernaut

I don't know what to change it to
Reaction score
33
Just and Idea, you could make pokemon like items. Using the item will spawn the pokemon, and after that the item will be replaced with another item which lets you recall the pokemon.
 

scubazoo

Member
Reaction score
1
Just and Idea, you could make pokemon like items. Using the item will spawn the pokemon, and after that the item will be replaced with another item which lets you recall the pokemon.

But would it recall the same pokemon with the same stats and items? If so, how would I trigger that?
 

Vonpuppin

New Member
Reaction score
0
I'm not much of an expert on this editor yet, but could you possibly trigger the item so that every couple seconds it checks the unit it summons. When it checks the unit (pokemon), it changes the stats of the item to the stats of the pokemon?

So basically, summon pokemon, pokemon levels, items sees this and levels so that it "Saves" your pokemon. Could this be done?
 

scubazoo

Member
Reaction score
1
That seems like alot of work, besides probably leaky with multiplayer. There is a way to do it with storing variables and maybe arrays, but I think just hash tables and variables. Only ting is I don't know how to use them.
 

xAnaMorphine

Active Member
Reaction score
43
Well the idea with the item isn't that bad.
I would suggest that you move the unit (pokemon) to another location.
In this case you do not have to store the level, experience, items and skills.
However if you don't want to do that I guess it will be some work.
 

scubazoo

Member
Reaction score
1
Well the idea with the item isn't that bad.
I would suggest that you move the unit (pokemon) to another location.
In this case you do not have to store the level, experience, items and skills.
However if you don't want to do that I guess it will be some work.
This is probably actually the best idea; it seems easiest and thus doable lol. Thank you guys.
However, I still need help with how to trigger the catching system. Also, once caught, how would I remove the pokeball used to catch it and add the pokeball which now contains the pokemon?
 

Juggernaut

I don't know what to change it to
Reaction score
33
You need a formula for catching. Try searching and find the original formula that is used while catching pokemon in the game (it has something to do with % hp and stuff)

So then you make a if/then/else trigger
and if all of these conditions are met the pokemon will be captured
You could also change the location of the unit to the edge of the map, and change their size to 0 and maybe add locust to them (unselectable) then when you want to spawn the pokemon, it will take the pokemon, remove the locust set original size and spawn in front of hero offset by x.
 

scubazoo

Member
Reaction score
1
As to the location of where pokemon will go when in a pokeball, yes, I have decided that it would be simple to have a small area on the edge of the map that cannot be seen and to which the pokemon will be relocated.

The formula concept...sounds confusing. I remember looking at it once, but if indeed I am now able to parse it of its meaning, then I will try and incorporate similar values. So far, I have only conceptualized three conditions: pokemon hp, type of pokeball(this one may be the most difficult), and condition(i.e. sleeping, paralyzed). The trigger might look like this:
Event:
Player begins the use of an item

Conditions:
if
item ability equal to (type of ball)
then do
poke hp less than or equal to 30%
then do
pokemon condition
then do
(leading to another if than else trigger)
Pick random number between 1 and 100
if
number greater than or equal to 25
then do
Actions:
Remove targeted unit of item being used
Remove item being used
Add item (type of ball) containing pokemon of type targeted earlier with targets relative life and mana
Add unit of type ...to location(edge of map where pokemon in pokeballs are kept)

Could someone help me make this trigger?

EDIT: Also, not sure if it is clear, but I want to somehow make a scaling percentage of catching a pokemon, thus when the random number is generated, a greater range is accepted for lower hp, plus condition, plus type of ball. I just used values there as example and in place of this.

So, I think I would have to make a trigger for each type of ball, no? I'm sure there is another way to compound all the triggers into one, perhaps with that wiley hashtable or array, but of this I am unsure and would appreciate assistance. Otherwise though, could multiple triggers of this type work for catching a pokemon?

And then, to summon the pokemon from pokeball
Event:
player begins use of an item
Conditions:
check boolean(not sure if this is the right way, but I'd rather have a check condition, than make a trigger for every type of pokeball which could contain every type of pokemon...)
So thus the type of pokemon stored within the ball is checked
Action:
Move instantly the pokemon from previous location to point next to player

Help with these triggers would be greatly appreciated. Again, thanks so much for viewing and helping.
 

Juggernaut

I don't know what to change it to
Reaction score
33
Can you please post a list of conditions that need to be met for the pokemon to be caught.
And also you need to make the spells MUI (Multiple unit instance) so one spell can be used by many units at once. I have no experience in MUI-ing at all.

And i think for the condition you could use buffs.

And another question. So the fighting system should be turn based right?
 

scubazoo

Member
Reaction score
1
Conditions:
Pokeball Type: Pokeball, Greatball, Ultraball, Masterball(this one should be easy I guess)
The chance of capture increases as the quality of ball increases.
Physical Condition: Sleeping, Paralyzed, etc.
HP: Below certain percentages


I figured with a random number system, such that a random number between 1 and 100 is picked, with bonuses added depending on the conditions, for each condition, and if greater than or equal to a certain value, than the pokemon is caught. For example, pokeball adds no bonus, no phyiscal condition adds no bonus, and hp at 100 percent adds no bonus. These three numbers are added together and if greater than or equal to 250, than the pokemon is caught. In another case, a greatball is used, with a bonus of 15, the pokemon is sleeping, with a bonus of 15, and the pokemons hp is at 35%, with a bonus of 20, than the random numbers generated and added together, +15 +15 +20, all totaled and greater than or equal to 250 would result in a capture. Something like this. Unless anyone can think of another way. Either way, I would need help triggering it please.

I am going to try and post a trigger which I made for capturing pokemon. I need alot of help with triggering though lol. I am not quite sure of how to use a hashtable and I feel that might help alot. Also, not sure how to make a single trigger for every possible capture, such that one trigger will encompass the mechanics of catching any pokemon with any ball with any physical condition and with any health percentage.

Thanks
 

scubazoo

Member
Reaction score
1
Thank you duderock101. I took a look at it, but I don't think it will work. I require multiple pokemon to be able to be captured by multiple players. I am not sure if your trigger only works for one 'beast' per player. I also don't know how to do all those variables lol. If someone could demonstrate a hashtable in this process I would be very grateful. I have looked at several hashtable tutorials, but still don't really understand it, especially in conjunction with either catching or summoning.
 

scubazoo

Member
Reaction score
1
So this is my trigger so far for catching a pokemon, followed by the trigger I use to summon the caught pokemon. There are several problems though: How do I implement this so that it works for multiple players and multiple pokemon, also with the conditions of catching a pokemon. I also don't have a working unsummoning trigger which returns the pokemon to the inside of the pokeball.


--------

Catching Trigger:
pokeball test Copy Copy
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Catch for Pokeball (Item)
(Percentage life of (Target unit of ability being cast)) Less than or equal to 25.00
(Unit-type of (Target unit of ability being cast)) Equal to Charmander
Actions
Unit - Change ownership of (Target unit of ability being cast) to (Owner of (Triggering unit)) and Retain color
Hashtable - Save Handle Of(Target unit of ability being cast) as 0 of 0 in CaughtPokemon
Set pokemonunit = (Load 0 of 0 in CaughtPokemon)
Unit - Move (Target unit of ability being cast) instantly to (Center of caught region <gen>)
Hero - Create Pokeball - Charmander and give it to (Triggering unit)
Hashtable - Save Handle Of(Last created item) as 0 of 1 in CaughtPokeball
Set pokeballcaught = (Load 0 of 1 in CaughtPokeball)



-------

Summoning Trigger:
pokeball summon test
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Pokemon Summon
Actions
Set pokemonunit = (Load 0 of 0 in CaughtPokemon)
Unit - Move pokemonunit instantly to (Position of (Triggering unit))
Set pokeballcaught = (Load 0 of 1 in CaughtPokeball)
Item - Remove pokeballcaught
Hero - Create Pokeball - Charmander Unsummon and give it to (Triggering unit)
Hashtable - Save Handle Of(Last created item) as 1 of 1 in CaughtPokeball
Set pokeballcaught_Copy = (Load 1 of 1 in CaughtPokeball)

--------

Unsummon Trigger(not really working; it sends pokemon back, but does not replace with correct pokeball item to resummon later on):

pokeball unsummon test
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Pokemon Unsummon
Actions
Set pokemonunit = (Load 0 of 0 in CaughtPokemon)
Unit - Move pokemonunit instantly to (Center of caught region <gen>)
Set pokeballcaught_Copy = (Load 1 of 1 in CaughtPokeball)
Item - Remove pokeballcaught_Copy
Hero - Create Pokeball - Charmander Unsummon and give it to (Triggering unit)
Hashtable - Save Handle Of(Last created item) as 0 of 1 in CaughtPokeball
Set pokeballcaught = (Load 0 of 1 in CaughtPokeball)


---------

Any help much appreciated. Also, not sure how to paste it so that it looks like a gui trigger rather than text. I am not sure how to set up a hashtable able to store and recall all the pokemon for multiple players. Would I need a hashtable for each player? Either way, would like to know how to trigger it.
 

Juggernaut

I don't know what to change it to
Reaction score
33
put it inside
Code:
 [wc3][/wc3]
Tags.

And also create variables for positions, and then remove them so it doesn't leak.
And someone should check if hashtables don't leak.
Also got a question. Will you make triggers for every pokemon? I think making the pokemon Ancient or something else, so it is easier to refer to them later.
So you don't need to create several triggers for catching every single pokemon.
You just set it as Target unit of ability being cast equal to ancient (not sure if its this way)
And you should add as possible targets for the items (pokeballs) Ground/Air and ancient. So it isn't castable on heroes and such.
Hope it helps.
 

scubazoo

Member
Reaction score
1
put it inside
Code:
 [wc3][/wc3]
Tags.

And also create variables for positions, and then remove them so it doesn't leak.
And someone should check if hashtables don't leak.
Also got a question. Will you make triggers for every pokemon? I think making the pokemon Ancient or something else, so it is easier to refer to them later.
So you don't need to create several triggers for catching every single pokemon.
You just set it as Target unit of ability being cast equal to ancient (not sure if its this way)
And you should add as possible targets for the items (pokeballs) Ground/Air and ancient. So it isn't castable on heroes and such.
Hope it helps.


It sounds like you may be familiar with the process; could you post a trigger?
Wouldn't creating more variables make for more leaking? Also, why would I need variables for positions?
It would be in my best interest to have a trigger which would work for catching and creating the stored data for each and every pokemon. I can't imagine making over 100 separate triggers...
Well, the pokemon will be heroes...but making it so that players' pokemon and trainers can't be caught will be simple. That would just be a couple conditions added to a finished trigger.

EDIT: Thanks for showing how to tag a GUI trigger.
 

Juggernaut

I don't know what to change it to
Reaction score
33
Because when you refer to a position such as center of playable map area the game will leak.
So it is better to define the area first and then remove it in the end of the trigger.
e.g
Trigger:
  • Actions
    • Set Temp_Point = (Position of (Triggering unit))
    • -------- Do the triggers stuff here --------
      • Unit - Create 1 Footman for Player 1 (Red) at Temp_Point facing Default building facing degrees
    • -------- And in the end, we remove the location --------
      • Custom script: call RemoveLocation(udg_Temp_Point)

Well, I am not experienced with hashtables, so i would not be able to do that.
But I will try and create a trigger for catching and summoning.
 

scubazoo

Member
Reaction score
1
Because when you refer to a position such as center of playable map area the game will leak.
So it is better to define the area first and then remove it in the end of the trigger.
e.g
Trigger:
  • Actions
    • Set Temp_Point = (Position of (Triggering unit))
    • -------- Do the triggers stuff here --------
    • Unit - Create 1 Footman for Player 1 (Red) at <b>Temp_Point</b> facing Default building facing degrees
    • -------- And in the end, we remove the location --------
    • Custom script: call RemoveLocation(udg_Temp_Point)

Well, I am not experienced with hashtables, so i would not be able to do that.
But I will try and create a trigger for catching and summoning.
Ooook, right, I forgot I was using the region to move the pokemon back and forth; the thing is, if I get the hashtable to work properly, I won't really need a position to move them(as far as I understand).

EDIT: I would very much appreciate you trying to come up with triggers for catching and summoning lol. Maybe with two people working on it someone will figure it out.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/
  • The Helper The Helper:
    Decided to put up a healthier type recipe to mix it up - Honey Garlic Shrimp Stir-Fry https://www.thehelper.net/threads/recipe-honey-garlic-shrimp-stir-fry.193595/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top