In response to Linkin5622
Linkin5622 wrote:
Hey Forum_account i have one question do you know how to give mobs special powers such as fire ball or freeze ray and do you know how to set them so the mob receives them as it levels up?
Answers would be much appreciated.

You can do a search on the developer help forum to look for answers, here's one post I found that might be helpful.
The invenyory-demo in the Overlays' library is too hard t understand!
In response to Forum_account
Forum_account wrote:
Linkin5622 wrote:
Hey Forum_account i have one question do you know how to give mobs special powers such as fire ball or freeze ray and do you know how to set them so the mob receives them as it levels up?
Answers would be much appreciated.

You can do a search on the developer help forum to look for answers, here's one post I found that might be helpful.

Thanks it helped a lot.
In response to Linkin5622
Linkin5622 wrote:
Forum_account wrote:
Linkin5622 wrote:
Hey Forum_account i have one question do you know how to give mobs special powers such as fire ball or freeze ray and do you know how to set them so the mob receives them as it levels up?
Answers would be much appreciated.

You can do a search on the developer help forum to look for answers, here's one post I found that might be helpful.

Thanks it helped a lot.
Now I have one other question, dealing with your speech bubble library. is there a way to make it so when you say something it will make a speech bubble by your mob making it look like he said it?

Now I have one other question, dealing with your speech bubble library. is there a way to make it so when you say something it will make a speech bubble by your mob making it look like he said it?

The speech_bubble() proc belongs to all atoms. If you want to make a speech bubble appear over your mob, just call its speech_bubble proc:

mob
verb
say(t as text)
src.speech_bubble(t, duration = 30)
So have you ever gotten around to messing with the dynamic lighting library? Just wondering...

Also I've been messing with world saving and loading and it seems that the light atom conflicts with saving the map and I was wondering if there was any way around this.

I am trying to use Iain's dmm_suite
http://www.byond.com/forum/?post=113469

At the moment I am having problems getting the shading objects to not save on the map file, but it is past midnight and I've been at this saving/loading all day so i'm going to go to bed now. Hope you have some good news for me at some point in the future.

EDIT1:
Working on it again today and I can think of ways around it but I can't seem to formulate a solution yet, I know it's out there though. I am thinking something like turning the lighting atom off then saving, or deleting the shading objects and saving but so far I can only get one tile of shading to be deleted so I am still trying to figure it out.
EDIT2:
I guess what would be useful would be a proc within the Dynamic Lighting Library to un-initialize the lighting atom/shading so I could save the map and reboot the server when required. I don't currently see anything that really let's me do that and your library is more advanced than I can really work with so I don't know how to make a proc to remove the shading objects or whatever needs to be done. -sigh- Wish I could understand it so I could fix it.

EDIT3:
Meh just forget it, I guess I am just going to have to do it manually - I can save the map and then just remove the shading myself in dream maker and then copy the saved map to the main map. It's not really what I want but I guess it will work as long as I can save the map that's all that matters. Thanks for your previous help.
If you're saving the map when you're done with it (the game is closing) you can just delete all of the shading objects before saving the map. You could also modify the /shading object's New() proc to be able to determine if it's being instantiated by the library or by the map-loading - if it's done because of map-loading, just delete the object.

Map saving and loading can get pretty game specific. There should be some way to tell the library what objects are temporary and don't need to be saved. I wouldn't be surprised if there isn't, but there should be =)
Yeah I just settled with doing it manually because I just could not get all of the shading objects to delete for some inane (or insane) reason that I wasn't about to spend weeks trying to solve on my own. Basically I got it down to the point where it would delete ONE shading object and I could only change where it was deleting it, not how, for some reason I can't decipher.

I am slowly changing all the inputs in my project, I'm calling it Operation Grand Input Exodus. It's long hours and a lot of work.

Anyhow I was running into a runtime error with the lighting library concerning loading characters, I'm going to put it here but it will be the last one (next time I will use library forums) so that I stop cluttering your shoutbox. It's just an issue with line 52 of light_source.dm concerning the New atom/a !a part - when I save a character, restart, and load the character it gives me the "crash" runtime error. (Which I assume I just need to prevent saving the light or something to the character but I am not certain how to achieve that though I have been trying to figure it out for a couple hours now).

