ID:2050051
 
I started a server for Elora in DS, tried it out with a few people.
It worked fine :)

I decided to try it out in the Web Client using the STABLE version of BYOND.

1. The Web Client reacts slow unlike DS requiring me to up the fps from 30 to 60.
2. The client screen seems buggy as things pop in and out at a delay in some cases.
3. Some things such as Click() doesn't seem to work with on-screen objects, only sometimes tho which is weird.

I panicked and downloaded the newest BETA version of BYOND.

The good news is, the above isn't true anymore.

https://i.gyazo.com/5f9aa9f00dcca6c09bdcac5595b95e56.png

gg web client gg
WHY ARE YOUR BOOKMARKS CROPPED OUT

GOT SOMETHING TO HIDE? DON'T WANT US TO SEE YOUR FOLDER FULL OF BIEBER NUDES?
Try setting your graphics to software mode in DS and see if you get a similar result.
In response to Flick
Flick wrote:
Try setting your graphics to software mode in DS and see if you get a similar result.

You might want to post a couple of bug reports ;)
In response to Flick
Man I bet lummox has his hands full with the layer stuff O_O
Friggin save system for Elora is acting up, I didn't change anything and it's wanting to tell me a object that saved once loaded doesn't exist, wtf -.-
Why is gender defined under /atom instead of /atom/movable or /mob?
In response to Kozuma3
Kozuma3 wrote:
Why is gender defined under /atom instead of /atom/movable or /mob?

More to the question, why isn't a gender a number in the domain [-1, 1]×[-i,i]. I am more complex than "man", shitlords.
In response to Popisfizzy
as an attack helicopter, this triggered me
Why is gender defined under /atom instead of /atom/movable or /mob?

Check your animate object privilege.
In response to Popisfizzy
Popisfizzy wrote:
Kozuma3 wrote:
Why is gender defined under /atom instead of /atom/movable or /mob?

More to the question, why isn't a gender a number in the domain [-1, 1]×[-i,i]. I am more complex than "man", shitlords.

Vrocaan wrote:
as an attack helicopter, this triggered me

Ter13 wrote:
Why is gender defined under /atom instead of /atom/movable or /mob?

Check your animate object privilege.

Pahahaha you guys got there before me. 10/10
Some code I wrote for my platformer.

mob
Bump(mob/MOB)
if(global.update.Find(src))
if(ismob(MOB))
switch(dir)
if(EAST)
if(step(MOB,EAST,step_size*2))
step(src,EAST,step_size)
if(WEST)
if(step(MOB,WEST,step_size*2))
step(src,WEST,step_size)
if(NORTH,NORTHWEST,NORTHEAST)
if(step(MOB,NORTH,step_size*2))
MOB.VELOCITYn = MOB.JUMP_POWER
MOB.FALLING = FALSE
MOB.JUMPING = TRUE
else
switch(MOB.type)
if(/obj/Ground/Spikes)
switch(dir)
if(SOUTH,SOUTHEAST,SOUTHWEST)
kill()
spawn(15){revive()}
HEIGHT = 0
else if(HEIGHT-6 > y)
kill()
spawn(15){revive()}
HEIGHT = 0
var/tmp
JUMP_POWER = 18
DIRECTION = 0
JUMPING = FALSE
HEIGHT = 0
FALLING = 0
VELOCITYn = 0
VELOCITYs = 0
VELOCITYe = 0
VELOCITYw = 0
VELOCITYm = 4
N = FALSE
E = FALSE
W = FALSE
//

is_climbing = FALSE
has_climbing_gloves = TRUE

verb
North() {N = TRUE}
NorthUp() {N = FALSE}
East() {E = TRUE}
EastUp() {E = FALSE}
West() {W = TRUE}
WestUp() {W = FALSE}
proc
update()
DIRECTION = 0
is_climbing = FALSE
if(E)
DIRECTION = 4
if(W)
DIRECTION = 8
if(N)
DIRECTION ++
if(JUMPING)
if(VELOCITYn > 0)
VELOCITYn--
if(step(src,NORTH,VELOCITYn)) {VELOCITYn--}
else
VELOCITYn = 0
FALLING = TRUE
JUMPING = FALSE
else {FALLING = TRUE; JUMPING = FALSE}

if(VELOCITYe > 0)
if(step(src,EAST,VELOCITYe)) {VELOCITYe -= 0.5}
if(VELOCITYw > 0)
if(step(src,WEST,VELOCITYw)) {VELOCITYw -= 0.5}

