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

Joost

Members
  • Posts

    224
  • Joined

  • Last visited

    Never

Everything posted by Joost

  1. The game is so extremely easy, facerolled trough nightmare mode, only diablo was slightly difficult. I hope hell/the level above that are actually difficult.
  2. The taunting part of the code kind of disappeared, but it is easy to add in again.
  3. @dimz: > I like the idea but, im trying to understand what it does. You say you can set up a warrior tank class to be the meatshield and you set a 15 players list that can be potential targets for monsters. Still, i dont understand how it is supposed to work ? Monsters will still go for the player who did the most damage or there is some kind of ''threat'' related to a particuliar class ? > > Id like to add this system to my game but i cant figure out how it works. > Thanks I lost my taunt code but re-doing it is easy, see my above post. For an easy workaround, you can just check if GetPlayerClass(index) = a warrior and then multiple his threat by 300%. There is some commented out code in the subs that will show you what I mean.
  4. It adds 2x15 longs to every NPC that's on a map, to save the damage and the index of the player (15 poss. players) Besides that, I'm not sure what's messy about it. (well, it is messy but nothing that should slow anything down) From my point of view this is such a major improvement of the old targetting system (where you could "bounce" a mob between 2 players constantly) that it is worth that. It allows proper party systems with tanks and dps and healers and makes any game feel more online and also creates unique roles for classes. The thing you mention with 4 ppl surrounding and 1 person damaging is correct, it will constantly try to run to the 5th player and fail. But yeah, this is a problem w/ the original code and w/ mine. For the taunting, I just added an extra spell variable, taunt as boolean in the spellrec, added checkbox in spelleditor and in the sub castspell (or handlespell, i dunno, whatever) I did a check if spell = taunt then find highest aggro and set taunters aggro to 110% of that. Not really difficult to do and a good training for new programmers so not too worried about the code being lost.
  5. did you download the attachment from the first post or one of my later posts? You need the one from the main post, deleted the other one.
  6. I am working on something really cool now, will maybe add a taunting tutorial after that. It is pretty easy to rip the code too, just find all instances of Taunt and copy them.
  7. stuff doesnt just break all of a sudden, that's not how programming works.
  8. I did some research into this as well. Autotiling is quite complex in the sense that it cuts up the 32*32 tiles into 16*16 and re-arranges those pieces to make a 32*32 tile that fits the surrounding. http://www.codeproject.com/Articles/106884/Implementing-Auto-tiling-Functionality-in-a-Tile-M That's a good thing to read before you start.
  9. Joost

    Programing

    The title sounds like a combination of pro-gaming and programming, so I would imagine a south korean would know the answer since they rule in both.
  10. http://echostorms.net/Mirage/MS%20Tutorials/Temporary%20Archive%20(Read%20Only)/Speech%20Bubble.html That's a 6 year old tutorial for speech bubbles :P. Anyway, your way of doing it (or I guess robin's) is way way better than what the tut I linked suggests, nice first tutorial.
  11. I remember when Eclipse took screenshots from an unreleased version of Elysium, and added the text "Eclipse" and "Coming soon" to it. Basicly waiting for our engine to release so they could slap their own name on it and release it. I guess I helped create the first version of Eclipse? I guess that comes close to mimicking a forum's layout?
  12. Source code so if you want an example of FraContainer. Also includes my taunt/aggro stuff, but just ignore that. Server has an account named 1234 with password 1234 if you want to test it out. Run it from the source files, i did not compile new exe's.
  13. you guys know that eclipse started out by literally taking the screenshots from elysium and photoshopping "eclipse" in there? (no disrespect intended) I find it really funny that you're all white-knighting on some 12 yo kid for doing what basicly created eclipse.
  14. **Goal** Creating a new item type, "container", that can contain upto 5 different items (currenly only awards a max of 1 per item, so not really great for gold, prob one of the things you should change if you want to use this) Containers work just like other items in the sense that they have a picture, they can have requirements such as level, class, admin access, or stats and they obviously have a pic/description. **Client + serverside** In Private Type ItemRec add ``` Container(0 To 4) As Long ContainerChance(0 To 4) As Byte ```to the bottom. Under Public Const ITEM_TYPE_SPELL As Byte = 8 Add ``` Public Const ITEM_TYPE_CONTAINER As Byte = 9 ``` **Client** All of this is in frmEditor_Item Add a fraContainer. This frame should be on top of FraEquipment. In this frame, add 2 textboxes. Name them TxtContainerItem and TxtContainerChance. Copy each box 4 times so you end up with a total of 10 boxes. VB will ask you if you want to create an array, click yes. Also add labels that identify what box is what so people who work on your game know how to use it. Doesn't matter what you name them. Make it look pretty. On CmbType add Container to the List setting and add a 0 to the Itemdata. Now doubleclick CmbType and add just above Item(EditorIndex).Type = cmbType.ListIndex the following code ``` If (cmbType.ListIndex = ITEM_TYPE_CONTAINER) Then FraContainer.Visible = True Else FraContainer.Visible = False End If ``` Also in frmEditor_Item, add the following code to the bottom of the sub ``` Private Sub TxtContainerChance_Change(Index As Integer) ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Or TxtContainerChance(Index) > 100 Or TxtContainerChance(Index) < 1 Then Exit Sub If IsNumeric(Index) Then Item(EditorIndex).ContainerChance(Index) = TxtContainerChance(Index) Else MsgBox ("Trying to enter a string is a dickmove, 1-100 (percentages) only!") End If ' Error handler Exit Sub errorhandler: HandleError "txtDesc_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub Private Sub TxtContainerItem_Change(Index As Integer) ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Or TxtContainerItem(Index) > MAX_ITEMS Or TxtContainerItem(Index) < 0 Then Exit Sub If IsNumeric(Index) Then Item(EditorIndex).Container(Index) = TxtContainerItem(Index) Else MsgBox ("Trying to enter a string is a dickmove, item numbers only!") End If ' Error handler Exit Sub errorhandler: HandleError "txtDesc_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.Clear Exit Sub End Sub ``` In ItemEditorInit, under ``` If (frmEditor_Item.cmbType.ListIndex = ITEM_TYPE_SPELL) Then frmEditor_Item.fraSpell.Visible = True frmEditor_Item.scrlSpell.Value = .Data1 Else frmEditor_Item.fraSpell.Visible = False End If ``` add ``` If (frmEditor_Item.cmbType.ListIndex = ITEM_TYPE_SPELL) Then frmEditor_Item.fraSpell.Visible = True frmEditor_Item.scrlSpell.Value = .Data1 Else frmEditor_Item.fraSpell.Visible = False End If ``` In **the server**, in use item, under Select Case Item(itemnum).Type add ``` Case ITEM_TYPE_CONTAINER ' stat requirements For I = 1 To Stats.Stat_Count - 1 If GetPlayerRawStat(Index, I) < Item(itemnum).Stat_Req(I) Then PlayerMsg Index, "You do not meet the stat requirements to equip this item.", BrightRed Exit Sub End If Next ' level requirement If GetPlayerLevel(Index) < Item(itemnum).LevelReq Then PlayerMsg Index, "You do not meet the level requirement to equip this item.", BrightRed Exit Sub End If ' class requirement If Item(itemnum).ClassReq > 0 Then If Not GetPlayerClass(Index) = Item(itemnum).ClassReq Then PlayerMsg Index, "You do not meet the class requirement to equip this item.", BrightRed Exit Sub End If End If ' access requirement If Not GetPlayerAccess(Index) >= Item(itemnum).AccessReq Then PlayerMsg Index, "You do not meet the access requirement to equip this item.", BrightRed Exit Sub End If PlayerMsg Index, "You open up the " & Item(itemnum).Name, Green For I = 0 To 4 If Item(itemnum).Container(I) > 0 Then X = Random(0, 100) If X =< Item(itemnum).ContainerChance(I) Then 'Award item Call GiveInvItem(Index, Item(itemnum).Container(I), 0) PlayerMsg Index, "You discover a " & Item(Item(itemnum).Container(I)).Name, Green End If End If Next I TakeInvItem Index, itemnum, 0 ``` And we're done. Voila. If you encounter any problems, try deleting your items first. There are some player messages in there, feel free to adjust those. The green is also very ugly, imo.
  15. –--- Im fairly sure the trade system is shit, you'll have to loop through MAX_INV and find out if the item is being traded that way, and then check the bindtype
  16. @Anna: > 6 years in July. At the end of the green board era. you mean greentail?
  17. You changed GetPlayerInvItemNum into GetPlayerInvItem I guess? Only thing I can come up with. The other edits were valid points though.
  18. since the beginning of motherfucking time, with god as my witness. (old name = ozzy) PS: you know when you're old when you remember the pic with magnus's ugly face and the text "not my junior admin" or something like that. best thing ever. that guy's face, just, fucking unbelievable. looks like someone spit acid right onto his face. not a pretty sight.
  19. Joost

    Salem

    @Rusher: > Lrn2read. L2notgetfooledbycleverspambots : P.
  20. Joost

    Make dungeon?

    At the moment there are no tutorials for this yet, as far as I know. So if you want it, you'll probably have to code it yourself. (PS, Alexey Krupnyk fighting!)
  21. also make sure to change it from byte into integer or it will not work properly. (max is like 32k or something for integer)
  22. you're right, im an idiot, did not realize server handled / commands as well.
×
×
  • Create New...