Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Kamakazi

Members
  • Posts

    78
  • Joined

  • Last visited

    Never

Kamakazi's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. If you can actually make this work, I'll take my hat off to you. :azn: I'm a bit skeptical that you'd actually go through all that work to do it… but maybe I'm wrong :icon_surprised:
  2. these are pretty darn good yea. with the right tiles to match, golden. keep up the good work!
  3. I have a phobia of phobias!!
  4. Kamakazi

    NPC Run

    anybody know where this timer is in the source? id love for the npc's to have no wait time between moving, or very little…
  5. @Darkonever: > Damian the problem you just decribed was an old chest attribute error on early 2.8. > It's fixed now. Downoad the newest 2.8 source and the chest error will disappear. > BTW Great mod :D I'm still getting the chest attribute error, and I downloaded the latest 2.8 source from the forums… Is there a simple source fix for this error?
  6. I don't think it's version 2.8… the file size is .10 megs smaller than the ee 2.8 in the forums.
  7. The links are broken for source .rar and .zip!!
  8. Hmm that's weird. The download for EE 2.8 on the Main Eclipse page, shows up as EE 2.7 when I download it…
  9. Where do I download the "latest" version of EE 2.8? From the main eclipse page? or the forums?
  10. lol, i say who cares really. I dont care if you make a game about teletubbies… opinions are like armpits, everyones got em. if you decide to make a game that only "geeks" would play, more power to ya.
  11. Not a bad idea, but why dont you take it even further, and have a purpose for these super computers… like say, space travel. you build super computers, to build spaceships, that you need to travel to different planets, and on these planets you gather parts for more advanced ships. lol ... of course i could go on...
  12. Lol, looks like this thread died..
  13. Ok, but is it possible to make the npc's shoot arrows in conjunction with this script?
  14. Ok the following is a Source Tutorial by Anarky77 for Ranged NPC's and Diagonal Attacks. According to someone's post in the forementioned, this can be "easily" used to implement Npc Arrows. Can someone please take a look at the following and help me find a way to make Npc Arrows possible? It would be GREATLY appreciated. XD BTW, I'm hopin to have ALL my Npc's use arrows, if that makes it easier… @Anarky77: > Hey all, this is my first tutorial on here, and I figured this was something really easy for beginner programmers (like me!) in EE and also adds a nice improvement to the NPC's. > > Ok Im assuming you have VB6, and the source of EE because you are here, so no need to go through all that. > > First, Open up the Server.vbp source in VB6. > > Locate the module **ModGameLogic** > > Now… you need to find the Function... > > **CanNpcAttackPlayer** > > Im going to paste my entire Function here, so you are welcome to copy and paste and just use that… but its very simple to see whats going on. Instead of there being just one set for the NPC to attack you, there is 5\. So if you are anywhere between 1 and 5 tiles from the NPC, he will attack you (in ALL directions, and diagonal) so its alot more fun, and gives the NPC a little more bite. > > ok... > > replace the entire Function **CanNpcAttackPlayer** with this: > > ``` > Function CanNpcAttackPlayer(ByVal MapNpcNum As Long, ByVal Index As Long) As Boolean > Dim MapNum As Long > Dim NPCnum As Long > > If Not IsPlaying(Index) Then > Exit Function > End If > > ' Make sure the NPC map number isn't out-of-range. > If MapNpcNum < 1 Or MapNpcNum > MAX_MAP_NPCS Then > Exit Function > End If > > ' Make sure that it's a valid NPC. > If MapNPC(GetPlayerMap(Index), MapNpcNum).num < 1 Then > Exit Function > End If > > MapNum = GetPlayerMap(Index) > NPCnum = MapNPC(MapNum, MapNpcNum).num > > ' NPC isn't already dead?. > If MapNPC(MapNum, MapNpcNum).HP < 1 Then > Exit Function > End If > > ' NPCs don't attack more then once a second. > If GetTickCount < MapNPC(MapNum, MapNpcNum).AttackTimer + 1000 Then > Exit Function > End If > > 'don't attack a player if they are switching maps. > If Player(Index).GettingMap = YES Then > Exit Function > End If > > MapNPC(MapNum, MapNpcNum).AttackTimer = GetTickCount > > If IsPlaying(Index) Then > If NPCnum > 0 Then > If (GetPlayerY(Index) + 1 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) - 1 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) + 1 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) - 1 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > End If > End If > End If > End If > End If > End If > > '======next set============ > > If IsPlaying(Index) Then > > If NPCnum > 0 Then > If (GetPlayerY(Index) + 2 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) - 2 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) + 2 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) - 2 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > End If > End If > End If > End If > End If > End If > > '====next set============= > > If IsPlaying(Index) Then > If NPCnum > 0 Then > If (GetPlayerY(Index) + 3 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) - 3 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) + 3 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) - 3 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > End If > End If > End If > End If > End If > End If > > '-====next set============= > If IsPlaying(Index) Then > If NPCnum > 0 Then > If (GetPlayerY(Index) + 4 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) - 4 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) + 4 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) - 4 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > End If > End If > End If > End If > End If > End If > > '======next set =============== > If IsPlaying(Index) Then > If NPCnum > 0 Then > If (GetPlayerY(Index) + 5 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) - 5 = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) + 5 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > Else > If (GetPlayerY(Index) = MapNPC(MapNum, MapNpcNum).Y) And (GetPlayerX(Index) - 5 = MapNPC(MapNum, MapNpcNum).X) Then > CanNpcAttackPlayer = True > End If > End If > End If > End If > End If > End If > > '-==================== > End Function > ``` > > There.. see how its +1, -1, then all +2 -2 etc etc… just means that no matter where you are around the npc, within 5 tiles... you better hit back or run. > > Ok. SAVE and run.. you are done. > > Now experienced programmers, I know that is probably a horrible way to do it, but it works. Also, you can add as many sets as you want to give your NPC more range. > > Thats it, just run I lost and attack your NPC... see how much more aggro he is. NOTE: this will affect ALL your NPC's. So if you want this to be for special NPC's, I suggest adding a scripted NPC line into that function, and simply only use those ranges if it is a scripted NPC. Then all normal NPCS would attack 1 tile away as per usual. > > Im going to put a slider in the NPC editor to allow for this range later, as its pretty stable and I would like to have the NPC speed and Range option in the NPCeditor . > > You can also make the NPC fire spells back at you using this edited source above. Just script the spell anim and use Dragon Lees ranged spell NPC script, the ideas I got were form there and Barons Main.txt, so thanks to both those guys. > > I know this is not technically a ranged attack, as there is no bullet or arrow, but my next tutorial will be on how to make that happen in conjunction with this.
  15. That's pretty assumptive. I tried putting this in source twice, watching carefully to do it EXACTLY like Robin said… However, I makes my map editor keep the "chest" attribute checked, and it overlaps my Tiles 3 button. It's just plain weird. I'm using version 2.8 if that means anything. :P
×
×
  • Create New...