switch(DIRECTION)
if(NORTH)
if(!FALLING && !JUMPING)
VELOCITYn = JUMP_POWER
JUMPING = TRUE
if(NORTHEAST)
if(!FALLING && !JUMPING) {VELOCITYn = JUMP_POWER; JUMPING = TRUE}
if(step(src,EAST,VELOCITYe))
VELOCITYe ++
if(VELOCITYe > VELOCITYm) {VELOCITYe = VELOCITYm}
else if(has_climbing_gloves)
is_climbing = TRUE
if(NORTHWEST)
if(!FALLING && !JUMPING) {VELOCITYn = JUMP_POWER; JUMPING = TRUE}
if(step(src,WEST,VELOCITYw))
VELOCITYw ++
if(VELOCITYw > VELOCITYm) {VELOCITYw = VELOCITYm}
else if(has_climbing_gloves)
is_climbing = TRUE
if(EAST)
if(step(src,EAST,VELOCITYe))
VELOCITYe ++
if(VELOCITYe > VELOCITYm) {VELOCITYe = VELOCITYm}
else if(has_climbing_gloves)
is_climbing = TRUE
VELOCITYn = 0
VELOCITYs = 0
VELOCITYw = 0
VELOCITYe = 0
HEIGHT = y
JUMPING = FALSE
FALLING = FALSE
if(WEST)
if(step(src,WEST,VELOCITYw))
VELOCITYw ++
if(VELOCITYw > VELOCITYm) {VELOCITYw = VELOCITYm}
else if(has_climbing_gloves)
is_climbing = TRUE
VELOCITYn = 0
VELOCITYs = 0
VELOCITYw = 0
VELOCITYe = 0
HEIGHT = y
JUMPING = FALSE
FALLING = FALSE
if(!JUMPING && (VELOCITYn <= VELOCITYs))
if(!is_climbing)
FALLING = TRUE
if(step(src,SOUTH,VELOCITYs)) {VELOCITYs++}
else
FALLING = FALSE
VELOCITYs = 0
HEIGHT = y
In response to Kozuma3
That code is a god damned nonsensical mess.

[Edit]

Non-sensual, lol autocorrect
In response to Popisfizzy
Popisfizzy wrote:
That code is a god damned nonsensical mess.

[Edit]

Non-sensual, lol autocorrect

It's just the way I do things man :c
In my defence it makes sense to me :P
In response to Kozuma3
To be clear, the part that doesn't make sense is why you seem to be choosing to do more work than you need to. For example, you have VELOCITYn and VELOCITYs where anyone else would combine them into velocity_y, where a positive number represents a northward speed, and a negative number represents a southward speed, and similarly for east and west. Additionally, checking for fall damage with a vague variable "HEIGHT" could be done easier by checking your falling speed at the time of impact.
In response to Kaiochao
Kaiochao wrote:
To be clear, the part that doesn't make sense is why you seem to be choosing to do more work than you need to. For example, you have VELOCITYn and VELOCITYs where anyone else would combine them into velocity_y, where a positive number represents a northward speed, and a negative number represents a southward speed, and similarly for east and west. Additionally, checking for fall damage with a vague variable "HEIGHT" could be done easier by checking your falling speed at the time of impact.

I have my reasons as I don't know how to math so I do it my way to mimic it or w/e
its hardly math and more to do with logic
In response to Kozuma3
It's actually pretty simple. I'll explain the key parts to you (even though I may regret doing so).

Every frame, you can do this:
var moved_x = Move(loc, dir, step_x + velocity_x, step_y)
var moved_y = Move(loc, dir, step_x, step_y + velocity_y)
// where velocity_x is the number of pixels you're trying to move east (positive) or west (negative),
// velocity_y is the number of pixels you're trying to move north (positive) or south (negative),
// moved_x is the (positive) number of pixels you successfully moved east or west,
// moved_y is the (positive) number of pixels you successfully moved north or south.


To jump, you can do this:
velocity_y = jump_speed
// where jump_speed is a positive (if you want to be moving north) number (of pixels per frame)


Every frame, to apply gravity, you can do this:
velocity_y += gravity
// where gravity is a small, negative (if you want to be falling south) number (of pixels per frame, per frame)


You can check which direction you're moving (in cardinal directions) using the sign of the velocity components:
if(!velocity_x) // not moving east or west
if(velocity_x > 0) // moving east
if(velocity_x < 0) // moving west

if(!velocity_y) // not moving north or south
if(velocity_y > 0) // moving north
if(velocity_y < 0) // moving south


When you hit the ground, you can apply fall damage like this:
if(velocity_y < fall_damage_velocity)
kill()
spawn(15) revive()
// where fall_damage_velocity is a negative number (of pixels per frame)


If you know that you want to kill a player who falls more than 6 tiles (a distance of TILE_HEIGHT * 6, in pixels), then we can calculate what the fall_damage_velocity must be, using some introductory physics equations.

It turns out to be:
fall_damage_velocity = -sqrt(-2 * gravity * fall_height),
where gravity is a known negative value and fall_height would be TILE_HEIGHT * 6. This is how fast the player would be moving due to gravity after falling 6 tiles.

If, for example, you were launched downwards from of a cannon, at a speed greater than this value, you would die even if you started closer than 6 tiles above the ground. That is something your system can't do without faking the HEIGHT, and it uses a system that is much simpler than yours.
Page: 1 2 3 4