[BUG] Entity fields spam
-
When you make calls to entity fields in a short period of time it crashes.
chai code to reproduce:
(go to Search & Destroy and spam the plant bomb button for example, the same happen onPlayerDamage that gets called a lot of times per second while shooting)def onPlayerConnected(args) { var player = args[0]; player.onNotify("use_hold", fun[player](args) { player.iprintln("planting..."); var origin = player.get("origin"); // make a field call and spam de F button }); } level.onNotify("connected", onPlayerConnected);if you can take a look at field implementation stability

-
xensik said in [BUG] Entity fields spam:
use_hold
It's simple, Notify ("use_hold") in GSC scripts is inside the loop, it is not surprising that it will spam... [That not bug, may be]
OnPlayerDamage it probably handles not only player damage..., but what about using OnNotify to handle damage?
-
??????? im talking about calling entity fields in a short period of time. dont have nothing to be with use_hold or playerDamage, u can crash then in other many ways, this was just an example.
-
I probably did not understand the question. Sorry, but this is strange that the server shuts down when multiple get/set to fields.
then it turns out that this is a bug/error -
-
yes, but using the field shouldnt crash
-
I'm investigating this. I can't really tell if we did something wrong, or if it's chaiscript being gay.
-
there is still a problem with reading Fields (it can return 0 / write an error to the console / return the normal value), there is also a problem with set Field (on screen shows the console with the angle)
I just wanted to write a simple MapEdit =(// it's just an attempt to rewrite code with MW2 def createRamp(top, bottom) { var distance = gsc.distance(top, bottom); var blocks = (int)(distance / 30) + 1; var A = [(top[0] - bottom[0]) / blocks, (top[1] - bottom[1]) / blocks, (top[2] - bottom[2]) / blocks]; var temp = gsc.vectorToAngles([top[0] - bottom[0], top[1] - bottom[1], top[2] - bottom[2]]); var BA = [temp[2], temp[1] + 90, temp[0]]; for (var b = 0; b <= blocks; ++b) { print(BA); var crate = gsc.spawn("script_model", [bottom[0] + A[0] * b, bottom[1] + A[1] * b, bottom[2] + A[2] * b]); crate.set("angles", BA); //crate.set("angles", BA); crate.setModel("com_plasticcase_trap_friendly"); } }
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login