#plugins-dev-chat
1 messages · Page 40 of 1
well then client would have to send and server would have to receive
and then resend
but
so
you disable the collidable flag
and enable it for clients that don't have the effect
i dont see that in server code
server code is a thing
client side code is another
yes
but
server HAS to send the correct flag
client cant know the correct flag if server doesnt tell 😭
Soo uh what exactly you looking for
something resyncing PrimitiveFlags
that causes it to be unable to fake sync
black magic of PrimitiveFlags resyncing everytime they are set
other than Start() method of primitive
because most likely what someone did is checking
again
we've already fucked with how the game components work so far by now half the shit we do breaks with normal code
no server side code is resyncing it
Nameless
it has to be mirror code
zero
but fun fact
i agree with eve here
client cant know a servers values
-# impossible
idk what ur on abt
nws fault
and this GETS CALLED 100 times
its mirrors
do you prevent it from setting the dirty bits to 0?
Nao was a schizo, and the thousands of people who tried
it before me
otherwise it wouldn't resync
there was even a REPORT YOU ANSWERED ABOUT IT
yeah but
Start()
updates it
and resyncs
...
holy shit
thats called once
START GETS CALLED AT START
we arent getting anywhere
i said this
yes
start is not what we need
thats... the point
thats the whole thing we're avoiding
i know?
we arent touching the start
im saying its mirror or ur fake syncing wrong
skill issue
...
...
Exiled then is wrong

i dont see server code sending it
IIII dont see any client specific code that you couldnt see?
you fucking shut up
i dont know how to fake sync a syncvar
do you have your primitives on the server now?
zero
I will GIVE YOU THE CODE
you literally said urs doesnt work
alright alright zero enough
😭
leave it here
nah
fml
zero get in here
?
david says client isnt resyncing
forcefully at least
and server has no code for it either
so its MIRRORRRRRR
or the fake sync makes it dirty
and it resyncs
yes
fix urself
its not me using the code
to do that
idc
and neither do i
pay yourself
no
Pay with a good feeling
Exiled is like an abusive relationship
join Northwood and make 10 dollars to fulfill a bounty

the good feeling when programming is unmatched
market flyer
pliers
I want to be in an abusive relationship with exiled
No I have nothing worth providing
Your soul
If I add my soul to exiled will a Text, SSS, and interactible wrapper be finally added?
@celest thorn so was i right about it not being SL issue
nah best is abusive relationship
probably idk

Someone should make Libre SL
not instaling exiled
either its way worse or its way better
Someone should make SL
i cba to find shit on the sync vars
wat
Sister Location?
ok
nicest italian dev
cedmod 2.0
ive written 2 transpilers
did cedmod contain a lot of prefixes
Crazy
soo 
where a transpiler wouldve done
it still does
i've wrote 49 probably
c*dmod
zero r u done calling me stupid
yes...
good
until tommorow
I just dont bother with it, I never have a discord for my servers
honestly role sync thats it
but it breaks shit sometimes
yeah thats the only feature
it has a bunch of other stuff but i dont care about that
It helps competitive SL players keep track of how shit each other are
and it has an anticheat for some rudimentary hacks (based)
.
Awesome
He probably had to buy midnight to test it lel
i wonder how this works
does cedmod have any signatures?
I dont pay attention so i dont know
Oh okay
its hidden like exiled
like invisinble track?
to have them detect ur server as cedmod yeah
assuming thats what they actually do but
its probably the easiest
thats not exiled!!!!
And your not eve!!!
WHAT!
not exiled
but honestly its good enough
i dont think it interacts much with other wrappers
Well there isnt much you can add there
Its just floating text
What do you expect?
Everything
That gave me 0 clue what you want
ill just copy and paste the wrapper in my personal exiled version 
Shot in the dark but is the whole priority stuff for event handlers being worked on/looked into for the near future?
Starting to get into territory that would really make use of that to avoid race conditions heh
errrr
i solved this by loading stuff in my own priority
it works for me
idk if thats like universal tho
Potentially but considering the size of the codebase, having to keep track of that would be mentally taxing
Hmmm I could potentially handle that myself yeah
if I unregister event handlers let's say in the middle of the list, it's not gonna screw with the ordering right

