aeronx
-
Posts
54 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Calendar
Posts posted by aeronx
-
-
http://www.eclipseorigins.com/thread-2746.html?highlight=instanced
You didnt search a lot.. did you? -
There's a code that you can add to your engine if you know how to compile in vb6\. Search for instanced maps on the searcher
-
Bump! Check first post please it new, but i didnt want to create a new post! thanks
-
Im trying to add that right now! I'll share it if i get it done..
-
Then no cast bar, nor stand still.. xD any "fast" fix sky?
-
bump!
Anyone that is able to help me on this? really thanks. -
@'Azizele':
> @aeronx The NPC's do have a cast time, they just don't play the casting animation. To test this for yourself just set the cast time to about 10s and attack an NPC. After a few seconds they will just stand completely still for 10s and then you'll be hit by the spell.
Actually, on skywyre engine, thats not true. They keep moving and then they just use the spell. I've tested with 15 sec cast, and nothing. Tested it on a raw version of skywyre
and it happens the same. NPCs dont have casting time for spells.
Anyway to fix it skywyre? Thanks! -
Sky, When i add a spell with casting time to a NPC, the NPC, casttime its instant. I want them to cast!
is this a bug or intented? If intended, how can i change it? -
Grow! show yourself and explain this to me please! Thanks!
-
I've tried that already, but so far no luck.
-
Did anyone solve this already? thanks
-
I've found this on the code..
Is there anyway to work something like this for NPCs?
```
Function GetDirAwayFromPlayer(playerID As Long, mapnum As Long, eventID As Long) As Long
Dim i As Long, x As Long, y As Long, x1 As Long, y1 As Long, didwalk As Boolean, WalkThrough As Long, distance As Long
'This does not work for global events so this MUST be a player one....
'This Event returns a direction, 5 is not a valid direction so we assume fail unless otherwise told.
If playerID <= 0 Or playerID > Player_HighIndex Then Exit Function
If mapnum <= 0 Or mapnum > MAX_MAPS Then Exit Function
If eventID <= 0 Or eventID > TempPlayer(playerID).EventMap.CurrentEvents Then Exit Function
x = GetPlayerX(playerID)
y = GetPlayerY(playerID)
x1 = TempPlayer(playerID).EventMap.EventPages(eventID).x
y1 = TempPlayer(playerID).EventMap.EventPages(eventID).y
i = DIR_RIGHT
If x - x1 > 0 Then
If x - x1 > distance Then
i = DIR_LEFT
distance = x - x1
End If
ElseIf x - x1 < 0 Then
If ((x - x1) * -1) > distance Then
i = DIR_RIGHT
distance = ((x - x1) * -1)
End If
End If
If y - y1 > 0 Then
If y - y1 > distance Then
i = DIR_UP
distance = y - y1
End If
ElseIf y - y1 < 0 Then
If ((y - y1) * -1) > distance Then
i = DIR_DOWN
distance = ((y - y1) * -1)
End If
End If
GetDirAwayFromPlayer = i
End Function
``` -
Hello everybody! Over the last month i've been working on a project, alone, which is quite
time consuming.
After a month, using Skywyre engine and the help from many from this community I have
an engine nearly good to start a game.
The only thing missing is a combat change. Now, the combat system is pretty basic. You get
close or run(if you use ranged), cast spells and press CTRL. If you have enough dmg and defense
you survive, otherwise, you dont. Easy.
The last things im looking for are:
#Diagonal attacks for players and npcs.
-Why this? Because with the linear spells, you can stay diagonal to dodge their spells and you need
to pay more attention, becoming more challenging.
#NPC_BEHAVIOUR_RUN
-For exemple, if you have a NPC that uses arrows or spells, i want them to run from the player, so you
have to chase them and you will probably run into more npcs, becoming harder.
I've been trying to mess with pathfinding, adding a new behaviour, changing the X Y for diagonal attacks
but nothing seems to work.
So, im looking for some help here in the community, and to point me out a way, because i think this will
help many people and it would be a perfect addition to any game. I'll gladly accept any help! If someone
wants a part in my game, im more than happy to have your help, and i'll share the engine with the changes
once its done, since im not looking to make cash, i just want to people enjoy my work. And after all, this is a
community to share and show your work!
Thanks for reading and expecting the best of you all! Thanks for your time! -
Okey! Solved, i know what you mean now! Really thanks, giving you credits for the fix! You are great!
Thanks everybody for your time and effort! -
Thanks all for your help.
I've tried something like this, but now if you face a blocked tile from 3 tiles, but it has range 4\. The spell wont cast, even if there is a NPC on the way.
I've been trying some diferent ways but i havent been successfull.
This is what i have now. (Doesnt work right)
```
Case DIR_UP
Calculate = GetPlayerY(index) - Linear
If Calculate <= 0 Then
DidCast = True
GoTo theEnd
End If
Exit Sub
If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - Linear).Type = TILE_TYPE_BLOCKED Then
DidCast = True
GoTo theEnd
End If
Exit Sub
theEnd:
If DidCast Then
SendAnimation GetPlayerMap(index), Spell(SpellNum).SpellAnim, GetPlayerX(index), GetPlayerY(index) - Linear
IsUseLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) - Linear
End If
``` -
bump!
Anyone with some knowledge on the code? :) -
@'Adrian':
> @'aeronx':
>
> > Hello Sky. Wonder if you know a fix or do you intend to fix the move-stop-move-stop movement from NPC?
> > Please let me know! Thanks
> >
> > Keep it up.
>
> Aeronx, I am not sure if this is what you mean but you can try increasing the NPC's Movement speed in the NPC Editor and you should see it animate properly.
That doesnt do much, it just make the npc move faster throgh the tile, the gettickcount + 500 its the same on the serverloop. (That the time the game uses to do something).
But lowering the 500 to under 350, make the npc blinky and faster than light, regardless the movement speed.
Expecting any other solution xD
* * *
@'Xepher002':
> Are there any tutorials on Eclipse Skywyre yet? It really looks amazing, and I'm currently figuring it out.
Ask whatever you need, ill try to answer, but not an expert. -
Not working either :/ Been messing around with that logic sky, but nope. Maybe when you have time you can take a look at the whole code!
Thanks @skywardriver @Baron Mohenjo Daro -
Tested, not working :/!
I need to change the exit sub so it does something else, how? dunno -
Hello Sky. Wonder if you know a fix or do you intend to fix the move-stop-move-stop movement from NPC?
Please let me know! Thanks
Keep it up. -
Bump! Anyhelp on the bug of this code? Read the bottom of the threat please!
Thanks for your time. -
Hello everybody! Looking on other forums, I found this script, working pretty neat, so i thought i share it.
Note: Tested on skywyre engine, works fine Perfect! (Fixed by: **[abhi2011](http://www.eclipseorigins.com/user-35814.html)** )
~~ Client Side~~
Search for:
```
Public Const SPELL_TYPE_WARP As Byte = 4
```
After it add:
```
Public Const SPELL_TYPE_LINEAR As Byte = 5 ' or your next spell_type number
```
Open FrmEditor_Spell, click on cmbType and blow this:
```
Spell(EditorIndex).Type = cmbType.ListIndex
```
Add this:
```
If cmbType.text = "Linear" Then
scrlRange.Value = 0
chkAOE.Value = 1
End If
```
Click cmbType properties and add Linear to the list
Client side done.
~~Server Side~~
At Sub Public Sub CastSpell search for:
```
Dim x As Long
Dim y As Long
```
Under it add:
```
Dim Linear, Calculate As Long
```
At the same sub look for:
```
Case 2 ' targetted
```
On the End Select above Case 2, above it add:
```
Case SPELL_TYPE_LINEAR
DidCast = True
Linear = 1
Do While Linear < Spell(spellnum).AoE
Select Case GetPlayerDir(index)
Case DIR_UP
Calculate = GetPlayerY(index) - Linear
If Calculate <= 0 Then
DidCast = True
GoTo theEnd
End If
If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - Linear).Type = TILE_TYPE_BLOCKED Then
DidCast = True
GoTo theEnd
End If
SendAnimation GetPlayerMap(index), Spell(SpellNum).SpellAnim, GetPlayerX(index), GetPlayerY(index) - Linear
IsUseLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) - Linear
Case DIR_DOWN
Calculate = GetPlayerY(index) + Linear
If Calculate <= 0 Then
DidCast = True
GoTo theEnd
End If
If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) + Linear).Type = TILE_TYPE_BLOCKED Then
DidCast = True
GoTo theEnd
End If
SendAnimation GetPlayerMap(index), Spell(SpellNum).SpellAnim, GetPlayerX(index), GetPlayerY(index) + Linear
IsUseLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) + Linear
Case DIR_LEFT
Calculate = GetPlayerX(index) - Linear
If Calculate <= 0 Then
DidCast = True
GoTo theEnd
End If
If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) - Linear, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then
DidCast = True
GoTo theEnd
End If
SendAnimation GetPlayerMap(index), Spell(SpellNum).SpellAnim, GetPlayerX(index) - Linear, GetPlayerY(index)
IsUseLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - Linear, GetPlayerY(index)
Case DIR_RIGHT
Calculate = GetPlayerX(index) + Linear
If Calculate <= 0 Then
DidCast = True
GoTo theEnd
End If
If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) + Linear, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then
DidCast = True
GoTo theEnd
End If
SendAnimation GetPlayerMap(index), Spell(SpellNum).SpellAnim, GetPlayerX(index) + Linear, GetPlayerY(index)
IsUseLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + Linear, GetPlayerY(index)
End Select
Linear = Linear + 1
Loop
```
At the end of CastSpell sub find:
```
If DidCast then
```
Above it, add:
```
theEnd:
```
After whole Public Sub StunNPC add:
```
Function IsUseLinear(ByVal index As Integer, ByVal spellnum As Integer, ByVal Vital As Long, ByVal Mapa As Integer, ByVal x As Byte, ByVal y As Byte)
Dim i As Long
'Loop Global Npc
For i = 1 To MAX_MAP_NPCS
If MapNpc(Mapa).NPC(i).Num > 0 And MapNpc(Mapa).NPC(i).x = x And MapNpc(Mapa).NPC(i).y = y And MapNpc(Mapa).NPC(i).Vital(HP) > 0 Then PlayerAttackNpc index, i, Vital, spellnum
Next
'Loop Global Player
For i = 1 To Player_HighIndex
If GetPlayerMap(i) = Mapa And GetPlayerX(i) = x And GetPlayerY(i) = y Then PlayerAttackPlayer index, i, Vital, spellnum
Next
End Function
```
After:
```
Public Const SPELL_TYPE_WARP As Byte = 4
```
Add:
```
Public Const SPELL_TYPE_LINEAR As Byte = 5 'or whatever number you need
```
Aaand you are done!
You just now need to create a new spell, set the animation, vital and range (from AOE range) and you have it.
Thanks! I wish it helps somebody. -
Hello Sky! Any ETA on v6? thanks for your work.
-
Thats it. Easy right? :)
Im quite old and from the oldschool of gaming production haha, just trying to help improve the engine, since i have no skills at programming at all. (Basic skills or less)!
Eclipse: Skywyre Edition v10
in Custom Versions
Posted