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

Admiral Refuge

Members
  • Posts

    8391
  • Joined

  • Last visited

    Never

Everything posted by Admiral Refuge

  1. Marsh changed everyone to "Marsh", iirc. PS: Mistro was well played
  2. Just sitting here in SoCal, near the pool… In 80-degree weather... ...missing my epic snow in Delaware :o
  3. Of course I was in on it. It'd take abit more than afew ponies to bring me down >:3
  4. @Admiral: > Dear community and administration, > > I have dedicated several years to this community. I have climbed the ranks to Administrator, and have helped several hundred members here. But currently, these forums used to actually talk about games and the making of them. Now it's just My Little Pony… > > I thought this may have been a joke, so I spoke with several members of the administration, including Marsh, and it seems to be real. > > With that being said, I'm officially resigning. It was fun, but I have other things to do with my life that i should dedicate my time to. I have removed myself as an Administrator, and leaving the forums. > > Farewell Eclipse, > Maybe in another life. > > Regards, > Anthony. > > PS: Dear Robin: duck you.
  5. Dear community and administration, I have dedicated several years to this community. I have climbed the ranks to Administrator, and have helped several hundred members here. But currently, these forums used to actually talk about games and the making of them. Now it's just My Little Pony… I thought this may have been a joke, so I spoke with several members of the administration, including Marsh, and it seems to be real. With that being said, I'm officially resigning. It was fun, but I have other things to do with my life that i should dedicate my time to. I have removed myself as an Administrator, and leaving the forums. Farewell Eclipse, Maybe in another life. Regards, Anthony. PS: Dear Robin: duck you.
  6. Thanks Marsh! Yeah, I haven't been able to get on that often, due to no proper internet at the hotel. PS: Is it just me, or did Eclipse just change into MLP?
  7. Welcome back Tipsta! Going to be semi-afk this week. Going to Cali (San Diego) tomorrow, giving a presentation on Artificial Life on Friday (I think it's friday..)
  8. This topic has been moved to [Resources](http://www.touchofdeathforums.com/smf/index.php?board=38.0). http://www.touchofdeathforums.com/smf/index.php?topic=70526.0
  9. Depends on what your priorities are. Performance and compatibility, or ease of programming? If I were to design a graphical game engine, I'd probably be in C, using OpenGL, and BSD-sockets (for unix, and write a simple BSD socket wrapper system for window's networking library), as this is what I did when writing my ascii-based mmo engine (you want to test your skill as a programmer, trying to manage a multithreded client/server system in BSD-sockets should do it). But I'd probably choose that, because I develop on in Linux, and I write for cross-platform. If you want cross-platform, the above method would probably be best (or at the very least, C and SDL, just keep in mind that SDL can be slow). If you don't care about cross-platform, then C and DirectX (someone correct me if I'm wrong, but I believe that DirectX performs better windows then OpenGL), but be warned, DirectX support in C is undocumented, from what I heard. I personally stay away from C++, and I dislike .NET in general (as I dislike the idea of programs being compiled in bytecode and run on top a virtual machine). But if you're writing code that ONLY has a chance of working on Windows, you _can_ use it, as what Marsh did with Eclipse++; I can promise you that it would be overall easier and quicker to pump out the game (especially with DarkGDK). EDIT: inb4 Stephan
  10. New Home Tips with Jim! Some of the younger kids may or may not get this, but for the older ones: I'd send a shiver down your spine. http://www.youtube.com/watch?v=Mj_I9JDzFZg
  11. @Xlithan: > What are locked classes and what are their benefits? Refer to: @Anŧhøñy: > So, what are "Locked" classes? Some of you may ask. Well, with this, you can make it possible to forbid a user from starting out as a certain class when they register their character, so classes where "Locked=1" in the classes.ini won't show up in the character creation screen. They're pretty much used for what Skweek said; class advancements, etc.
  12. @erkro1: > I'm using EO v2 Beta.. > And its using frmEditor_MapProperties.lstMusic.AddItem strLoad Okay, I think it's better if I clarify. When looking in your PopulateLists sub, if you see: ``` ' music in map properties frmEditor_MapProperties.lstMusic.Clear frmEditor_MapProperties.lstMusic.AddItem "None." strLoad = Dir(App.Path & MUSIC_PATH & "*.mid") Do While strLoad > vbNullString frmEditor_MapProperties.lstMusic.AddItem strLoad strLoad = Dir Loop ```Then use this code: ``` strLoad = Dir(App.Path & MUSIC_PATH & "*.mp3") Do While strLoad > vbNullString frmEditor_MapProperties.lstMusic.AddItem strLoad strLoad = Dir Loop ``` If you see: ``` strLoad = Dir(App.Path & MUSIC_PATH & "*.mid") Do While strLoad > vbNullString ReDim Preserve musicCache(1 To i) As String musicCache(i) = strLoad strLoad = Dir i = i + 1 Loop ```Then use this code: ``` strLoad = Dir(App.Path & MUSIC_PATH & "*.mp3") Do While strLoad > vbNullString ReDim Preserve musicCache(1 To i) As String musicCache(i) = strLoad strLoad = Dir i = i + 1 Loop ```
  13. @aℓνιη: > How do add activation lock classes by player on game? If you mean, having a player unlock/lock classes, via game, that's beyond the scope of this tutorial. If not, could you explain your question?
  14. @erkro1: > Now getting this error : > musicCache(i) = error.. Are you using the latest version of Origins? Only replace that if your version is using the cache (check if the code above it is using "frmEditor_MapProperties.lstMusic.AddItem strLoad" or not; if it is, use the older version).
  15. Actually you may be onto something. I'm looking over this code right now, and I have a feeling it's 'off'. Stress-testing the code now, so we'll see what happens (I actually think this was an issue in the EEs, iirc). Edit: Yeah, you were right. I updated the topic (left something out anyway), letting users know they need to have locked classes after unlocked ones (as we did in EE).
  16. Hi everyone, this is my first tutorial. I saw someone earlier asking if it was possible to have locked classes in EO, so I figured I'd tell you guys how to do it. This code worked for me, it should work for you as well. Not sure if it works for everything, and there's probably a better way to do it, but meh… So, what are "Locked" classes? Some of you may ask. Well, with this, you can make it possible to forbid a user from starting out as a certain class when they register their character, so classes where "Locked=1" in the classes.ini won't show up in the character creation screen. First, go into your classes.ini file, and give each class a new value: Locked=0 Set it to '1' if you want the class locked, 0 for unlocked. After that, you need to add a new type to the class called "Locked". So go into modTypes, and look for where it says "Private Type ClassRec" In that record, look for the line: "StartSpell() As Long", and add after that: ``` Locked As Byte ``` Then, go into the LoadClasses sub in modDatabase, and look for this code: ``` Class(i).Stat(Stats.Willpower) = Val(GetVar(filename, "CLASS" & i, "Willpower")) ```After that line, paste this: ``` 'Load the locked class Class(i).Locked = Val(GetVar(filename, "CLASS" & i, "Locked")) ``` Next step, is to find this code in the SendNewCharClasses sub (located in modServerTCP): ``` Dim packet As String Dim i As Long, n As Long, q As Long Dim Buffer As clsBuffer Set Buffer = New clsBuffer Buffer.WriteLong SNewCharClasses ```After that last line, add the following: ``` Dim Class_Number As Long Class_Number = 0 For i = 1 To Max_Classes If Class(i).Locked = 0 Then Class_Number = Class_Number + 1 End If Next ```Then, replace (just a few lines down) "Buffer.WriteLong Max_Classes" with "Buffer.WriteLong Class_Number" After that, in the same sub you're currently in, change: ``` For i = 1 To Class_Number Buffer.WriteString GetClassName(i) Buffer.WriteLong GetClassMaxVital(i, Vitals.HP) Buffer.WriteLong GetClassMaxVital(i, Vitals.MP) ```To: ``` For i = 1 To Class_Number If Class(i).Locked = 0 Then Buffer.WriteString GetClassName(i) Buffer.WriteLong GetClassMaxVital(i, Vitals.HP) Buffer.WriteLong GetClassMaxVital(i, Vitals.MP) ```Then change (about 20 lines down): ``` For q = 1 To Stats.Stat_Count - 1 Buffer.WriteLong Class(i).Stat(q) Next Next ```To this: ``` For q = 1 To Stats.Stat_Count - 1 Buffer.WriteLong Class(i).Stat(q) Next End If Next ``` Hope this is somewhat clear, if not, let me know, I'll try to clarify. **Note:** If you're going to have some classes locked and others unlocked, be sure to have the unlocked classes first, listed before the locked ones. Otherwise you'll get some nasty results if there's an unlocked class after a locked one in the classes.ini.
  17. @Varethien: > This is what I'm using at the moment, I'm not sure if I'm going to switch, it seems like a good enough compiler. If you're referring to microsoft's, it's a good compiler on windows, it just enforces bad standards and stuff (like allowing you to not return 0 at the end of a program). I usually develop my code under gcc (or mingw with DevC++, on windows), then compile it for release under microsoft's (since their compiler-generated code is faster on windows than devc++'s). Though you don't have to deal with things like stdint, etc, atm, so you should be fine with the current compiler for learning. Just be sure to keep the standards in mind, since MVC++ won't enforce them. @Varethien: > For the do-while loop, I'll probably add a % 8 or 9, not sure… > I also noticed that it exits the program irregardless to the input number being larger than the random number.. Here is an interesting site that provides some random number generators (looks like it's using C): http://www.geekpedia.com/tutorial39_Random-Number-Generation.html You may find some interesting functions in there that can help you with capping a max number for rand(). Also, the rand() that is getting printed to your screen, is a different number than the rand() that it's checking input against. This is because every time you call rand(), it [usually] returns a different number. As another member said, you may want to put it in a variable, to use it twice, like so: ``` int randomNumber; do { randomNumber = rand(); printf("%d\n", randomNumber); }while(randomNumber < input); ```This will ensure you're testing the same number in the printf. You can also verify that scanf is reading your input correctly, you could print that out in the do loop (or before it), by doing something like: printf("Entered: %d – Random: %d", input, randomnumber); @Varethien: > Edit: as for the error-checking I might add it, or not, I'm not sure at this point. That's up to you; this is just something you can use if you're worried that someone might put invalid data into scanf().
  18. Some quick things. I've noticed that there is no "return 0;" at the end of your main function. If you haven't learned about C-functions yet, that's an acceptable mistake, but I'd recommend ending all of your programs (within main()) with a "return 0;". This also tells me you're probably using Microsoft's compiler, which doesn't have the C99 standard with it, so you're better off looking into something like [DevC++](http://www.bloodshed.net/devcpp.html) if you're considering cross-platform code. With scanf, for something like this it should be fine (unless you want to read in the input into a character buffer, then parse/intemperate it, etc). Currently (atleast on GCC) if you enter a string instead of a number, it will probably just set the value of 'input' to zero, or a negative number (though I think something like cin/cout would crash it though, since those are streams; but that's C++). If you want to have some error checking, you can do something like: ``` int result = scanf("%d", &input); if (result != 1) { puts("Invalid input"); return -1; } ``` This is because scanf returns a value, based on it's success. If it successfully reads one thing in (which is what you're trying to do), it will return '1'. If it returns 0, that usually means scanf fails. Should stop people from inputting a string. As for your do-while loop, rand() usually returns a very big number (much bigger than what most users will input). Almost every time, you'll end up only doing the loop once (unless you enter for input something really big). PS: I don't actually use scanf much anymore, as I mainly just handle input through buffers, etc, so if I'm missing something, please let me know.
  19. In case anyone is interested, I've gotten it to work by changing this part of the tutorial: ``` strLoad = Dir(App.Path & MUSIC_PATH & "*.mp3") Do While strLoad > vbNullString frmEditor_MapProperties.lstMusic.AddItem strLoad strLoad = Dir Loop ```To this: ``` strLoad = Dir(App.Path & MUSIC_PATH & "*.mp3") Do While strLoad > vbNullString ReDim Preserve musicCache(1 To i) As String musicCache(i) = strLoad strLoad = Dir i = i + 1 Loop ``` In the latest version of EO
  20. Wait till Stephan gets on tomorrow, he'll probably point you in a better direction than any other users on here. In the meantime, learn Assembly, as well as some things on bootloaders, the bios, etc. And be sure to check out OS Dev (http://osdev.org/) as well as their forums.
×
×
  • Create New...