Skellett - The beast addon!

Addon Skellett - The beast addon! 2.0.10

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

Request: support for the Attribute API. Would require an attribute expression representing each attribute from the Attribute enum, and should let you:
  1. Use the Attributable interface to get AttributeInstances from an entity by attribute type. e.g.
    code_language.skript:
    set {_attackSpeedAttr} to attribute instance "GENERIC_ATTACK_SPEED" of player
    # or
    set {_attackSpeedAttr} to attribute instance attack speed of player
  2. Get various values from that instance using the AttributeInstance API, e.g.:
    code_language.skript:
    set {_baseAttackSpeed} to base attribute value of {_attackSpeedAttr}
    set {_defaultAttackSpeed} to default attribute value of {_attackSpeedAttr}
    set {_finalAttackSpeed} to [final] attribute value of {_attackSpeedAttr} # final could be optional
I'd love this so much. Also, if there are any NMS methods to get or set the current charge of a player's attack indicator bar, that'd be sweet too. Cheers!
 
Request: support for the Attribute API. Would require an attribute expression representing each attribute from the Attribute enum, and should let you:
  1. Use the Attributable interface to get AttributeInstances from an entity by attribute type. e.g.
    code_language.skript:
    set {_attackSpeedAttr} to attribute instance "GENERIC_ATTACK_SPEED" of player
    # or
    set {_attackSpeedAttr} to attribute instance attack speed of player
  2. Get various values from that instance using the AttributeInstance API, e.g.:
    code_language.skript:
    set {_baseAttackSpeed} to base attribute value of {_attackSpeedAttr}
    set {_defaultAttackSpeed} to default attribute value of {_attackSpeedAttr}
    set {_finalAttackSpeed} to [final] attribute value of {_attackSpeedAttr} # final could be optional
I'd love this so much. Also, if there are any NMS methods to get or set the current charge of a player's attack indicator bar, that'd be sweet too. Cheers!
It's been on my todo list for like half a year. It's a big project to do, but i'm 80% sure an addon just released an update with support for it.

I will push it's priority higher.
 
Cheers. I think you may be thinking of this update from TuSKe which lets you check damage event modifiers, which is useful and seems similar but is not actually the same thing.
 
  • Like
Reactions: LimeGlass
Is it possible to make an event
Judge the observer or other players out of the border
 
Are you able to add "on fishing state of caught fish:" to check if the player actually caught something, currently using "on fishing" it's just when you throw the fishing rod. There is no library which has this function, RandomSK had it once, but that's not being worked on anymore.
 
Are you able to add "on fishing state of caught fish:" to check if the player actually caught something, currently using "on fishing" it's just when you throw the fishing rod. There is no library which has this function, RandomSK had it once, but that's not being worked on anymore.
Skellett has the fishing state expression which get the current fishing state on the fishing event, with that you can do:
code_language.skript:
on fishing:
    if fishing state is "CAUGHT_FISH":
       #stuff...
it also has the caught entity, the hook and fishing xp expression.

And RandomSK works fine if you apply the SpecialSource fix to it.
 
@LimeGlass

This bug persist:

