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

Scott

Members
  • Posts

    428
  • Joined

  • Last visited

    Never

Everything posted by Scott

  1. The slots are just maps, it just places you on a normal map, flags that as an instance map and you would never leave that single map(you would look like you where) but your really confined to 1 map as a single player. Now if your in a party and you try to move maps, it will first look to see if anyone else in your party is on that section of the dungeon, if they are it will move you to there map so you both are on the same instanced map, now say a player leaves this map it will notice there is a player still on the current map and assign them a new map so the first player can keep exploring this section even though it may not have been his orignal map and he joined it while another player was on. So really there is no "End Instance" each player kinda has there own that can co-mingle if there in a group. It only uses 1 map slot per player at max, and less as you group up on the same maps together if you have a better idea please be more detailed wasen't following you well.
  2. If they are in a party they will join one together, if not they will each have a seperate copy to use. So really all this does is gives each player 1 map slot they can use alone, it will load the old map from under them and load a new map on the same map to make it look like a transition, except when your in a party it will do a check to see if anyone else in your party is in this part of the dungeon and just take you to their map if so.
  3. > True, however, my CV was a bugged ass engine and I discontinued it for that reason amongst others, being an only tester. I could not find and fix the bugs in a timely manner, I didn't say I was mad - I just said I wasn't too happy. I would have expected more from the one who was building onto my CV as their CV, but eh. You're right - Had I not dropped the development then it would have given me reason to "Not be happy"; So > ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons//smile.png) I didn't mean mad like that bad wording on my end sorry lol but I also understand where your comming from, just though I would throw my 2 cents in. ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons//smile.png)
  4. > I noticed some CV's just snatching other CV's and building onto them. That's silly. Even so without proper consent, like how Eclipse Starlight did to my CV.. I wasn't all to happy about it but I let it go, they gave me credit but, it just felt like they tried to '1 up' me with my own work at that time - When I did some coding for mitlark's CV, I asked for permission to add onto his CV, rather than hijacking it. I see it like this, if you release something open source and stop developing it anyone should be able to pick it up from where you left off and as long as they credit all your work how can you be mad if your not developing it any more it's not like they didn't say all this work was thanks to you here is what I have to contribute credits to me. Now if you where still working on that project and some one did that than I could see how you would be mad and ignore everything above this lol.
  5. The way I did it was I have 2 pieces of info stored with the player, a guild-id(the file where the guild data is stored) and the slot the player is in the members list which is there so I can skip looping to find them every time(it will loop if it can't find them in that slot tho so if I want to kick a user I just remove them from the list and when they login next time, it will not find them and remove them for you). Then in tempplayer data I have a variable that points to which slot the guild they are in is loaded to kinda like how items have items(1-225) I had Guilds(1-Max_Players) so I could just call something like Guilds(TempPlayer(index).TempGuildSlot).blabla or even Guilds(TempPlayer(index).TempGuildSlot).GuildMemberSlot(Player(index).GuildMemberSlot).Rank sorta thing. On login I placed a call to a new GuildLoginCheck sub that loads the guild into memory when a user logins in and no one else in the guild is online, if some one else from there guild is logged in it will just place that tempplayer pointer to the already loaded guild. On the logout sub I had the reverse, if no one else from the guild is online time to clear that from memory. You don't have to do it this way, just figured I'd give you a more detailed explination since you still seem to be deciding how to do it.
  6. Scott

    Guild error

    So first lets look here: ``` 'Not in guild If Player(Index).Char(TempPlayer(Index).CurChar).GuildFileId = 0 Then Exit Sub ``` Now lets look at this: ``` 'Check to make sure the guild file exists If Not FileExist("\Data\guilds\Guild" & Player(Index).Char(CharNum).GuildFileId & ".dat") Then ``` There is 1 difference between these 2 that caused the first one to work, and the second one not to. There is 2 ways you could fix this: 1\. Add "Dim CharNum as Byte" under the other dims than add "CharNum = TempPlayer(Index).CurChar" or 2\. Change all CharNum refrences to "TempPlayer(Index).CurChar" both work the same.
  7. Scott

    Guild error

    Put the whole sub in code tags ill look.
  8. Scott

    Guild error

    That means an array is out of range, my guess is CharNum is outside the proper range for the Char Array.
  9. Scott

    [EO 2.0/3.0] Guilds

    > so all works fine exept kick option i put rank1 cannot kick player from guild > > but it can…...cannot/can option for kick dont work I'll look into this, probly an issue from when I changed how the permission system worked. Edit: If you are trying this on the guild creator they are marked as the founder, and there is an override that lets them do anything even if it's marked off limits did this so you can't accidently lock your self out of the admin stuff.
  10. No other bugs I know of, but I'm not releasing it as a tutorial till I polish it a bit more.
  11. It renders nothing, it only changes how the game loads maps really. Will work fine with any game that shares the same core code as eclipse origins 2.0 reguardless of the version of directx.
  12. Sorry for the delay, some other stuff took priority but i'm back to working on this for the time being. So as I'm sure you all have been waiting for the fix for the npc spawning bug! (SERVER) Find: ``` 'Load new map Call LoadSingleInstancedMap(MapToUse, TempPlayer(index).MapPack, TempPlayer(index).CurrentInstanceMap) Map(MapToUse).Revision = HoldR ' Respawn Call SpawnMapItems(GetPlayerMap(index)) ' cache the map Call MapCache_Create(MapToUse) Call ClearTempTile(MapToUse) Call CacheResources(MapToUse) ``` Under add: ``` ' Respawn NPCS For i = 1 To MAX_MAP_NPCS Call SpawnNpc(i, GetPlayerMap(index)) Next ``` –----------------------------------------------------------------------------- Find in **Sub InstancePlayerWarp** (Make sure you only do this inside InstancePlayerWarp this appears else where): ``` Call SetPlayerMap(index, NewMap) Call SetPlayerX(index, NewX) Call SetPlayerY(index, NewY) ``` Delete and move it under: ``` If MapToUse > TempPlayer(index).MapsUsed Then Call PlayerMsg(index, "This instance does now currently have this many maps, the max is " & TempPlayer(index).MapsUsed & " for this instance.", Red) Exit Sub End If ``` So it should look like this in the end: ``` If MapToUse > TempPlayer(index).MapsUsed Then Call PlayerMsg(index, "This instance does now currently have this many maps, the max is " & TempPlayer(index).MapsUsed & " for this instance.", Red) Exit Sub End If Call SetPlayerMap(index, NewMap) Call SetPlayerX(index, NewX) Call SetPlayerY(index, NewY) ```
  13. Haha this is just for testing when I'm done I'll release it as a stand alone tutorial and not just a downloadable source. I got hired by an old client of mine to do some more work and got a little busy, but my attention is back on eclipse now that I'm done with that so let me go fix that npc bug lol.
  14. Ooh I know what I forgot, give me a bit I'll have another fix up. Edit: I'll have the next fix out tomorrow morrow (30th lol) got busy.
  15. I finished them last night, than passed out after here ya go sorry, (This fixes npc spawn issues) In sub InstancePlayerWarp find: ``` ' send player's equipment to new map SendMapEquipment Index ' send equipment of all people on new map If GetTotalMapPlayers(NewMap) > 0 Then For i = 1 To Player_HighIndex If IsPlaying(i) Then If GetPlayerMap(i) = NewMap Then SendMapEquipmentTo i, Index End If End If Next End If ``` Under add: ``` ' Now we check if there were any players left on the map the player just left, and if not stop processing npcs If GetTotalMapPlayers(PlayerMap) = 0 Then PlayersOnMap(PlayerMap) = NO ' Regenerate all NPCs' health For i = 1 To MAX_MAP_NPCS If MapNpc(PlayerMap).Npc(i).Num > 0 Then MapNpc(PlayerMap).Npc(i).Vital(Vitals.HP) = GetNpcMaxVital(MapNpc(PlayerMap).Npc(i).Num, Vitals.HP) End If Next End If ``` –----------------------------------------------------------------------- (This fixes death issues) In sub OnDeath find: ``` With Map(GetPlayerMap(Index)) ' to the bootmap if it is set If .BootMap > 0 Then PlayerWarp Index, .BootMap, .BootX, .BootY Else Call PlayerWarp(Index, START_MAP, START_X, START_Y) End If End With ``` Replace with: ``` With Map(GetPlayerMap(Index)) If TempPlayer(Index).Is_In_Instance = False Then 'Non instance death ' to the bootmap if it is set If .BootMap > 0 Then PlayerWarp Index, .BootMap, .BootX, .BootY Else Call PlayerWarp(Index, START_MAP, START_X, START_Y) End If Else 'instance death 'Pull them out if they are in one already 'Make sure they are pulled out of the instance compleatly Player(Index).In_Instance = False TempPlayer(Index).Is_In_Instance = False 'Wipe temp data TempPlayer(Index).CurrentInstanceMap = 0 TempPlayer(Index).MapPack = 0 TempPlayer(Index).MapsUsed = 0 'Return them to their pre-instance location Call PlayerWarp(Index, Player(Index).ReturnMap, Player(Index).ReturnX, Player(Index).ReturnY) 'Wipe return values Player(Index).ReturnMap = 0 Player(Index).ReturnX = 0 Player(Index).ReturnY = 0 Call PlayerMsg(Index, "You have left the instance!", Green) End If End With ``` Let me know if you have any issues with these, they are not included in the downloadable version yet I didn't upload it yet since it will include new features as well as the bug fixes.
  16. Oops please delete this, double post.
  17. > Npc's don't spawn correctly, and when you die on an instanced map it doesn't take you to the starting map or boot map, just puts you back onto the instanced map somewhere. ![:wacko:](http://www.touchofdeathforums.com/community/public/style_emoticons//wacko.png) Oops lol completely forgot to re-write the on death sub lol thanks I'll fix those both asap and get version 3 out. > Sweet tut man, thanks for the submission. Eclipse has really come a long way. Thanks
  18. > i gave it a whirl. so you cant edit maps in the instance? other then that good job! I plan to allow this later, I just need to write new save subs for it first =).
  19. How isn't it a good way please explain it? > Wow… I wrote an instanced system which lead onto random dungeons long ago... This isn't the best way of doing it however its a start. Keep it up! > > ~Kibbelz Please go into detail on why this isn't the best way of doing it, are you referring to the code or the user interface part? This has nothing to do with random dungeons though I simply stated that you could convert this to allow instanced randomly generated dungeons this release is simply for people who want static instanced dungeons ect.
  20. Yes you can do anything with this, but it will require some programming to integrate it differently than I did with the mappacks but the core instance code is there so it shouldn't be to hard for people with light vb6 programming experience to do something like that. You could achieve alot with mostly copy pasting stuff and making slight changes to it.
  21. Instanced maps is where you take a map(or set of maps in this case) and allow multiple players to play on that same map alone(and in groups with this take on it). It's written for EO 2.0 only, I plan to write a version for events but that's after it works as intended on 2.0\. I don't see why it wouldn't work on Eclipse advanced though seeing as it does not look to have any changes that would mess with areas I edited.
  22. First bug fix, this fixes an issue where if a member of the party attempts to join a different instance mappack than the rest of the party, they would just be taken to their groups map and override that map temporarily for that part of the group. For those who already downloaded it Server Side Find ``` 'Check if in a party If TempPlayer(Index).inParty > 0 Then For i = 1 To 4 If Party(TempPlayer(Index).inParty).Member(i) > 0 Then If Player(Party(TempPlayer(Index).inParty).Member(i)).Map = Player(Index).Map And Not TempPlayer(Party(TempPlayer(Index).inParty).Member(i)).CurrentInstanceMap = MapToUse Then 'Where with our friend but moving to a different map than him NeedNewMap = True Exit For End If End If Next i End If 'Check if in a party If TempPlayer(Index).inParty > 0 Then For i = 1 To 4 'Check and see if another player is on this instance map If Party(TempPlayer(Index).inParty).Member(i) > 0 Then If TempPlayer(Party(TempPlayer(Index).inParty).Member(i)).CurrentInstanceMap = MapToUse Then NewMap = Player(Party(TempPlayer(Index).inParty).Member(i)).Map NeedNewMap = False Exit For End If End If Next i End If ``` Replace it with ``` 'Check if in a party If TempPlayer(Index).inParty > 0 Then For i = 1 To 4 If Party(TempPlayer(Index).inParty).Member(i) > 0 Then If Player(Party(TempPlayer(Index).inParty).Member(i)).Map = Player(Index).Map And Not TempPlayer(Party(TempPlayer(Index).inParty).Member(i)).CurrentInstanceMap = MapToUse Then 'Are we on the same mappack? If TempPlayer(Party(TempPlayer(Index).inParty).Member(i)).MapPack = TempPlayer(Index).MapPack Then 'Where with our friend but moving to a different map than him NeedNewMap = True Exit For End If End If End If Next i For i = 1 To 4 'Check and see if another player is on this instance map If Party(TempPlayer(Index).inParty).Member(i) > 0 Then If TempPlayer(Party(TempPlayer(Index).inParty).Member(i)).CurrentInstanceMap = MapToUse Then 'Are we on the same mappack? If TempPlayer(Party(TempPlayer(Index).inParty).Member(i)).MapPack = TempPlayer(Index).MapPack Then NewMap = Player(Party(TempPlayer(Index).inParty).Member(i)).Map NeedNewMap = False Exit For End If End If End If Next i End If ```
  23. > now if we could combine this with random generated dungeons, we would have such a great system xd Originally started out as that, and I plan to write a separate section on how you can use it like that, this one is for people who want a bunch of static instanced worlds for bosses/dungeons ect.
  24. Newest Version This version adds persistent items to instancing, when you leave an instanced map instead of deleting the items they are added to a temp list of instanced items. Limit is 1 maps worth of max items(225?) per instance, can be changed. (Updated to fix 2 bugs in first download) Download: [https://mega.co.nz/#…KQ9S5-x3OYWrVW8](https://mega.co.nz/#!n8gCmAwY!GP2i3iSk7wL0OWvbjwbl5QIh_wNuKQ9S5-x3OYWrVW8) (I had to use outside hosting because some one though it would be funny to make the upload limit 2 mb… and the built in File Host won't accept zips or rars from me.) Old Versions (These Downloads will be missing updates/bug fixes use at your own risk I will provide no help with them) [attachment=157:PostMapInstance2.zip] So over the past few weeks in my free time(Sorry guild tutorial people hoping for an update) I've been writing a tutorial for instanced map, along the way it changed into more than just a single instanced map. I had the idea why can't you walk around this instanced world with your friends, transition map-map in per-designed template worlds. Example ![](http://www.freemmorpgmaker.com/files/imagehost/pics/636695f20c364b71320fb4c53f6e7651.png) You can have as many folders as you want all filled with as many maps as you want. Any warp tiles/border map transition will read off these folders moving the player around these per-designed worlds, simply placing an instance map tile inside the instance will act as an exit. For this release it will always load a player into map 1 in that set of maps, you can choose the x/y of the spawn though(Plan to change this). Example ![](http://www.freemmorpgmaker.com/files/imagehost/pics/83604d13b06d0a995c68d669e3303ca6.png) ![](http://www.freemmorpgmaker.com/files/imagehost/pics/6558ecaad977898d96f1043c84b7c0e3.png) Already has full party support, if your in a party you will all be able to see each other and play together inside the instances. It will let each player explore maps in the instance on their own or be on the same map together. You have to make these map packs, I gave 1 very simple example inside but you have to use this client/server to map the maps out for those folders. It works like the gfx for eclipse if you skip a map ie.1,2,3,4,6 it will only read the first 4 maps since there is a break in the sequence. Note:The example map with the instance warp is on map 2, my bad. So let me know what else you would like to see in this/all bugs you find no matter how small and stupid. I'll rip it to a tutorial when I feel there is no major issues with it. This contains both the source/compiled versions of it, if you want to rip this for your game before I make this a tutorial search the source for "'TUT TUT" as I labeled most if not all of the edits with that tag. [attachment=157:PostMapInstance2.zip]
×
×
  • Create New...