uh
uh
idk i dont unregister a lot of my stuff 
sr my beloved
it shouldnt tho
LabAPI.Events.Handlers.PlayerEvents.SearchToyAborted fires when you hold E on an interactable toy and then stop holding E
InteractableToy.OnSearchAborted fires after completing a search, specifically after OnSearched fired
And never when i stop holding E.....
Am i doing something wrong? xd
Looked into LabAPI, I'm just gonna patch the methods that register handlers to also do some sorting based on an attribute like this one yeah
should call same time
hm
Well well well I guess I'm back again
I have a grenade thrown by a player, that then explodes and damages other players
Say I want to modify the amount of damage this specific grenade does, how would I do so?
It doesn't appear that the ExplosionDamageHandler I can get from OnPlayerHurting has relevant information as to the origin of the explosion outside of the ExplosionType, but I could be wrong
The grenade has a AnimationCurve of damage per distance
_damageForDistance or smth i forgot what its called
So uh I just have to modify that before the explosion
you have to change that tho
yep
I was hoping to avoid that but a'ight
Cause I have no fucking clue how to work with AnimationCurves lmao
use it in unity and see how that correlates with the object itself idk....
You could probably edit it and just multiply values
i dont rememeber whats needed
I don't have unity editor
Gross
Jams are defined with a delay value and a stutter value.
The delay appears to approximately correlate to centi-seconds, and defines the delay before the jam effect happens. The stutter value is how many times to replay an exactly 0.13 second section of the word before allowing the word to finish. When the jamming is finished, and the rest of the word is read out, it is read out simultaneously to the next word in the queue.
Eh
I moreso just don't want to learn how to use a whole damn game engine to do one thing
CASSIE docs are what we've been missing our whole lives
are scp-079's pings just not visible to non-scp players?
tried patching Scp079PingAbility.ServerCheckReceiver to always return true as a test but humans just never see it
ah fuck nvm
Scp079PingInstance.IsVisible also checks for SCP
(╯°□°)╯︵ ┻━┻
why though, server already does the checks before sending
Yes
I believe they are send to everyone
But non scps just ignore it
Any chance of that check being removed considering the server already filters?
Maybe
Mayhaps
Make sure to create a new animation curve for that explosion (store it in a static field ideally)
Cuz if you modify the original curve then you're gonna end up in a funny situation
Also it's literally new AnimationCurve(new Keyframe(t, v), new Keyframe(t, v,))
For two curve control points
Iirc time is distance from Grenade mapped to value which is damage
That would be poggers
It also makes it easier so pings don't show to players who have recently had their role modified
But one client event could take of hiding pings on role change
welcome to sl dev
eh, already used to it
kl97t8s
Can't believe C# has a pride logo
How does one change the height of a hint to the lowest possible part of the screen
what
Well if you want to go down
you can just spam \n
Or use line-height
or voffset
noted ty
The server of that emoji
Oh
Exactly
nice
me when you legit are making my plugin unnecessary 😭
(thats plugin too lumi)
how did you do the icon with a plugin? 😭
those are emojis?
I... wouldnt show you that here
Is there a list or the font name for these icons?
Since the one linked by someone doesn't include proper ones (like pc icon, overwatch, ra , staff, etc)
just
Just
Isn't the font LiberationSans?
Yeah I do trial and error too
What if no error
¯_(ツ)_/¯
U have the src!!
Is player attached to the primitive that has a trigger for players is more performant or check every 5/10 sec if the player is in distance
Less transform updates are probably better
Distance check using the player list is probably cheap
Kk
d0orl13
Apparently Vector3.Distance > x had the same performance as sqrt dist > x * x but I refuse to believe that
Maybe because of the - operator 