code_language.skript:
    set {_result} to mysql result of query "SELECT * From stats.relacionJugadores WHERE Nombre = '%player%'"
    set {avictorias-%player%::*} to mysql string "Victorias" in {_result}
    set {aderrotas-%player%::*} to mysql string "Derrotas" in {_result}
    set {adinero-%player%::*} to mysql string "Dinero" in {_result}
    set {achips-%player%::*} to mysql string "Chips" in {_result}
    set {amejoresCartas-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {aApMaxGanDinero-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {aApMaxGanTokens-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {aApMaxGanChips-%player%::*} to mysql string "ApMaxGanChips" in {_result}
    message "%{avictorias-%player%::1}%" to the console
    message "%{aderrotas-%player%::1}%" to the console
    message "%{adinero-%player%::1}%" to the console
    message "%{achips-%player%::1}%" to the console
    message "%{amejoresCartas-%player%::1}%" to the console
    message "%{aApMaxGanDinero-%player%::1}%" to the console
    message "%{aApMaxGanTokens-%player%::1}%" to the console
    message "%{aApMaxGanChips-%player%::1}%" to the console

4d7f31a9e5fb43af8ded66d2d25ed9de.png

[doublepost=1488420923,1488417112][/doublepost]This way neither

code_language.skript:
    # Codigo temporal para carga de variables
    set {_result} to mysql result of query "SELECT Victorias From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "Victorias" in {_result}
    set {_result} to mysql result of query "SELECT Derrotas From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "Derrotas" in {_result}
    set {_result} to mysql result of query "SELECT Dinero From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "Dinero" in {_result}
    set {_result} to mysql result of query "SELECT Chips From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "Chips" in {_result}
    set {_result} to mysql result of query "SELECT MejoresCartas From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanDinero From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanTokens From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanChips From Stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DATA-%player%::*} to mysql string "ApMaxGanChips" in {_result}
    
    message "=========" to the console
    message "%{DATA-%player%::1}%" to the console
    message "%{DATA-%player%::2}%" to the console
    message "%{DATA-%player%::3}%" to the console
    message "%{DATA-%player%::4}%" to the console
    message "%{DATA-%player%::5}%" to the console
    message "%{DATA-%player%::6}%" to the console
    message "%{DATA-%player%::7}%" to the console
    message "%{DATA-%player%::8}%" to the console
 
@LimeGlass

This bug persist:

code_language.skript:
    set {_result} to mysql result of query "SELECT * From stats.relacionJugadores WHERE Nombre = '%player%'"
    set {avictorias-%player%::*} to mysql string "Victorias" in {_result}
    set {aderrotas-%player%::*} to mysql string "Derrotas" in {_result}
    set {adinero-%player%::*} to mysql string "Dinero" in {_result}
    set {achips-%player%::*} to mysql string "Chips" in {_result}
    set {amejoresCartas-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {aApMaxGanDinero-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {aApMaxGanTokens-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {aApMaxGanChips-%player%::*} to mysql string "ApMaxGanChips" in {_result}
    message "%{avictorias-%player%::1}%" to the console
    message "%{aderrotas-%player%::1}%" to the console
    message "%{adinero-%player%::1}%" to the console
    message "%{achips-%player%::1}%" to the console
    message "%{amejoresCartas-%player%::1}%" to the console
    message "%{aApMaxGanDinero-%player%::1}%" to the console
    message "%{aApMaxGanTokens-%player%::1}%" to the console
    message "%{aApMaxGanChips-%player%::1}%" to the console

4d7f31a9e5fb43af8ded66d2d25ed9de.png

[doublepost=1488420923,1488417112][/doublepost]This way neither

code_language.skript:
    # Codigo temporal para carga de variables
    set {_result} to mysql result of query "SELECT Victorias From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "Victorias" in {_result}
    set {_result} to mysql result of query "SELECT Derrotas From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "Derrotas" in {_result}
    set {_result} to mysql result of query "SELECT Dinero From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "Dinero" in {_result}
    set {_result} to mysql result of query "SELECT Chips From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "Chips" in {_result}
    set {_result} to mysql result of query "SELECT MejoresCartas From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanDinero From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanTokens From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanChips From Stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "ApMaxGanChips" in {_result}
   
    message "=========" to the console
    message "%{DATA-%player%::1}%" to the console
    message "%{DATA-%player%::2}%" to the console
    message "%{DATA-%player%::3}%" to the console
    message "%{DATA-%player%::4}%" to the console
    message "%{DATA-%player%::5}%" to the console
    message "%{DATA-%player%::6}%" to the console
    message "%{DATA-%player%::7}%" to the console
    message "%{DATA-%player%::8}%" to the console
I've had this problem before, but I've been using the second sections of your code
Ceaseless
set {_result} to mysql result of query
 
I've had this problem before, but I've been using the second sections of your code
Not work for me...

I am using right now:
I marked it as temporal code, just for continue my proyect, Would be nice if @LimeGlass fix this bug

code_language.skript:
    # Codigo temporal para carga de variables
    set {_result} to mysql result of query "SELECT Victorias From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {avictorias-%player%::*} to mysql string "Victorias" in {_result}
    set {_result} to mysql result of query "SELECT Derrotas From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {aderrotas-%player%::*} to mysql string "Derrotas" in {_result}
    set {_result} to mysql result of query "SELECT Dinero From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {adinero-%player%::*} to mysql string "Dinero" in {_result}
    set {_result} to mysql result of query "SELECT Chips From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {achips-%player%::*} to mysql string "Chips" in {_result}
    set {_result} to mysql result of query "SELECT MejoresCartas From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {amejoresCartas-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanDinero From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {aApMaxGanDinero-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanTokens From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {aApMaxGanTokens-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {_result} to mysql result of query "SELECT ApMaxGanChips From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {aApMaxGanChips-%player%::*} to mysql string "ApMaxGanChips" in {_result}
    
    set {victorias-%player%} to "%{avictorias-%player%::1}%"
    set {derrotas-%player%} to "%{aderrotas-%player%::1}%"
    set {dinero-%player%} to "%{adinero-%player%::1}%"
    set {chips-%player%} to "%{achips-%player%::1}%"
    set {mejoresCartas-%player%} to "%{amejoresCartas-%player%::1}%"
    set {ApMaxGanDinero-%player%} to "%{aApMaxGanDinero-%player%::1}%"
    set {ApMaxGanTokens-%player%} to "%{aApMaxGanTokens-%player%::1}%"
    set {ApMaxGanChips-%player%} to "%{aApMaxGanChips-%player%::1}%"
 
LimeGlass updated Skellett - The addon with a beast name with a new update entry:

Bug fixes and block durability

Added:
- Block durability
- Readded the string option for bungeecord UUID

Fixed:
- Some null pointers
- Bug fixes

Syntax:
code_language.skript:
#Changers: set, add and remove (Number)
#Info: This was a test to see how minecraft handles block hardness/durability.
#This expression applys to all blocks of it's type. Not just one.
#When setting this, say you set the value to like 5.5 or something.
#The block won't break until the durability of the block has reached 5.5. This will...

Read the rest of this update entry...
 
I have updated to the latest skellett version today (my server is on 1.10).
And now there are these errors coming up in the console:
https://www.hastebin.com/nuxuyeyela.scala
Did you change something in the syntax? All these things are working in the older skellett version.
 
@LimeGlass

I got it working but with different sections.
I do not know if I can use this:
At least is not working for me.
code_language.skript:
    #Consultamos la DATA del jugador 
    set {_result} to mysql result of query "SELECT * From stats.relacionJugadores WHERE Nombre = '%player%'"
    set {DATA-%player%::*} to mysql string "Victorias" in {_result}
    set {DATA-%player%::*} to mysql string "Derrotas" in {_result}
    set {DATA-%player%::*} to mysql string "Dinero" in {_result}
    set {DATA-%player%::*} to mysql string "Chips" in {_result}
    set {DATA-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {DATA-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {DATA-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {DATA-%player%::*} to mysql string "ApMaxGanChips" in {_result}
      
    set {tiempoTurno-%player%} to 0
    set {mejoresCartas-%player%} to "ninguna"
    set {ApMaxGanDinero-%player%} to 0
    set {ApMaxGanTokens-%player%} to 0
    set {ApMaxGanChips-%player%} to 0
  
    set {victorias-%player%} to "%{DATA-%player%::1}%"
    set {derrotas-%player%} to "%{DATA-%player%::2}%"
    set {dinero-%player%} to "%{DATA-%player%::3}%"
    set {chips-%player%} to "%{DATA-%player%::4}%"
    set {mejoresCartas-%player%} to "%{DATA-%player%::5}%"
    set {ApMaxGanDinero-%player%} to "%{DATA-%player%::6}%"
    set {ApMaxGanTokens-%player%} to "%{DATA-%player%::7}%"
    set {ApMaxGanChips-%player%} to "%{DATA-%player%::8}%"
  
    message "%{victorias-%player%}%" to the console
    message "%{derrotas-%player%}%" to the console
    message "%{dinero-%player%}%" to the console
    message "%{chips-%player%}%" to the console
    message "%{mejoresCartas-%player%}%" to the console
    message "%{ApMaxGanDinero-%player%}%" to the console
    message "%{ApMaxGanTokens-%player%}%" to the console
    message "%{ApMaxGanChips-%player%}%" to the console
    message "=========" to the console
    message "%{DATA-%player%::1}%" to the console
    message "%{DATA-%player%::2}%" to the console
    message "%{DATA-%player%::3}%" to the console
    message "%{DATA-%player%::4}%" to the console
    message "%{DATA-%player%::5}%" to the console
    message "%{DATA-%player%::6}%" to the console
    message "%{DATA-%player%::7}%" to the console
    message "%{DATA-%player%::8}%" to the console

ee6cd79ee3f743e2b7113828f188d71a.png


If I use:

code_language.skript:
    #Consultamos la DATA del jugador 
    set {_result} to mysql result of query "SELECT * From stats.relacionJugadores WHERE Nombre = '%player%'"
    set {avictorias-%player%::*} to mysql string "Victorias" in {_result}
    set {aderrotas-%player%::*} to mysql string "Derrotas" in {_result}
    set {adinero-%player%::*} to mysql string "Dinero" in {_result}
    set {achips-%player%::*} to mysql string "Chips" in {_result}
    set {amejoresCartas-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {aApMaxGanDinero-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {aApMaxGanTokens-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {aApMaxGanChips-%player%::*} to mysql string "ApMaxGanChips" in {_result}
 
  
    set {victorias-%player%} to "%{avictorias-%player%::1}%"
    set {derrotas-%player%} to "%{aderrotas-%player%::1}%"
    set {dinero-%player%} to "%{adinero-%player%::1}%"
    set {chips-%player%} to "%{achips-%player%::1}%"
    set {mejoresCartas-%player%} to "%{amejoresCartas-%player%::1}%"
    set {ApMaxGanDinero-%player%} to "%{aApMaxGanDinero-%player%::1}%"
    set {ApMaxGanTokens-%player%} to "%{aApMaxGanTokens-%player%::1}%"
    set {ApMaxGanChips-%player%} to "%{aApMaxGanChips-%player%::1}%"
  
    message "%{victorias-%player%}%" to the console
    message "%{derrotas-%player%}%" to the console
    message "%{dinero-%player%}%" to the console
    message "%{chips-%player%}%" to the console
    message "%{mejoresCartas-%player%}%" to the console
    message "%{ApMaxGanDinero-%player%}%" to the console
    message "%{ApMaxGanTokens-%player%}%" to the console
    message "%{ApMaxGanChips-%player%}%" to the console
    message "=========" to the console
    message "%{avictorias-%player%::1}%" to the console
    message "%{aderrotas-%player%::1}%" to the console
    message "%{adinero-%player%::1}%" to the console
    message "%{achips-%player%::1}%" to the console
    message "%{amejoresCartas-%player%::1}%" to the console
    message "%{aApMaxGanDinero-%player%::1}%" to the console
    message "%{aApMaxGanTokens-%player%::1}%" to the console
    message "%{aApMaxGanChips-%player%::1}%" to the console

9c5bc91c51024944b88d033a89fafe00.png


This works nice, at least we can use now one query instead eight, but
do I must to use eight sections? Or can I use one section as the first example, I do not know if this is a bug or a worng coding from my side.

Thanks for fix this.

A more simple version, I can not go more, would be nice if I can use only one section and not eight variables.

code_language.skript:
    #Consultamos la DATA del jugador   
    set {_result} to mysql result of query "SELECT * From stats.relacionJugadores WHERE Nombre = '%player%'" 
    set {DataTemp-%player%::*} to mysql string "Victorias" in {_result}
    set {victorias-%player%} to "%{DataTemp-%player%::1}%"   
    set {DataTemp-%player%::*} to mysql string "Derrotas" in {_result}
    set {derrotas-%player%} to "%{DataTemp-%player%::1}%"
    set {DataTemp-%player%::*} to mysql string "Dinero" in {_result}
    set {dinero-%player%} to "%{DataTemp-%player%::1}%"
    set {DataTemp-%player%::*} to mysql string "Chips" in {_result}
    set {chips-%player%} to "%{DataTemp-%player%::1}%"
    set {DataTemp-%player%::*} to mysql string "MejoresCartas" in {_result}
    set {mejoresCartas-%player%} to "%{DataTemp-%player%::1}%"
    set {DataTemp-%player%::*} to mysql string "ApMaxGanDinero" in {_result}
    set {ApMaxGanDinero-%player%} to "%{DataTemp-%player%::1}%"
    set {DataTemp-%player%::*} to mysql string "ApMaxGanTokens" in {_result}
    set {ApMaxGanTokens-%player%} to "%{DataTemp-%player%::1}%"
    set {DataTemp-%player%::*} to mysql string "ApMaxGanChips" in {_result}
    set {ApMaxGanChips-%player%} to "%{DataTemp-%player%::1}%"
   
    
    message "=========" to the console
    message "%{victorias-%player%}%" to the console
    message "%{derrotas-%player%}%" to the console
    message "%{dinero-%player%}%" to the console
    message "%{chips-%player%}%" to the console
    message "%{mejoresCartas-%player%}%" to the console
    message "%{ApMaxGanDinero-%player%}%" to the console
    message "%{ApMaxGanTokens-%player%}%" to the console
    message "%{ApMaxGanChips-%player%}%" to the console
    message "=========" to the console
 
Last edited by a moderator:
I have updated to the latest skellett version today (my server is on 1.10).
And now there are these errors coming up in the console:
https://www.hastebin.com/nuxuyeyela.scala
Did you change something in the syntax? All these things are working in the older skellett version.
The item size was changed to
Syntax:
code_language.skript:
[skellett] (size|number|amount) of item[[ ]stack] %itemstack%
Example:
code_language.skript:
skellett size of item {_item}
This was to prevent conflicts

And the disguise system was recoded a few updates ago

code_language.skript:
command /disg:
    trigger:
        set {_d} to new disguise with type ZOMBIE
        set disguise of player to {_d}
You can check the docs for info on it.
Basically you need to create a disguise then set the disguise of an entity to that variable
http://skunity.com/search?search=disguise#

@Martini002 I think I just need to add a queue option to the connection. It's been on my todo list to add multiple returns.
 
And the disguise system was recoded a few updates ago

code_language.skript:
command /disg:
    trigger:
        set {_d} to new disguise with type ZOMBIE
        set disguise of player to {_d}
You can check the docs for info on it.
Basically you need to create a disguise then set the disguise of an entity to that variable
http://skunity.com/search?search=disguise#

Thanks, but something still does not work.
I get this error:
There's no player in a function event

But I am passing the playerobject variable to my function.

Part of the script:
https://www.hastebin.com/uxalediyic.sql
(error is on line 36)


----


and another question:

how would I get the id of a despawned citizen?

on citizen despawn:
....
 
Last edited by a moderator:
Thanks, but something still does not work.
I get this error:
There's no player in a function event

But I am passing the playerobject variable to my function.

Part of the script:
https://www.hastebin.com/uxalediyic.sql
(error is on line 36)
The disguise type has to be in a string. Sorry about that xD Forgot to tell you that
code_language.skript:
set {_disguise} to new disguise with type "PIG ZOMBIE"
This was because it was causing some conflicts
 
LimeGlass updated Skellett - The addon with a beast name with a new update entry:

Packets!

Added:
- Full packet support with every packet the client recieves and sends

Fixed:
- Some bug fixes

Info:
Basically packets are like a channel between the minecraft client and the minecraft server. These packets are what allow minecraft to function and communicate. With Skellett you can now intercept and manipulate these packets. Along with cancelling them. Skellett packets require no external dependency and include every single packet the client sends and recieves....

Read the rest of this update entry...
 
LimeGlass updated Skellett - The addon with a beast name with a new update entry:

Quick edit

Added event-player event value to Packets

Code:
on packet:
    if event-string is "PacketPlayInSettings":
        broadcast "%event-player%"
        set {_this} to packet field "a"
        broadcast "Language: %{_this}%"
        set {_this} to packet field "b"
        broadcast "View distance: %{_this}%"
        set {_this} to packet field "c"
        broadcast "Chat setting: %{_this}%"
        set {_this} to packet field "f"
        broadcast "Lefty or Righty: %{_this}%"

Read the rest of this update entry...
 
  • Like
Reactions: Lego_freak1999
Every few days I see that this addon gets an update and some really cool new features. I would love to use it but I can't because whenever I load it onto my server every script breaks and won't reload. This may have been brought up before but I can't find any thread related to this issue. I posted a pastebin below of my local server startup.

http://pastebin.com/dYCBffhA

Thank you, any help would be appreciated!
 
@LimeGlass :

Getting an NPC's location is causing a null pointer exception for me:


code_language.skript:
create a citizen named "BLUE" at location of player as a villager
set {_npc} to last created citizen id
set {_loc} to the location of npc "%{_npc}%"
broadcast "%{_loc}%"

Error:
https://www.hastebin.com/vuxofuhica.vbs

Maybe you can give a simple example on how to successfully spawn an npc and getting its location.
I find the documentation on skunity for skellett is not accurate.

Is it possible that skellett's citizen effects & expression are not working correctly together with skRayfall's citizen stuff?
I need to mix them, because some effects are currently only implemented in skRayFall.

Basically what I am trying to achieve is: spawning 2 NPCs, make them attack each other and store some stuff in variables, like their locations, their IDs etc. for later use.

Another example that will cause Null Pointer Exception (mixing skRayFall + Skellett Citizen Features):

code_language.skript:
        create a citizen named "Steve" at location of player
        set {_id} to last created citizen id
        set {_test} to "%{_id}%" parsed as number
        set {_loc} to location of npc {_test}
        make citizen {_test} say "HI! %{_loc}%" to player
https://www.hastebin.com/boxicudage.vbs



And this throws errors:
set {_disguise} to new disguise with type "PIG ZOMBIE"
this works (but not in functions):
set {_disguise} to new disguise with type PIG ZOMBIE
 
Last edited by a moderator: