Ruins of Hell
-
Posts
6715 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Calendar
Posts posted by Ruins of Hell
-
-
> When I try to sign in I get the message: "Server seems to be down, go to touchofdeathforums.com" or something like that. How can I fix it?
The solutions above are all valid for different cases, but it's probably better if you just start server.exe, located in the server/ directory. -
> Wait, but there is usually like: sever.VBP and server.VBW aren't these files the same thing? Because I can open server.vbw with the express version.
The express version can't actual compile the files (or save the results). -
/editquest
-
> Hows does the system know how much to add to your hp does it do like 2 times 15 + 150 to find next level total health added onto?
It uses the following formula, as all of the posts above have shown. This is the formula for warrior (or class 1). The one below it is for Mage (or class 2) and the last one is for any other class.
```
vital = ((GetPlayerLevel(Index) / 2) + (GetPlayerStat(Index, Endurance) / 2)) * 15 + 150
```
So:
![](http://latex.codecogs.com/gif.latex.gif?%5Cfrac{15%28level+endurance%29}{2}+150%25.png)
Then the next 3 formulas are for the player's magicka. -
You should read [this guide](http://www.touchofdeathforums.com/community/index.php?/page/index.html/wiki.html/_/eclipse-origins/tutorials-1344890800/addingediting-graphics-r4).
-
> I know, but I was wondering if anyone had made it work on Eclipse Advance, as that is based on Eclipse Nightly, which is basically Eclipse Origins 3.0.
Just taking a precursory glance, I see no reason why it shouldn't work with Eclipse Nightly. I would make a back up, add it in, and report back on whether or not it works.
Basically, if the tutorial does any rendering, it won't work on Eclipse Nightly without adaptation. -
> hey all the times o avemposted about the website for my game you guys say it sucks hope the templates are better now.
You can just update the old topic, you don't need to make a new one every time. ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png) -
> Can you help me to know the code, to pass maps, from Eclipe Evolution 2.7 to Eclipse Event System 2.3?
>
> I will make a converter to share, cause I have 700 maps in my mmorpg game XD
The Programming Board is for programming outside of Eclipse. -
Server info
in Q & A
> it says i have to have a static IP, last time i tried that, i messed my internet up big time
You could use [no-ip](http://www.no-ip.com/). -
Hover your cursor over different variables (index, wait. Then invNum, wait). It should come up with the values of the variables. Tell us what they are here.
-
Server info
in Q & A
> ~~okay, so how does someone connect to me? like what do they do after they download eclipse to their server?~~
>
> nevermind. is portforwarding safe? or should i use hamachi
Portforwarding is safe.
Hamachi is a third-party client which your users will have to install to play.
Personally, I recommend portforwarding. -
Server info
in Q & A
> i dont know how to do it though. im trying to use this [http://www.touchofde…read-tutorials/](http://www.touchofdeathforums.com/community/index.php?/topic/83283-must-read-tutorials/) but none of the links work
Try using the search, it's really much more improved than before. You can use the gear icon (next to the search bar, at the top-right) and then filter by forum to search just for tutorials.
[Here's a guide for portforwarding, if you want.](http://www.touchofdeathforums.com/community/index.php?/page/index.html/wiki.html/_/eclipse-origins/tutorials-1344890800/publishing-your-game-r5) -
Run it through VB6, tell us what line it highlights. Then go through each individual variable in the line and tell us what each of them say.
-
> The Npcs DO respawn.. Just seem to be invisible (only for the person who warped/died though) other players just see that person walk through the npcs the person who warped cant see.. It's a small but irritating bug, most likely caused by me, where do I start looking though lol? :L
>
> (Sorry for double post then..)
Can you replicate the same issue with a default version of the event system with no source edits? -
> Soul it is not working. MAX_LONG was undefined, i defined it in modConstants server side.
Sorry about that, I thought I changed it everywhere but I must have missed that one spot.
> If i paste the same code into "Sub PlayerMapGetItem(ByVal index As Long)" i get undefined ItemVal error
You can't just copy and paste it around, it's not a general solution. Also all of these checks should be done server-side.
Anyway, in PlayerMapGetItem server-side, change:
```
Call SetPlayerInvItemValue(index, n, GetPlayerInvItemValue(index, n) + MapItem(mapNum, i).Value)
```
to:
```
If AddCheckOverflow(GetPlayerInvItemValue(index, n), MapItem(mapNum, i).Value) = 0 Then
Call SetPlayerInvItemValue(index, n, GetPlayerInvItemValue(index, n) + MapItem(mapNum, i).Value)
Else
Call SetPlayerInvItemValue(index, n, 2147483647)
End If
```
* * *
So here's a generalization.
Change:
```
Call SetPlayerInvItemValue(index, n, a + ![B)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/cool.png)
```
to:
```
If AddCheckOverflow(GetPlayerInvItemValue(index, n), MapItem(mapNum, i).Value) = 0 Then
Call SetPlayerInvItemValue(index, n, a + ![B)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/cool.png)
Else
Call SetPlayerInvItemValue(index, n, 2147483647)
End If
```
* * *
> Not necessarily an error, just people being silly and not understanding the bounds of a LONG value and various other ones(And nobody ever implementing a proper solution, but then again why would you ever have such abysmal amounts of gold in your game?).
I agree, but the engine should always be fool-proof, and not crash if someone was to manage to somehow exploit the game to gain that much gold, or if someone decides to add too much gold. -
Set Sprite
in Source
Add the player's name to the packet, and then use FindPlayer(name) to convert it into an index. Then use SetPlayerSprite(FindPlayer(name), number) to set it. The packet is sent in SendSetSprite, so search for that sub to see where it is called (two places). -
> How would I go about adding exceptions for GMs?
Change:
```
' Check to see if its a Party Dungeon
If Map(mapnum).Moral = MAP_MORAL_PARTY_MAP Then
' Check to make sure the player is in a party. If not exit the sub so they dont change maps
If TempPlayer(index).inParty < 1 Then
Call PlayerMsg(index, "This is a party map. You have to be in a party to enter it.", Red)
Exit Sub
End If
End If
```
to:
```
' Check to see if its a Party Dungeon
If Map(mapnum).Moral = MAP_MORAL_PARTY_MAP Then
' Check to make sure the player is in a party. If not exit the sub so they dont change maps
If TempPlayer(index).inParty < 1 And GetPlayerAccess(index) = 0 Then
Call PlayerMsg(index, "This is a party map. You have to be in a party to enter it.", Red)
Exit Sub
End If
End If
```
Note this line:
```
If TempPlayer(index).inParty < 1 And GetPlayerAccess(index) = 0 Then
```
That says, "If the player is not in a party (their party number is 0) and if the player is a regular user, then stop them from changing to a party map". -
What version is this?
-
> Hi I was wondering why cant you change other peoples sprites wth Admin controls in 3.0 and if there is a command to for admins. If their isnt can i edit their sprite in the .bin file of their account in the server folder because I making member characters and I would like to know how.
No, there is no slash command to change a player's sprite.
You can edit the particular bin file if you have a hex editor, although it's not really an official method. If you're interested, it starts at the 45 byte and is 4 bytes long.
Of course, it would also be an easy source edit. -
Any windows computer will do for hosting. Memory isn't really that necessary for an Eclipse game, and bandwidth is a more limiting factor.
To make a map PvP, go to /editmap > Properties > Moral: No moral.
There's no webscript, although it is certainly possible.
MP3 support can be added with this source tutorial: http://www.touchofdeathforums.com/community/index.php?/topic/128597-adding-mp3-to-eo23/
To translate Eclipse, you'll need to edit the strings in VB6 (Visual Basic 6, programming language Eclipse is written in). Note that VB6 does not, by default support UTF-8\. Some Czech characters, such as Å™ or Ã, won't work. You'll have to find a workaround to support it.
It's certainly possible, but it's not in Eclipse by default. -
-
Similiar topic is here: [http://www.touchofde…s-of-my-money/.](http://www.touchofdeathforums.com/community/index.php?/topic/128955-engine-is-jealous-of-my-money/.)
Eclipse does have a small problem with overflow. Here's a fix which will **STOP** the player from gaining gold after a certain amount. Note that it will not put the overflow into another stack, which would be a better idea.
* * *
Server-side
Add (anywhere):
```
' Returns 0, if there is no overflow, or the overflow, if one exists. '
Public Function AddCheckOverflow(ByVal a As Currency, ByVal b As Currency) As Long ' Currency is 8 bytes, as opposed to Long's 4 bytes. ''
If a + b > 2147483647 Then ' 2147483647 = 2**31 - 1 '
AddCheckOverflow = CLng((a - 2147483647) + ![B)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/cool.png)
Else
AddCheckOverflow = 0
End If
End Function
```
Then replace Function GiveInvItem with the following function:
```
Function GiveInvItem(ByVal index As Long, ByVal itemnum As Long, ByVal ItemVal As Long, Optional ByVal sendUpdate As Boolean = True) As Boolean
Dim i As Long
' Check for subscript out of range
If IsPlaying(index) = False Or itemnum <= 0 Or itemnum > MAX_ITEMS Then
GiveInvItem = False
Exit Function
End If
i = FindOpenInvSlot(index, itemnum)
' Check to see if inventory is full
If i <> 0 Then
If AddCheckOverflow(GetPlayerInvItemValue(index, i), ItemVal) <> 0 Then
ItemVal = 2147483647 - GetPlayerInvItemValue(index, i)
End If
Call SetPlayerInvItemNum(index, i, itemnum)
Call SetPlayerInvItemValue(index, i, GetPlayerInvItemValue(index, i) + ItemVal)
If sendUpdate Then Call SendInventoryUpdate(index, i)
GiveInvItem = True
Else
Call PlayerMsg(index, "Your inventory is full.", BrightRed)
GiveInvItem = False
End If
End Function
```
There are probably more errors like this. -
> when I changed those values, the map stopped scrolling ( dunno if it's the right term ), my player gets out of the screen
Sorry, I should have elaborated more than that. You have two options:
1. Increase them, and then also change the picScreen size to fit.
2. Go to Sub ClearMap() (client/server-side) and change the values there.
Example:
```
Map.MaxX = MAX_MAPX
Map.MaxY = MAX_MAPY
```
to:
```
Map.MaxX = 14 ' change these values.
Map.MaxY = 11
``` -
Only one topic per question.
[HELP] Some cool question
in Q & A
Posted
>
> Soul also I did this so I level 2 and have level 2 endurance so
>
> 2+2 = 4
>
> then
>
> 4 * 15 + 150
>
> is that the right formula or am I missing Frac15 whatever that is lol
Sorry, the forum messed up my formatting (it strips backslashes in URLs, or something). It should work now.
It's (15 * (level + endurance)) / 2 + 150.
So level 2 and 2 endurance:
```
(15 * (2 + 2)) / 2 + 150
(15 * 4) / 2 + 150
15 * 2 + 150
30 + 150
180
```
With Level 5 and 10 Endurance:
```
(15 * (5 + 10)) / 2 + 150
(15 * 15) / 2 + 150
225 / 2 + 150
112.5 + 150
162.5
```
Now obviously you can't have 162.5 health. Since the function returns an integer, the result is rounded using what's called _banker's rounding_. I won't go into that here, only note that the result is 162.
```
162
```