#close
1 messages · Page 1 of 1 (latest)
please do not loop all players every tick. That is so very inefficient, especially since all you're doing is setting a certain block, which you dont need the loop to do, you can just make them see it client-sided with https://skripthub.net/docs/?id=2822
also, why are you setting this variable to a number inside quotes instead of just in numbers? You can also just set the variable to a blockdata, which negates the need for your numerous if statements; make player see block at {_blocksHere::*} as {gens::%player's UUID%}
just call that effect when you need to, dont loop
delete it
nothing
just use the effect i sent in the function
ofc thats not going to work.
- The variable has to be blockdata, you cant make a player see a block as text
- the
{_genBlocks::*}list is local, you cant use it like that without defining it within the same structure - maybe remove
block atand trymake player see {blocks::*} as ...
This probably works, although I personally like the location function as its more concise; location(21.5, 127, 2,5 world "void")
You might have to add the .5 to the y-coord too
notice how in the function definition b is still a string or text?
yes. thats the issue
string and text are the same, but text is not interchangeable with blockdata
you are going to use this variable as blockdata, so the value it holds must be of the blockdata type, not a string/text
thats just suggesting using location(x, y, z, world) instead of location at x, y, z, world
looks good, https://tryitands.ee
but also these will be added every time you load the script, you might want to use memory variables or delete the list before adding them
mhmm
notice anything?
theres a typo there
(look at the z-coordinates)
all you did was change b: text to b: string, but as I explained earlier, text and string mean the same thing, and they are both wrong. You want this variable to be of the blockdata type, then you can set it to diamond block or whatever
you are passing in a string
because the parameter is within ", ie "gold ore"
anything inside " is a string/text
you want gold ore, not "gold ore"
.
if you are going to define the list in the function, make it local
otherwise, use memory variables or delete the list on load then add the locations
These were different options, you only needed to pick one method, not combine them all.
such as ```on load:
delete {-whatever::}
add a to {-whatever::}
#then use {-whatever::} in the codeorfunction():
add a to {_whatever::}
make player see {_whatever::*}...```
looks better
you need to use the location function
like you do here
location()
same thing I explained earlier

debug
and you dont need the last 2 lines
Add broadcasts after each condition, if one isnt set that condition isnt passed
Or broadcast inside the function to see if its being called
show me
kay
try broadcasting the variables in the function
only reason this wouldnt work is that this effect requires a literal blocktype, which would just be stupid
this is the only thing I can think of
try changing the line to make {_p} see ... as diamond block to test
looks good
broadcast the list in the function
or maybe you need to loop it and do each block individually
they cant
because they dont exist for the server
i guess you can make it a certain block server side
but then display it as whatever to the player
just make them place block x
then check for breaking of block x
but you can use the same code you have to make them see block x as block y