I am getting closer to Beta condition material but I just need some solid hours of progress instead of just scouring the forums for some obscure answer that may or may not help me with some unfortunate problem that I make for myself.

Any and all help is Very much Appreciated and I am Very Gracious. All these years and I've never released a project on Byond - I am not going to give up this time no matter what.

runtime error: The first argument to the light object's constructor must be the atom that is the light source. Expected atom, received '' instead.
proc name: New (/light/New)
source file: light-source.dm,52
usr: null
src: the light (/light)
call stack:
the light (/light): New(null, 3, 1)
the worker (/mob/players/worker): Read(players/u/umbroussoul.sav (/savefile))
UmbrousSoul (/client): base LoadMob("UmbrousSoul")
ChoosingCharacter (/mob/BaseCamp/ChoosingCharacter): ChooseCharacterResult("UmbrousSoul")
ChoosingCharacter (/mob/BaseCamp/ChoosingCharacter): Topic("menu=choosing_character;choice...", /list (/list))
My guess is that the loading automatically instantiates the /light object but it doesn't pass any arguments to its constructor. If you're not controlling how this is saved and loaded yourself, I'm not sure how you can fix it. You can simply not save their light source and just create one when they load their character.
In response to Forum_account
Sounds about right, though my problem is I don't know exactly how to go about achieving that, I was playing around with it earlier this morning before I went to bed, now I am back up to continue working so:

How would I go about either preventing the saving of the light or prevent the initialization of it during load? I'm not very capable with savefiles but I know it's something along the lines of removing the objs from the savefile or preventing it from being saved to begin with. The literal problem being is I don't know where to begin to do that, I hate being incapable (I would love to be like you guys and just be able to make these insane libraries on my own) but I have to ask for help otherwise I don't think I would ever figure it out. I spent several hours searching for an answer on the forums but didn't find anything and several hours playing around with the different snippets but no solution.

I messed around with the /light new proc; I messed around with the character handling save/load; but nothing that I could conjur up did anything to even budge the issue. Basically, I'm lost.
F.Remove? Heh..uhh..prevent Write() somehow, I don't know what to do.

"You can simply not save their light source and just create one when they load their character."

How to do that - I suppose I can create the light that's easy enough but how do I Prevent it from being saved, everything I found on the forum search didn't help me at all.

Example: Garthors example of placing a Write() beneath the object
-
Didn't do a single thing,
Someone else's example of putting a return after the Read for the obj didn't do anything either - I have no clue what I am doing basically.
I would ask on the forums but I don't post there because every time I ever have asked for help I've been abused or told to search it up so I just don't even bother with posting on the forums. :(
I'm not too familiar with savefiles or the libraries that write them for you, so I'm not sure what the best way to handle this is. I don't have a library for saving and loading because those actions are often very game-specific. I have a feeling that the character saving library you're using doesn't give you the flexibility you need (like how the map saving library didn't work well either). You might be able to do this:

light
Read()
Write()

The Read and Write procs should be called when the object is written to a savefile. Making them do nothing might prevent the error from happening. You could also modify the library to change the atom's light var to be atom/var/tmp/light instead of just atom/var/light.

The error just means it wasn't able to create the light source because it wasn't getting the correct parameters. You can simply ignore the error and manually create the light source after the character is loaded.
I'm using Deadrons Character Handling/Base Camp because I have never been good with savefiles either.

I don't think I had this issue with the light not getting a parameter until I changed deadrons choosing character from input to html browser popup (which still isn't really what I want but its better than input I guess).

I will try both of your suggestions and come back with the results. I understand the runtime error I just didn't really know what was involved in trying to debug it, even though now that you mention it those don't really seem too hard to think of... I guess I am just not being as creative/clever ever since I have stopped drinking.
Thanks again I will test that stuff right now.

Edit:

Test1 - Placing Read() and Write() underneath the light object in my own project and in the library doesn't seem to have any effect for some reason.

Test2 - Now I feel really stupid, it was such a simple fix and I could have thought of it on my own now I feel pathetic heh. Changing the atom var to tmp worked perfectly, don't know why I didn't do it myself (I probably thought of it at one point or another) sheesh. ._.

Thank you once again FA, if I can ever stop creating problems for myself and get this project to a public release state you will certainly have top credits, that's the least I could do. It's sad to think I don't want to drink alcohol but I may be a better programmer while drunk. Akin to Drunken Pianist Peter in that one Family guy episode. :D
Are you using the Pixel Movement library in 2D mode or 3D mode?
Yut Put wrote:
How would I make a dense turf that only certain mobs can enter using the pixel movement library?

If you put a mob in a dense turf, regardless of whether it's programmed to filter the turf out of can_bump or not, the mob's movement starts to behave erratically

If you're using 2D mode you can just do this:

mob
can_bump(turf/special/s)
if(istype(s))
if(mob_is_allowed)
return 0
else
return 1
return ..()

In 3D mode, every turf is dense and it's just a matter of how tall the turf is. You can do something similar, but with some type of mob or obj:

obj
special_mobs_only
pdepth = 500
density = 1

mob
can_bump(obj/special_mobs_only/o)
if(istype(o))
if(i_am_special)
return 0
else
return 1
return ..()
How would I make a dense object that mobs can only exit from but not enter?

Instead of this :

http://youtu.be/XakSsRTCV7M

Something like this:

http://youtu.be/hGuPOytBDEM

Also, I have realized that the mob is not counted as being on the turf that it is standing on (it is unaffected by the explosion). Do you have any tips on how I could work that out?

Explosion is done using Theodis's explosion lib, and it seeks the mob through:
            var/turf/T
T = locate(x,y,orig.z)
if(T.density)
return 0
i = image('fire.dmi',locate(x,y,orig.z))
world << i
spawn(10)
del(i)
for(var/mob/M in T)
M.frozen=1
M.icon_state="frozen"


I must thank you for your amazing library.
Byond's built in pixel movement was not working out well with me. But, with your library, I was able to take care of the problem!

I would really appreciate your help.
Thank you very much in advance.
Flash Speed wrote:
How would I make a dense object that mobs can only exit from but not enter?

You can probably use the can_bump() proc to check if the mob is already overlapping the bomb. If so, they can't bump the bomb. If they're not overlapping the bomb they can bump into it.

Also, I have realized that the mob is not counted as being on the turf that it is standing on (it is unaffected by the explosion). Do you have any tips on how I could work that out?

I'm not sure why that's not working. The mob should be in the contents list of every turf it overlaps. That's how BYOND handles it, so I don't think there's any library-specific thing that could interfere with that.
In response to Forum_account
As for the second explosion error, it was resolved after I allowed the player to bump into the bomb.

I don't quite get how to use can_bump() to check if the mob is overlapping the bomb.

mob
animate_movement = 0

proc
can_bump(atom/a)
if(isturf(a))

#ifdef TWO_DIMENSIONAL
return a.density
#else
return 1
#endif

else
if(isobj(a))
if(istype(a,/obj/bomb))
return 3
return a.density && density

return 0

mob
can_bump(atom/a)
if(isobj(a))
if(can_bump(a)==3)
return 0
else
return a.density
if(istype(a,/mob))
return 0
return ..()

With that I get a value of 3, but isn't this for everytime when player bumps into the bomb? Also, the player seemed to be stuck at the object rather than doing erratic movements. I'm not sure how I can use this to check if they are already overlapping the bomb. Can you provide me with a tip?

Edit: I just realized that this leads to an inf. loop.

Thank you very much.
You can try something like this:

mob
can_bump(obj/bomb/b)
if(istype(b))
if(inside(b))
return 0
else
return 1
else
return ..()
Hmm, I'll look into this more later. This is something that should be easily possible.
Not sure if this will help you, but here is what's happening:

Here's the code for the texts:
mob
can_bump(obj/bomb/b)
if(istype(b))
if(bounds_dist(src,b)<0)
src << output("Whut?","output1")
return 0
else
src.icon_state="frozen"
src << output("Damaged?","output1")
return 1
else
return ..()


Here's the result:
http://youtu.be/u_4_UNnI7VQ

Thank you.
Page: 1 2 3 ... 14 15 16 17 18 19 20 21