There is no way that has better formance
It literally has sqrt
Benchmark it
It is possible that there is black magic behind the sqrt
It depends on hardware ig
DAVID
Well of course if you have good cpu it wont matter XD
EVE
hi!
haiii
I meant that modern cpus have dedicated instructions for sqrt operations
I know
david r u good at math
I would say so yea
long.MaxValue = ?
In Roman numerals pls 
You cant go past like 4K no?
Kek
MMMMMMMMMMMMMM
real tbh
how can i clean up blood decals in distance or specify decal?
Not possible
ahm
there are client video settings to automatically remove old decals
and NetworkMessage
DecalCleanupMessage
Yeah that is possible but he asked whether he can clean specific decals
That's real shitty
Well its just a poll of decals
rotating
It was not intended to clean specific decals
It would be possible, of course, to track the positions of all decals through the event on their appearance, but I don't see much point in it, as players may have different settings
Yes, and you can only clear a certain number of decals and in the list everything goes in the order of time of their existence
* time of spawn
Yea
How to get FpcStandardScp._roomSpawnpoint from SCP-3114?
I guess this should work
or try to patch _cachedSpawnpoint
Thx 
why patch
you can just teleport on changed role
also don't forget about ragdolls
It's a crutch

i personally patch this out
and spawn it myself 
Its pizdec
Do you know where RoomRoleSpawnpoint is created? In Scp3114 _roomSpawnpoint is not initialized
idk
it is initialized
by unity
SerializeField means its set in the unity editor

then it is easier to do it through the “OnSpawning” event, as they wrote you above
it allows you to change the SpawnLocation in the event
I decided to patch FpcStandardScp so that I could change spawns for all SCPs via config XD
:3
Oh yes you do
I secretly added hardcoded ban for your SID
Sweet changelog
Thanks for the additions, gonna be able to get rid of patches and hacky stuff
Love the new scale stuff too
it take 2 years
Also question, player stores staying between rounds is a bug right?
i mean
its part of fpc module motor
if (!(this.ReferenceHub.roleManager.CurrentRole is IFpcRole currentRole))
return;
currentRole.FpcModule.Motor.ScaleController.Scale = value;
so i feel like
itd reset
which means i dont need to do that anymore
why dosent CI Keycard work in my remote keycard but every card else works
also gotta love
I FINALLY SEE HOW TO ADD CUSTOM KEYBINDS
is it labapi or pluginapi?
huh
Oh its your stuff
how do i even add custom keybinds 😭

greatest SSSS wrappers
plugin or dep?
its a plugin
k
https://github.com/Misfiy/SecretAPI/blob/master/SecretAPI.Examples/Settings/ExampleKeybindSetting.cs
That doesnt say much
theres this for how to actually create it
like what does it do
I KNOW
I CANT FOR THE LIFE OF ME WRITE STUFF LIKE THAT
u fix!!!
i gotta fix readme at some point
but
love the new keybind stuff
id rather have someone else write it cuz i cant
What did i just wake up to
Now?????
but can someone answer my question too why dosent CI keycard work in my remote keycard?
Uh
CI keycard doesn't derive from the same base as other keycards
for some reason
Okay
the only grievance I have with it is players having to redo their keybinds on every server
:[
who tf choose that even 💀
iirc it's known and will be fixed
SPELLING MISTAKE NOOO
how should i add CI then?
public static bool HasPlayerPermission(Player player, IDoorPermissionRequester requester)
{
DoorPermissionFlags flags = DoorPermissionFlags.None;
if (player.IsBypassEnabled)
return true;
if (player.RoleBase is IDoorPermissionProvider doorPermissionProvider)
flags |= doorPermissionProvider.GetPermissions(requester);
foreach (Item item in player.Items)
if (item is KeycardItem keycardItem)
flags |= keycardItem.Base.GetPermissions(requester);
return requester.PermissionsPolicy.CheckPermissions(flags);
}
err
well
chaos card is a keycard item
is it though
wasn't there a known issue with CI keycard being different
i dont know!
why dosent it work with CI card then
but it looks like a keycard item to me
Check the base
Or
public static bool HasDoorPermission(this Player player, IDoorPermissionRequester requester, DoorPermissionCheck checkFlags = DoorPermissionCheck.Default)
{
if (checkFlags.HasFlag(DoorPermissionCheck.Bypass) && player.IsBypassEnabled)
return true;
if (checkFlags.HasFlag(DoorPermissionCheck.Role) && player.RoleBase is IDoorPermissionProvider roleProvider && requester.PermissionsPolicy.CheckPermissions(roleProvider.GetPermissions(requester)))
return true;
foreach (Item item in player.Items)
{
bool isCurrent = item == player.CurrentItem;
if (!checkFlags.HasFlag(DoorPermissionCheck.CurrentItem) && isCurrent)
continue;
if (!checkFlags.HasFlag(DoorPermissionCheck.InventoryExcludingCurrent) && !isCurrent)
continue;
if (item.Base is IDoorPermissionProvider itemProvider && requester.PermissionsPolicy.CheckPermissions(itemProvider.GetPermissions(requester)))
return true;
}
return false;
}
me when
no door 😠
public static bool HasKeycardPermissionD(Door door, Player player) =>
HasPlayerPermission(player, door.Base);
public static bool HasKeycardPermissionL(LabApi.Features.Wrappers.LockerChamber chamber, Player player) =>
HasPlayerPermission(player, chamber.Base);
public static bool HasKeycardPermissionG(Scp079Generator generator, Player player) =>
HasPlayerPermission(player, generator);
public static bool HasPlayerPermission(Player player, IDoorPermissionRequester requester)
{
DoorPermissionFlags flags = DoorPermissionFlags.None;
if (player.IsBypassEnabled)
return true;
if (player.RoleBase is IDoorPermissionProvider doorPermissionProvider)
flags |= doorPermissionProvider.GetPermissions(requester);
foreach (Item item in player.Items)
if (item is KeycardItem keycardItem)
flags |= keycardItem.Base.GetPermissions(requester);
return requester.PermissionsPolicy.CheckPermissions(flags);
}
Bruh
thats what im trying to do ngl
i wish northowod open source cassie :(
fully
That person want add fully working customCassie with All feature like pitch
Yes
that is me!
I have pitch slightly working, the integration with basegame cassie is still weird
i am doing jam next
This is going on my portfolio 
i yoinked the code one time and with a bit of tweaking it worked in the unity editor
the painful part was getting the phrases set
what does that mean?
from an older version of SL?
Oh does that mean how much percent of the word to wait for?
uh
holy shit
ye
am i a dumbass
i just copied the NineTailedFoxAnnouncer class
np
it is not centiseconds 😭
YIPPPEEE
is there even a working scp proximity chat
yeah for exiled
idk about labapi
excluding private plugins
cuz mine works but is private
Exclude yo
shut up!!
😭
Nuh uh
me when i can make a pr to make it work with labapi, just depends if bolton accepts
I don't think much work tbh
yeah probably not
just make proximity chat yourself
U make it
why does no one make a public one ):
for sell
i dont wanna maintain more stuff
lol
ok
bruh
I used to have like 10 total maintaining + exiled but nah no more
Be the first one then
you tried 😂
like jesus-qc hasnt updated it in like 1 year 😭
eve!!!!
You first
I hate u!!
yeah hes gone
anyways, it shouldnt be hard to port.... i think
if its made in nwapi no
exiled works
but exiled is exiled
yeah
its just kinda weird and broken, ive had issues with it using controller IDs without regard for AudioPlayerApi
I may fix it if I find the time
I do have all the time in the world, its just a matter of me caring enough
I have my cassie plugin to make 
let me buy for 0 usd 🤑
💀 that is like 5000 in my currency
insane
eve moment
-1
sweden man
$499 sure
no i meant $-1
175 435,00 Hungarian Forint
10,8K czech crowns
@teal junco
nope
what did you do?
secret 
it's probably simpler to just recalculate the clip and give it to labapi speaker
or that
that's eve simpler
wait, don't you have to set this on the speaker? Position
or does ReadPosition on the clip work too
time to test it
uh yeah
its multiple playbacks to support multiple speakers, to be specific
yes
ohhhhhh
AudioPlayerApi outputs an AudioClipPlayback object
i use that to mess with the playback
multiple speakers as in separate announcers?
It worked mostly!
speakers as in AudioPlayer (which encapsulates a ControllerId)
so its one single announcer that uses multiple ControllerIds
one for global (non-spatial) and one for spatial (at speakers)
Im not sure exactly how to achieve that so I just used a delegate that checks the referencehub's position
i mean if you're playing the same audio in multiple speakers, you can have one audioplayer and multiple speakers with the same controller id
if that's what you're looking for
audioplayerapi lets you do that to my knowledge
No, I know that
but I have one global controller ID for when you arent in range of a speaker
and one spatial one for speakers
aha
this system works okay, its not ideal and I would rather not but i dunno how else to achieve it
i mean that works
@upper vapor
poggies

((!text.EndsWith("TED", StringComparison.OrdinalIgnoreCase) && !text.EndsWith("DED", StringComparison.OrdinalIgnoreCase)) ? (text.EndsWith("D", StringComparison.OrdinalIgnoreCase) ? suffixPastStandard : (text.EndsWith("ING", StringComparison.OrdinalIgnoreCase) ? suffixContinuous : ((!voiceLine2.apiName.EndsWith("S") && !voiceLine2.apiName.EndsWith("SH") && !voiceLine2.apiName.EndsWith("CH") && !voiceLine2.apiName.EndsWith("X") && !voiceLine2.apiName.EndsWith("Z")) ? suffixPluralStandard : suffixPluralException))) : suffixPastException);```

GUH
please add line breaks
This is decompiled code
WHAT
so it was probably cleaner in its original state
still doesnt make it easier for me 😭
Are you going to ping david about CASSIE post-past-continuous-plural processor?
Yes
or you can chatgpt it
chatgpt "pls make this code clean"
I wont chatGPT it i am a big boy
usually does the job
what decompiler did you use
VS has a decompiler??
okay i'm not suprised now xd
i mean yeah
Dotpeek does smth similiar sometimes
i have never ever seen it create a 201323-case ternary operator
Idk
Sorry what??
this
dramatic exaggeration
maybe i should let chatgpt take care of this one
doesn't visual studio have a refactoring to convert a ternary operator to if-else?

mine was slightly better
I dont forgive you
how about you regex it
But this reminds me of a code I did when I was a young coder in 2022
Is regex faster
compiled, maybe
but it's much more readable
(.+?)(TED|DED|D|ING|S|SH|CH|X|Z)? to extract the word and suffix
then you can switch on the suffix
gotta do this per word
oh true
yea switches
i forgot you could just do that
Wtf
i cant read or use regexes
I am so happy that i dont deal with custom teams other than serpents rn
but i assume it doesnt he same thign
Its more to get the suffix so you can switch it
No, the code you saw is just dogshit LOL
so it extracts the suffix?
two groups, the first expands until possible
second group is the suffix
also i should've put a question mark
This regex is designed to identify and separate a base word from an optional suffix, assuming an ignore-case matching environment. Let's break it down:
-
(and): These create capturing groups. Whatever matches inside these parentheses will be captured and can be referred to later. -
V(.): This matches any character except a newline. -
+: This is a quantifier that means "one or more" of the preceding character. So,.+means "one or more of any character." -
?(after+): This is another quantifier, but when placed after+(or*), it makes the preceding quantifier "lazy" or "non-greedy."- Greedy (
.+): It would try to match as much as it possibly can while still allowing the rest of the regex to match. - Lazy (
.+?): It tries to match as little as possible while still allowing the rest of the regex to match.
In this context,(.+?)will match the shortest possible string of characters until it encounters one of the suffixes in the next group. This is crucial for correctly identifying the base word.
- Greedy (
-
(and)(second set): This creates another capturing group for the suffixes. -
TED|DED|D|ING|S|SH|CH|X|Z: This is a list of alternatives separated by the|(OR) operator. It will match any of these specific sequences of characters.TED: Matches "TED"DED: Matches "DED"D: Matches "D"ING: Matches "ING"S: Matches "S"SH: Matches "SH"CH: Matches "CH"X: Matches "X"Z: Matches "Z"
-
?(after the second group): This quantifier means "zero or one" of the preceding element. In this case, it makes the entire suffix group optional. This means the regex will still match even if none of the specified suffixes are present at the end of the string.
How it works with ignore-case:
With the ignore-case flag enabled, the regex will match the specified suffixes regardless of their casing. For example:
TEDwill matchted,Ted,tEd,teD, etc.Dwill matchd,D.INGwill matching,ING,iNg, etc.
Examples:
Let's see how this regex would parse different strings (with ignore-case):
-
"JUMPING"
(.+?)would lazily match "JUMP"(TED|DED|D|ING|S|SH|CH|X|Z)?would match "ING"- Group 1: "JUMP"
- Group 2: "ING"
-
"BOXES"
(.+?)would lazily match "BOX"(TED|DED|D|ING|S|SH|CH|X|Z)?would match "ES" (asSis matched, the engine moves on, assuming "E" is part of the base word)- Group 1: "BOXE"
- Group 2: "S"
-
"WALKED"
(.+?)would lazily match "WALK"(TED|DED|D|ING|S|SH|CH|X|Z)?would match "ED" (asDis matched)- Group 1: "WALKE"
- Group 2: "D"
-
"TEACH"
(.+?)would lazily match "TEA"(TED|DED|D|ING|S|SH|CH|X|Z)?would match "CH"- Group 1: "TEA"
- Group 2: "CH"
-
"RUN"
(.+?)would match "RUN"(TED|DED|D|ING|S|SH|CH|X|Z)?would match nothing (because none of the suffixes are present).- Group 1: "RUN"
- Group 2:
nullorundefined(depending on the regex engine)
In summary:
This regex aims to split a word into a base part and an optional ending, specifically looking for common English suffixes. The (.+?) (lazy matching) is key to ensuring that the base word is as short as possible before a recognized suffix is found. The ? at the end makes the suffix optional, allowing the regex to match words with or without these endings. The ignore-case flag ensures that the matching is case-insensitive.
thanks gemini
i could improve it to handle e endings but i'm lazy
gippity
gemini
cuz gpt was dumb
regex would probably still be slower than manually doing endswith
so could I just do a function that takes the string and processes it with a few if-else?
okay that would probably kinda suck but thats all I would understand
yeah
maybe make an extension method to check multiple suffixes in one call
what do you mean by this exactly? I just was going to have a function that takes string msg and then iterates the endswith for each possible suffix
ye
if (text.EndsWithAny("ted", "ded"))
make it a static array cuz params is expensive
Oh i see
So uhhhhh I did end up getting it but I'm a little overwhelmed on where to start/what to do
Any tips/advice?
anyone else get issues where the pickup created event doesn't get called when a player drops an item?
or ammo
Well place a gameobject in the scene, click addcomponent and add an animator? thats how I would personally get started on animator curve
but someone already provided a constructor

I won't lie I'm just confused as to how and why they use an animation curve for damage
I''m gonna look into it
time is distance
value is damage
@slate flume
kinda makes sense if Unity doesn't have any other curve class
I don't use unity lol
seems like it doesn't yeah
tbf animation curves would act like any other curves anyway
what are you modifying
I want half damage grenade
If it's really that easy I just make my own curve with half the values
just make sure not to modify the prefab
or you'll modify the damage for every grenade that gets thrown
Yeah lmao
and if you do it over and over again your grenades will do no damage
(funny 14.1 bug we had when porting, jk not funny ripped my hair out figuring that one out)
I'm probably just gonna initialize my own copy on the first throw and apply it to any grenades I need half damage on
That's hilarious
INFINITE DAMAGE
grenades would one shot 10000 hp SCPs from 3 meters away
yep
or make players immortal
Cyn you're my hero you explain so much shit to me
🙏🏼
I just track the grenade serial, and before the damage gets applied I modify the curve on the instance
Hell yeah
that way zero chance of modifying a prefab
I'm using ExplosionSpawned event so I should be able to avoid it too
should do it in spawning
spawned might be too late
spawning exposes ExplosionGrenade Settings {get; set;}
that's what you'll want to modify
I am lol I just said it wrong
👍🏼
Simple code
Also! Is there a way I can create a primitive that only shows for specific players?
Huh
Plus, the keys property returns a copy, you need to set it back
And, you must create a new animation curve
Wdym
The keyframes are structs
Setting their value does nothing
They're not reference types, they're value types
-# Side note, avoid the ForEach method
Why's that
In this scenario you could use LINQ to halve the values, then construct an AnimationCurve
bump 
I haven't so I've just been waiting for other people to mention it
send clean decals message, then send spawn decal messsages for the one you wanted to keep 
But it works
construct a new curve
You've modified the original curve
Yes
So other grenades will also have these settings
OH
I see
Okay
I thought it was something that was made per-instance haha I didn't think it used the same reference
Each Grenade has a reference to the original
Yeah
Copying the curve for each instance would be pretty inefficient
The bane of reference types
Makes sense
I thought I could get around making my own animation curve 😦
That's alright it shouldn't be hard
You're gonna allocate a few bytes once
Yeah it's alright lol
Wait
What
My original code works
????
It doesn't affect regular grenades
🤯
This is all I do
And it only effects the grenades I shot
It doesn't affect regular grenades

I guess I don't have to make my own after all

I'm so cool rn
I'm doing shit that shouldn't even work
But it does!
Yeah that should not work
But it does cause I'm cool and awesome
Throw a Grenade at your foot and see how much it damages
Set your HP to 1000 or something
I'll get a clip real quick
Humans with no armor should take 240 damage
Let me get back on my server lol
Yeah if you modify the original curve you're cooked
I took 300 damage
I was originally at 1000
This is what I get with the 0.01f scaling with my item
oh right yeah that's fine actually

because grenades are instantiated from the prefab
Teehee
so the animation curve is a copy
I'm the goat
since you're not modifying the prefab you're okay
Why, unity, why
tbf that's standard for most engines
I rarely ever am
Hi so fucking awesome, I'm SlejmUr
Hello SlejmUr!
Ugh
Maybe I only thought that cuz I set the animation curve reference myself for subcomponents
Hey it's entirely fair
You just learned unity
I pulled a dumb move and it worked
How long is the dmg curve
It's beginner's luck
If we don't have people to try dumb shit how will we ever innovate
Poloso
I logged the times listed for all the keyframes
huh
So 9 is where you fully stop taking damage
Wierd
9 meter hit radius, cool
It probably does like .2 damage between 5.7-9 but still exists
boom
Perfect sleep? 🥹
this.Sleep(TimeSpan.FromHours(8));
Xd
this reminds me when I played shrek on primitives ages ago
Aren't you a serverhost nerd wow
I dont remember
iirc I did use ffmpeg to extract frames individually
but I don't remember it was over 2 years ago
Lol that's so good
Oofff
iirc this was around when primitives were released
yeah it was bad, I guess the best way to render images rn is with the text toys you have available
I was going to try with broadcasts once but I forgot
since they dont have ratelimit
Hints are possible too but
Uh
Less throughput
2fps videos go wild
oh but rich text can do anything
You could make a funny global tv
plugin development is beautiful
In my mind we had a golden age of plugin development which was really awesome and it was when pint first released the images plugin, iopietro released audioplayer and steven advanced subclasses in the same months, plus lots of cool plugins that were awesome
Exiled's tinybrain sanctum was on its best
it is kind of nostalgic it was beautiful times
*11
the good old days
the broadcast area is like
3 lines high though
no?
doom in sl
I believe it's up to text size

good luck checking the scene file
yep






