Giter Site home page Giter Site logo

denizenscript / denizen Goto Github PK

View Code? Open in Web Editor NEW
191.0 17.0 100.0 46.73 MB

NPC and general Spigot scripting, using the Denizen Scripting Language!

Home Page: https://denizenscript.com/

License: MIT License

Java 100.00%
denizen java bukkit citizens npc

denizen's People

Contributors

acikek avatar anthonyamc avatar aufdemrand avatar blackcoyote avatar blankiito avatar bloodeko avatar breadcrumbistaken avatar cdelashmutt avatar davidcernat avatar dmarby avatar dr-bix avatar fortifier42 avatar fullwall avatar heypr avatar hydroxycobalamin avatar jeebiss avatar jrbudda avatar linx04 avatar mcmonkey4eva avatar mergu avatar morphan1 avatar musicscore avatar mwthorn avatar ph4i1ur3 avatar rickyling97 avatar spaceemotion avatar tal5 avatar talamar1 avatar tenowg avatar xenmai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

denizen's Issues

Suggestions

Congratulation on an amazing plugin.

After writing an absolute behemoth of a first Denizen NPC (87 scripts), I and found a few thing for future development.

The IF Command is good but it needs to eb expanded to include other requirement checks other that flagged. I would have though most of the requirement checks that you have on and interactive script would work on an IF statement.

This would effectively allow you to place the same requirements on a task script like an interactive script has. Currently I am having to do 53 Group check combinations on my npc as proximity triggers with requirement to set flags. This is very slow and cumbersome to write. Having a group or permission check on an if statement would have eliminated all of the proximity checks.

This one is probably a long shot but considering the nature a lot of the npc's being written it might be worth looking at. Integration with mcmmo. The ability to look at stats would be a real bonus. I know you can change stats with using the EXECUTE command but to be able to interrogate them would be great.

Great work so far. Keep it up.

Leaving out NAME: on kill listeners causes error, as opposed to adding all kill of that TYPE:

A couple of builds ago you added this feature and it doesn't work. It says your missing an arg if you leave it out.

After a little researching, i think I found the issue.

https://github.com/aufdemrand/Denizen/blob/f1d31c2ff17940d9086182bcdfc58fe9599852a3/src/main/java/net/aufdemrand/denizen/commands/core/ListenCommand.java#L123

On line 123, you still check that the NAME: arg exists, and if it doesn't you throw the error. I could be wrong, as Im still rather new to all this programming stuff. Either way it'd be nice to see this function working.

NPE on SPAWN

Build, last "USE THIS BUILD" on jenkins

21.06 05:48:31 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
21.06 05:48:31 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
21.06 05:48:31 [Server] INFO at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:533)
21.06 05:48:31 [Server] INFO at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:126)
21.06 05:48:31 [Server] INFO at net.aufdemrand.denizen.Denizen$1.run(Denizen.java:364)
21.06 05:48:31 [Server] INFO at net.aufdemrand.denizen.ScriptEngine.commandQue(ScriptEngine.java:41)
21.06 05:48:31 [Server] INFO at net.aufdemrand.denizen.CommandExecuter.execute(CommandExecuter.java:94)
21.06 05:48:31 [Server] INFO at net.aufdemrand.denizen.utilities.GetWorld.spawnMob(GetWorld.java:147)
21.06 05:48:31 [Server] INFO java.lang.NullPointerException
21.06 05:48:31 [Server] WARNING Task of 'Denizen' generated an exception

running this script:

'Spawn Zombies':
  Type: Task
  Script:
  - NARRATE Rise From Your Graves!
  - SPAWN ZOMBIE 5 zombiespawn
'Graveyard':
  Type: Trigger
  Requirements:
    Mode: NONE
  Steps:
    '1':
      Click Trigger:
        Script:
        - CHAT Goto the graveyard and search the graves.
        - PLAYERTASK LOCATION zombiespawn 5 10 Spawn Zombies
        - NARRATE Quickly now, goto the Mosolium.

Bookmarks:
Zombie:
Bookmarks:
Location:
- zombiespawn reg_world;111.30860694352194;78.0;305.5280459230894;-92.288025;27.599768
- mosolium reg_world;101.39364767301711;77.0;318.66857737011827;-84.94592;25.949724

Everything works good till it get to the SPAWN command and I get the NPE.

Chat Trigger?

Hey my Script dosent works.. But it does if i dont use the Chat trigger. Here the Error in debug mode :

2012-09-03 17:44:58 [INFO] goraxer issued server command: /denizen debug
2012-09-03 17:44:59 [INFO] �[35;1m+- Getting interact script: Aron/goraxer -+�[m
2012-09-03 17:44:59 [INFO] �[35;1m| �[31;1mERROR! �[37;1mNo requirements found! This script may be named incorrectly, or simply doesn't exist!�[m
2012-09-03 17:44:59 [INFO] �[35;1m| �[37;1m'10 Aron1' does not meet requirements.�[m
2012-09-03 17:44:59 [INFO] �[35;1m|�[m
2012-09-03 17:44:59 [INFO] �[35;1m| �[31;1mERROR! �[37;1mCould not find any scripts assigned!�[m
2012-09-03 17:44:59 [INFO] �[35;1m+---------------------+�[m

Assignments: http://pastebin.com/aGDrPACn
Script: http://pastebin.com/1c0pctj1

Denizen-Builder project: Use String value of FLAG in script?

Well, I see from the wiki that I am not the only person working on a Denizen builder script! I am really excited to see what others come up with, but for now I have run into a many-if-scripts situation that can hopefully be simplified.

As you know, the builder needs the command "builder load STRING". As I have it now, there is a chat trigger for each schematic in my library that will assign a FLAG "Builder:SCHEMATIC". Then, once the player gives the command to commence construction, there is an IF for each schematic in my library. This is going to get huge as my library grows, and require maintenance each time a new schematic is added!

Is there a way to:
-Use the stringvalue of a flag in a command? IE "builder load [FLAG Builder]"
-Capture a chat string and assign it to a flag value?

Also, is there a FOLLOW command? I tried MOVETO PLAYER but it is a single-instance move. I have created a work-around by adding the sentry trait and setting guard player, then removing the sentry trait when the player says they have arrived at the spot.

Why won't this script work?

'quest_miner_scrooge_1':
Type: Interact
Requirements:
Mode: None
Steps:
'1':
Click Trigger:
Script:
- CHAT "There is nothing like breaking trough into a cave and see the shimmering of diamonds reflecting the light of your torch."
- CHAT "When I was 12 years old I found a gold nugget, that is how I got into the mining business!"
- CHAT "Could you help an old man with his dream?"

assignments.yml :

'&6Miner_Scrooge':
Interact Scripts:
- 10 quest_miner_scrooge_1

It just doesn't work :( When I right click the NPC it just says 'I have nothing else for you right now.'

CustomCommands

A way for developers to hook int a comand ;)
like an event that will be send to bukkit prividing a command name ;) denizen etc ;)

custom display name color for npcs

i was searching for some neat plugins to test out and i saw a plugin that was changed the displayname of players. well, i already have known that this is possible and i thought "why not having quest npcs having a different name color (like gold) as the displayname?".
i think having sth like this in the options would be really awsome!

[SUGGESTION] Ernio's ideas

So... Since Denizens are in development I would like to propose my ideas.
I would like to see some of those scripts:

  • KILLPLAYER [number] [nick]
    -This would work like Requirement - you must kill typed player as much as you set in [number].
    It would be great if you could set this not like killing him generally in your whole gaming, but from the moment you got this requirement and maybe a message when you complete killing them :D
  • KILLGROUP [number] [groupname]
    -This would work like Requirement - you must kill typed group as much as you set in [number].
    Group would be defined by Permission systems (such as PermissionsEx).
    It would be great if you could set this not like killing them generally in your whole gaming, but from the moment you got this requirement and maybe a message when you complete killing them :D
  • KILLMOB [number] [mobname]
    -This would work like Requirement - you must kill typed mobs as much as you set in [number].
    It would be great if you could set this not like killing them generally in your whole gaming, but from the moment you got this requirement - and maybe a message when you complete killing them :D
  • REPAIRITEM [ID] [cost]
  • This would be scrip that when activated repairs an item, that you must have in inventory, if not - nothing happens.
    For example:
    P - Player N - NPC
    P: Hello.
    N: Welcome in my shop traveler. What do you need?
    P: Take a look at my damaged items!
    N: Which one you would like to repair?
    P: Diamond Chestplate
    (This would activate a script in which command ,,Diamond Chestplate" looks like this):
  • REPAIRITEM 311 500
    311 is Diamond Chestplate, and 500 is a cost (iConomy support)

And finally - hard one (I think).

  • KILLNPC [npcname (or maybe npc ID)] [number]
    Like my other KILL-something tasks, this would need you to kill NPC with given ID :D
    But... To do something like this, you may have to create a whole Health system.
    I know you done it in Sentries so I think it is just matter of your time and desire.

So, I think I made my point here :D
Thanks for reading, and I hope to see these (at least KILLMOB) in next update :D

Suggestion: Colored text

Hey,
I have a suggestion for colored text. In my server I have several NPCs which I give names like '&4Harry', which gives them a red name.

But when I start chatting with them, the chat appears in red. Sometimes. Sometimes it's red, sometimes it just says '&4hi' instead of 'hi' in red.

Also, I can't add color codes to the texts defined in the config file. For example: When I write '&4[NPC]' in the config file, it appears in the chat as '&4[NPC]' instead of '[NPC]' in red.

It's just very ugly that half the text is colored and the other half isn't and also that sometimes the names of NPCs are displayed exactly how they are spelled including color codes.

What do you think of this idea?

NPC are not recognized as Denizens

I tried to install Denizen on my server and I set up some quests in the backend and some npcs in the frontend.
However, when I select npcs via the "/npc select 0" command they are not recognized as Denizens, but they are defined in the "assignments.yml"!
I am always getting the error that the selected NPC is no Denizen. (No console error, only in-game)

I already tried all various combinations with Citizens and Denizen but they all failed.

A search through the wiki also did not help for me, so I think this post is my last chance
I really would like to add some Denizens to my RPG-Server, but somehow its not working for me :(
How can I fix this?

[QUESTION] COLOR

I am not sure, but I tried many times with other or without any plugins:
Does Denizens Support Colored Chat?
I write:

  • CHAT &4What do you want?
    ...and nothing happens (Denizens says to me with this &4 instead to change it to color)
    I've tried to make it in config file like this:
  • npc_chat_to_player: " says to you, '&4'"
    ...But it too does't work.
    If this is not my fault, but the plugin limit:
    Can you add this function? It will be very nice to see it in next update :D

[SUGGESTION]Wolf's Suggestions

Hello, heres a few ideas i've thought up while thinking about Denizens.

The first would be global variables. An easy way to link quests together, each person could be assigned the "fisherQuestSteps" variable. It would start at 0 ( or 1 ) and when you talk to fisherman 1 he will tell you to talk to fisherman 2. When he does this, the global variable is increased to 1 (or 2) and you can talk to fisherman 2 who tells you to go back to fisherman 1 and tell him something. This is just an example, it would provide a lot of extra things.

The second is really an issue i've been having. Say I want it so when the player greets an npc, the npc greets him back. The problem is, i'm simply not interested in making 5000 steps for every type of greeting and having it written for every npc I make. Instead, i'd like to make a custom trigger (perhaps in a seperate .yml?) that will activate if any of those greetings are used. Then on my scripts page I could just say TriggerChat: "GREET":, making my whole life a lot simplier. And it would be re-usable.

The final thing would be randoms, which I suspect was already being considered. Mostly to have an npc have more life by chatting "hi" OR "hello" OR "Hey, how are you".

ZAPing to an undefined step breaks NPC

I accidentally left a ZAP in the last step (step 2) of a script. Afterwards the NPC would not work at all even if I removed him and recreated him, reloaded the server, etc.
Finally found the Current Step line in the saves.yml. It was set to 3, only by deleting this line and reloading was I able to make him work again.

Would it be possible for ZAP only to work if the specified step is defined?

Assignsments

Hey, i cant use /denizen assign 10 Leuchtturm :O Nothing happens

[bug] NPC won't take leaves

I know this is awfully specific... but my NPC won't take my leaves
I tried TAKE LEAVES and TAKE 18 1, but he won't take em.

GIVE works.

Thought maybe it was due to the multiple subtypes, but I tried it with WOOD and give and take both work for that...

Assign scripts with NPCID

In the latest citizens UI there is a setting that lets you set denizen script assignments via the NPC ID. That way you can have multiple NPC's of the same name, that run different scripts.

There are a few NPC's that I have as gatekeepers, and I would like them to all have the same name. But they would be in different locations, and flip different switches (each would run their own script)

When I set the CitizensUI to make assignments by NPC ID I just got an error that said no script was assigned to the NPC, even though it was assigned to the NPC's ID.

Not sure if the ability to assign via ID is actually possible, but if it's not I would love to have the ability!

Thanks!

Could not pass event EntityTargetEvent to Citizens

well i was doing fine but i made a npc that had to tp a player to a bookmarked location. now the npc wont talk to us and our scrips says this.
[SEVERE] Could not pass event EntityTargetEvent to Citizens
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
at net.citizensnpcs.EventListen.onPlayerInteractEntity(EventListen.java:156)
at sun.reflect.GeneratedMethodAccessor345.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:978)
at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:558)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:450)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at net.aufdemrand.denizen.utilities.GetRequirements.check(GetRequirements.java:40)
at net.aufdemrand.denizen.utilities.GetScript.getInteractScript(GetScript.java:105)
at net.aufdemrand.denizen.DenizenCharacter.DenizenClicked(DenizenCharacter.java:30)
at net.aufdemrand.denizen.DenizenCharacter.onRightClick(DenizenCharacter.java:156)
at net.citizensnpcs.EventListen.onEntityTarget(EventListen.java:136)
at sun.reflect.GeneratedMethodAccessor323.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
... 17 more

Chat Trigger Not Working

Hello,

I'm having an issue with a script involving an assassin quest line I'm writing for my server. I've put in a chat trigger for the player to say "Yes" or "Sure" to accept but the NPC just tells the player he doesn't understand as the default response instead of continuing on. I'm also using the CitizensUI to make the scripts. Here is the script:

Hooded_Man Script 1:
Type: Interact
Requirements:
Mode: All
List:
- TIME Night
Steps:
3:
Click Trigger:
Trigger: ""
Script:
- WHISPER "Ahh... I see it is done. Good..."
- WAIT 5
- WHISPER "Here is your reward."
- GIVE GOLD_INGOT 10
- WHISPER "Come back to me tomorrow. I may have some more work for you."
- ^FINISH Hooded_Man Script 1
1:
Click Trigger:
Trigger: ""
Script:
- CHAT "Hey, you. Wanna earn some quick money?"
- ^WAIT 3
2:
Chat Trigger:
1:
Trigger: /Yes/
Script:
- WHISPER "Go into The Jackalope's Antlers and find the basement. Don't let the inn keeper see you."
- WAIT 5
- WHISPER "Once in the basement you'll meet a Dwarven brewer. Kill him. Return to me once you are done."
2:
Trigger: /Sure/
Script:
- ^ENGAGE
- WHISPER "Go into The Jackalope's Antlers and find the basement. Don't let the inn keeper see you."
- WAIT 5
- WHISPER "Once in the basement you'll meet a Dwarven brewer. Kill him. Return to me once you are done."
- ^DISENGAGE

On a further note, is there (or is it possible to add) a NPCdeath trigger that isn't the NPC itself. For instance, "Go and kill X" and once that NPC is dead, you can carry on with the script.

Suggestion to seperate chat/click scripts

Hi, maybe I've overlooked something but a problem I've had is that there's no way to filter out scripts based on whether the player interaction is click or chat.
For example let's say I have 10 NPCs and when the player clicks on one it starts a quest unique to that NPC. So there's some script on each NPC with a no requirements and a click trigger to start the quest.
But let's also say I want all 10 of those NPCs to respond to some basic chat, like 'hello', 'goodbye' etc. It would be very nice to create a chat response script and assign to all 10 NPCs. You can't do that right now because the no-requirement quest script would get 'picked'. You could add a chat trigger to the quest script of course, but you would have to copy/paste that same script code 10 times, and that's sloppy coding.

My suggestion is to add the interaction type (click or chat) as a possible script requirement. That way you could have the quest and chat scripts separate and only get 'picked' when the player is using click or chat, respectively.

Suggestion: Requirements for shopkeeper

Requirement for a script, HASINVENTORYSPACE, would detect is there was space in the players inventory.

HASINVENTORYSPACE #

or a Requirement for the amount of space available in a chest at a bookmark

CHESTINVSPACE [location] #

Also

CHESTHASITEM [location] item

Was thinking this would make it so denizens could be StopKeepers with the right script

something like

Requirements:
  Mode: All
  List:
  - MONEY 36
  - CHESTHASITEM DIRT 1
  - HASINVENTORYSPACE 1

Another request might be a way to set variables in an options statement. So you could do something like this.
Would also request the IF statement and the END or could use what is already there FAIL which would end the script, as well as a CHECKREQ... a runtime check of a requirement.

Chat Trigger:
  Trigger: /buy $/      //would be something that keys to a variable
  Script:
    - IF (CHECKREQ -MONEY %1):      // a % and a number would key to the variable value listed below
      - CHAT Seems you don't have enough money
      - END
    - CHAT here you go
    - TAKE MONEY %1
    - EXECUTE ASSERVER give <PLAYER> $1 // would be key of variable
  Options:
    - apple: 36

If you don't pull your hair out on this one... lol :)

EXECUTE seems to be limited by length of command

I can run a command with
EXECUTE ASSERVER say one two three four

but I cannot run the command
EXECUTE ASSERVER say one two three four 0123456789

It just fail quietly, doesn't run the command, I assume it is because the string is to long

Pause chat option/command

A command that will allow for general chat to be cancelled while a NPC is giving an extra long narrate for example.

could be something like:

 - DISCHAT
 - (a number of chat/narrate commands)
 - WAIT 3 (Pause between narrates so reader can catch up)
 - (again a number of chat/narrate commands)
 - ALLOWCHAT

it is a bad example but you should get the idea.

Scripts fail based entirely on the name of the script

The below script does not work.
----- An Enemy in our Midst -----
'An Enemy in our Midst':
Type: Interact
Requirements:
Mode: All
List:
- -FLAGGED 'AnEnemyInOurMidsts1'
- -FAILED 'AnEnemyInOurMidsts1'
- -FINISHED 'AnEnemyInOurMidsts1'
Steps:
1:
Click Trigger:
Script:
- CHAT "You've been a great help to my city lately. However, I must task you with something new, something far more serious then your previous trivialties."
- CHAT "A dreadlord seems to have infiltrated what was presumably though to be a safe area."
- CHAT "The spottings have been in the hills behind the city, formerlly though protected by this city, the fortress on the other side of the hills, and the mountains on either side."
- CHAT "But that protection seems to have been infiltrated. I need you to find and kill that dreadlord before it can cause serious damage."
- CHAT "So, will you assist me, ?"
Chat Trigger:
1:
Trigger: /Yes/
Script:
- CHAT "Good, I knew I could count on you. Talk to the Mayor in Riverstead to the east. Riverstead was where the last sighting was."
- FLAG 'AnEnemyInOurMidsts1'
2:
Trigger: /No/
Script:
- CHAT "I understand, it's a grand task. If you change your mind though, please come talk to me."
- FAIL 'AnEnemyInOurMidsts1'

---- Assignment ----
Denizens:
King Aeres:
Interact Scripts:
- 10 An Enemy in our Midst
Texts: #These texts will be shown to the player if no matching scripts are found, since Jill has no interact scripts, these will always be shown.
No Click Trigger: I have nothing for you at the moment, .
No Damage Trigger: How dare you! Guards, guards!
No Chat Trigger: I'm sorry, I don't quite understand what you mean.
Denizen Unavailable: Please wait a moment, I am busy.

However, if I change the name to "An Enemy in our Mysts", the script works fine.
After realizing this, I tested several names, and on random occasions, the script will fail solely based on that name change...
I have no reason why this is happening...but it's very frustrating having scripts fail randomly like that.

No requirements found?!

(Sorry for my bad english.)

This is the error in debug mode:

+- Getting interact script: Max/oli414 -+
|ERROR! No requirements found! This script may be named incorrectly, or simply doesn't exist!
|'0 vader met kinderen' does not meet requirements.
|ERROR! Could not find any scripts assigned
+-----------------------------------------------+

This is my assignments and my script:

http://pastie.org/pastes/4730624/text

(Like this?)

Hope u know with this information what's the problem

(This is a script for a dutch server, that's why it is another language)

Oli414

Task finishes in wrong spot.

This is a hard one to explain, so I will do it in order, first here is the scripts:

Tavvarr Stolen Goods:
  Type: Trigger
  Requirements:
    Mode: None
  Steps:
    '1':
      Click Trigger:
        Script:
        - NARRATE So they sent you? Don't look like much.
        - NARRATE What I need from you is to discover who ran
        - NARRATE off with half my inventory last night.
        - NARRATE Yes, thats right, half.
        - WAIT 1
        - NARRATE My guess is, the thief is stashing his loot
        - NARRATE nearby.
        - NARRATE Theres no way in hell he could move that much
        - NARRATE rukkshire vary far from here.
        - WAIT 1
        - NARRATE Please, you have to find my ale.
        - NARRATE Will you do this for me?
      Chat Trigger:
        '1':
          Trigger: /accept/
          Script:
          - NARRATE Great!! Return the items if you find them.
          - NARRATE (Maybe to the north there is a camp)
          - PLAYERTASK LOCATION banditcamp 1 15 Tavvarr go to Bandit Camp
          - FINISH
        '2':
          Trigger: /decline/
          Script:
          - NARRATE Figures, farewell.
Tavvarr Stolen Goods Two:
  Type: Trigger
  Requirements:
    Mode: All
    List:
    - ITEM MELON_BLOCK 10
    - FINISHED Tavvarr Stolen Goods
    - FINISHED Tavvarr go to Bandit Camp
  Steps:
    '1':
      Click Trigger:
        Script:
        - NARRATE Thanks so much for finding my Melons.
        - NARRATE Here take this for helping me.
        - NARRATE Also I will let Rukksharr know how you
        - NARRATE helped me.
        - TAKE MELON_BLOCK 10
        - EXECUTE ASNPC money give <PLAYER> 100
        - EXECUTE ASNPC xp <PLAYER> 10
        - NARRATE (Receive 10 xp, 100 Stacks, advance group)
        - FINISH
Tavvarr Stolen Goods Two Failed:
  Type: Trigger
  Requirements:
    Mode: All
    List:
    - -ITEM MELON_BLOCK 10
    - FINISHED Tavvarr Stolen Goods
  Steps:
    '1':
      Click Trigger:
        Script:
        - NARRATE Please return with the Melons.
Tavvarr Stolen Goods Two Cheat:
  Type: Trigger
  Requirements:
    Mode: All
    List:
    - ITEM MELON_BLOCK 10
    - FINISHED Tavvarr Stolen Goods
    - -FINISHED Tavvarr go to Bandit Camp
  Steps:
    '1':
      Click Trigger:
        Script:
        - NARRATE This is not MY inventory, please
        - NARRATE don't try to give me someone elses goods.
        - NARRATE Go get MY inventory.
Tavvarr go to Bandit Camp:
  Type: Task
  Script:
  - NARRATE You enter the Bandit Camp looking for the
  - NARRATE Melon Blocks for Tavvarr.
  - FINISH

Ok, it starts out ok, you get the first quest, it assigns the task after you accept it... The part that is the problem, if you try to cheat and turn in the melons before you have done the Task, it will work fine the first time, but then if you click him again it will "complete" the task then run the cheat part of the script again, and then if you click him again, it will run the completed script and take the melons.

Let me try to outline it better:

  1. Click to talk to Tavvarr
  2. chat "accept" (it gives the task to goto bandit camp, but you already have 10 melons so you try to complete)
  3. Click and try to complete quest, he says melons are not his, go get his melons
  4. Click again in frustration, It completes "Tavvarr go to Bandit Camp" and again says go get his melons.
  5. Click again, complete the quest "Tavvarr Stolen Goods Two"

So you never had to really goto the bandit camp to complete the quest.

RESET COmmand syntax

For ti to work it need to be without single quotes:

RESET FLAG:YAWNINGPORTAL

this will fail:
RESET 'FLAG:YAWNINGPORTAL'

NPE using CHAT command in a Task

I have a NPC that tells a long story. I put the story into a Task so I could call it from a few different triggers via RUNTASK.
It crashes denizen though.
If I NARRATE each line, it works.
If I CHAT each line, the first line is spoken over and over, while the console throws:

05:41:56 [WARNING] Task of 'Denizen' generated an exception
java.lang.NullPointerException
at net.aufdemrand.denizen.utilities.GetDenizen.talkToPlayer(GetDenizen.java:192)
at net.aufdemrand.denizen.CommandExecuter.execute(CommandExecuter.java:394)
at net.aufdemrand.denizen.ScriptEngine.commandQue(ScriptEngine.java:41)
at net.aufdemrand.denizen.Denizen$1.run(Denizen.java:364)

Guess maybe the Task doesn't have the right reference back to the NPC? what's funny is the 1st line that gets repeated looks perfectly normal.

Problem with Timed Flags

I am setting multiple flags in a script with a delay of 30 seconds

After 30 seconds you see in the console debug that is is resetting one of the flags and not all 3. when you check the saves.yml file all of the flags are still set set

Code Snippet Setting Flags

'Eroobus Rank Apprentice-Smith':
Type: Interact
Requirements:
Mode: All
List:
- GROUP asmith
- MONEY 150
Steps:
1:
Proximity Trigger:
Script:
- CHAT "Hi I am Eroobus and I am you guide to classes"
- CHAT "Right click on me to find out how to change your class"
- FLAG Apprentice DURATION:30
- FLAG Charge DURATION:30
- FLAG ASmith DURATION:30

Debug log when the flags are set
http://pastie.org/4737340

Debug when it resets only one of the flags.
2012-09-17 03:15:54 [INFO] | //DELAYED// Running delayed task: RESET FLAG 'AMINER' for ratava76

From the saves.yml
ratava76:
Flags:
APPRENTICE: 'TRUE'
FREE: 'TRUE'
CHARGE: 'TRUE'
AMINER: 'TRUE'

ENGAGE and DISENGAGE Suggestion/Problem (?)

I have a problem. I installed the start-up kit, began editing it like a maniac but came to a point where the user could spam the NPC - Steve in this case - with the leftclick so in the middle of the conversation, Steve says 'I'm busy at the moment, can't you see?'. I thought ENGAGE and DISENGAGE could solve the interaction problem (the spamming the click), but it didn't. Tried with the Start-Up Kit, didn't change anything (because Steve in the startupkit also contains (DIS)ENGAGE) and still you could spam him with the left mouse. You can mess up the whole story that way.

So if the script was
Click Trigger:
Script:
- ENGAGE
#Engage prevents all interaction with this NPC until DISENGAGE is called.
- CHAT "Hello the Builder! Take this shovel!"
- GIVE WOOD_SPADE
- WAIT 1
- CHAT "If you have any questions, just say 'help'"
- FINISH
#This increments the number of times this script (Joe The Builder) has been completed by this player.
- DISENGAGE
#This sets the NPC Interactable again.

And you'd spam the NPC, you get something like this
Steve says to you, 'Hello Notch the Builder! Take this shovel!'
Steve says to you, 'I'm busy at the moment, can't you see?'
Steve says to you, 'I'm busy at the moment, can't you see?'
Steve says to you, 'I'm busy at the moment, can't you see?'
Steve says to you, 'I'm busy at the moment, can't you see?'
Steve says to you, 'I'm busy at the moment, can't you see?'
Steve says to you, 'If you have any questions, just say 'help''

Is there a way to fix this? Am I doing something totally wrong? Do I miss something in the config? (sure i checked the whole thing.. the scripts/assignments aswell..)

Thanks for your help.

suggestion

Unless I missed something along the way:

- ZAP RANDOM 3 10

would be really nice, got the idea when I wanted to make a Riddler character, gives out random riddles you have to solve. Would be based on PLAYERTASK but I would need to have a way to select a random step to give out the random task.

- ZAP RANDOM 4 10


'6':
    - PLAYERTASK something
    - FINISH

somescript:
    - playertask script
    - RESET firstscript

obviously that is a very rough idea of how the script would work...

Quests dont work

If i assign a Quest to a npc he wont do anything. Example quests doesn't work as well.
Still same error: 2012-06-25 15:18:46 [SEVERE] Could not pass event EntityTargetEvent to Citizens org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.citizensnpcs.EventListen.onPlayerInteractEntity(EventListen.java:156) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:979) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at net.aufdemrand.denizen.utilities.GetRequirements.check(GetRequirements.java:46) at net.aufdemrand.denizen.utilities.GetScript.getInteractScript(GetScript.java:106) at net.aufdemrand.denizen.DenizenCharacter.DenizenClicked(DenizenCharacter.java:33) at net.aufdemrand.denizen.DenizenCharacter.onRightClick(DenizenCharacter.java:241) at net.citizensnpcs.EventListen.onEntityTarget(EventListen.java:136) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ... 18 more

Script: http://pastebin.com/FVdRbfs1

Colors = config trouble

Hi, i read here that denizen uses "§" for colors, but if i typed that to config like that:

player_chat_to_npc: "§7[§e§7]: "
player_chat_to_npc_bystander: "§7[§e§7]: "
npc_chat_to_bystanders: "§7[§e§7]: "
npc_chat_to_player: "§7[§e§7]: "
npc_chat_to_player_bystander: " says to , ''"

That reset config to default and doesnt work... Can you make denizen with Chatter or somethink like that support? I must make colors for my npc's... Or you can help me fix it up? :) Thanks, Adeo

Interactive Scripts and NPC with lookclose (also no chat trigger should = no response)

I am not sure if this is an issue with Denizens or Citizens2, but I figured I would throw it out there in case it was an unknown issue.

2012-05-24 03:33:12 [INFO] [Citizens] Exception while updating 4: Cannot measure distance between reg_world and world.
2012-05-24 03:33:12 [SEVERE] java.lang.IllegalArgumentException: Cannot measure distance between reg_world and world
2012-05-24 03:33:12 [SEVERE] at org.bukkit.Location.distanceSquared(Location.java:381)
2012-05-24 03:33:12 [SEVERE] at net.citizensnpcs.trait.LookClose.hasInvalidTarget(LookClose.java:91)
2012-05-24 03:33:12 [SEVERE] at net.citizensnpcs.trait.LookClose.run(LookClose.java:61)
2012-05-24 03:33:12 [SEVERE] at net.citizensnpcs.api.npc.AbstractNPC.update(AbstractNPC.java:166)
2012-05-24 03:33:12 [SEVERE] at net.citizensnpcs.npc.CitizensNPC.update(CitizensNPC.java:195)
2012-05-24 03:33:12 [SEVERE] at net.citizensnpcs.npc.entity.CitizensHumanNPC.update(CitizensHumanNPC.java:133)
2012-05-24 03:33:12 [SEVERE] at net.citizensnpcs.npc.entity.EntityHumanNPC.F_(EntityHumanNPC.java:52)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.World.entityJoinedWorld(World.java:1262)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:106)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.World.playerJoinedWorld(World.java:1244)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.World.tickEntities(World.java:1151)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:549)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:450)
2012-05-24 03:33:12 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)

In this example, there are two Denizens standing near each other, (NPC1) one has an intereactive script that teleports someone on a key phrase and (NPC2) one doesn't have a chat trigger, but a click trigger to go walk somewhere. This info MIGHT be relivent but I am not sure.

to reproduce this, NPC2 has lookclose set with /npc lookclose, and a player walks up to NPC1 and says "Teleport Main" and gets teleported to main, this part works great, but it seems that NPC2 can't be updated and thus that error. When I turn off lookclose this error doesn't happen.

Also a suggestion - if an NPC doesn't have a chat trigger in his script should he respond to chat from a player? right now he (NPC2) says I have nothing to say to you, or something along those lines. When NPC1s chat trigger is called.

Flagged requirement doenst work

hey,
I tried the Flag command and it works. In the save the flag - boolean command is noted.
If I want to use the Requirement of these Flag, denizen isnt able to see or use that flag. So nothing happends and the script won´t start.

Example:
Flag command:
'1':
Click Trigger:
Script:
- FLAG 'example flag'

Flag requirement:

Requirements:
Mode: ALL
List:
- FLAGGED example flag
Steps:
...

Hope you can help me with this problem.
Phil

[SUGESTION]remembering the text said to NPC

There should be a method to execute command with parameter typed by player in example
1.
Player say to NPC "something"
NPC execute command "/test something"
2.
Player say to NPC "something other"
NPC execute command "/test something other"

and maybe a method to execute as admin command typed by player so:
1.
Player say to NPC "gamemode user 1"
NPC execute command"/gamemode user 1"

Denizen requirement GROUP

Hello,
i want use GROUP requirement with citizen/denizen recommanded and it doesnt work and he provoque java error:
I use Groupmanager and Essentialperm.

2012-07-21 19:34:25 [SEVERE] Could not pass event PlayerMoveEvent to Denizen
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:209)
at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at net.aufdemrand.denizen.utilities.GetScript.getInteractScript(GetScript.java:87)
at net.aufdemrand.denizen.DenizenCharacter.PlayerProximityListener(DenizenCharacter.java:86)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
... 10 more
2012-07-21 19:34:25 [SEVERE] Could not pass event PlayerMoveEvent to Denizen
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:209)
at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at net.aufdemrand.denizen.utilities.GetScript.getInteractScript(GetScript.java:87)
at net.aufdemrand.denizen.DenizenCharacter.PlayerProximityListener(DenizenCharacter.java:86)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
... 10 more
2012-07-21 19:34:25 [SEVERE] Could not pass event PlayerMoveEvent to Denizen
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:209)
at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at net.aufdemrand.denizen.utilities.GetScript.getInteractScript(GetScript.java:87)
at net.aufdemrand.denizen.DenizenCharacter.PlayerProximityListener(DenizenCharacter.java:86)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
... 10 more
2012-07-21 19:34:26 [SEVERE] Could not pass event PlayerMoveEvent to Denizen
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:209)
at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at net.aufdemrand.denizen.utilities.GetScript.getInteractScript(GetScript.java:87)
at net.aufdemrand.denizen.DenizenCharacter.PlayerProximityListener(DenizenCharacter.java:86)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
... 10 more

If can help you.

[SEVERE] Could not pass event PlayerMoveEvent to Denizen

00:23:56 [SEVERE] Could not pass event PlayerMoveEvent to Denizen
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:209)
at net.minecraft.server.Packet10Flying.handle(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.NullPointerException
at net.aufdemrand.denizen.ScriptEngine.checkLocation(ScriptEngine.java:477)
at net.aufdemrand.denizen.DenizenCharacter.PlayerProximityListener(DenizenCharacter.java:133)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
... 10 more

Set a flag via command?

Is it possible to set a flag on someone using a command? Or can only a denizen set flags on players?

NPE

Not sure if you've fixed this one in later builds but this happens on 0.6 build 98. Once it has happened no amount of citizens reloads or denizen reloads will get the denizens working again. Only a server restart :/

[WARNING] Task of 'Denizen' generated an exception
java.lang.NullPointerException
at net.aufdemrand.denizen.CommandExecuter.execute(CommandExecuter.java:145)
at net.aufdemrand.denizen.ScriptEngine.commandQue(ScriptEngine.java:41)
at net.aufdemrand.denizen.Denizen$1.run(Denizen.java:364)
at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:126)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:535)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:461)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)

Kill Mobs

I know there are plugins that can /banish mobs, or remove mobs from a radius around a player, or even an NPC, but I was wondering how hard would, considering you already have bookmark locations and the PLAYERTASK location function, to say, Kill all mobs withing x squares of location bookmark

- REMOVE <MOBS|ANIMALS> <location bm> <radius>
- REMOVE MOBS dungeon_hall_1 5

I have this envisioned of setting up a dungeon for players to run, it would first clear all the mobs in the dungeon, then use SPAWN to replace them accordingly, either with PLAYERTASK (as they reach areas assigned, not sure how this works yet) need to try it out, if I can assign multiple playertasks at a time or not, OR with just SPAWN right after the dungeon was cleared from the NPC.

Another suggestion, if it isn't possible yet, a timeout on Tasks, or even a timeout on a Script... would be nice if it could be made to check if a player is within an area, if not cancel the quest, again not sure if this would be CPU feasible.

Suggestion.

Here is one suggestion what i would like to see in future.

Ability to change player(maybe Npc) who Npc interacting.

Chat Trigger:
'1':
Trigger: I would like you to target /<PLAYER</.
Script:
- CHAT "Will do it!"
- TARGET CPLAYER (C stands for CHAT, because it's said in chat)

Um, yeah. My english isn't best so I hope you understand what I wrote :P

Denizen returning no text when no click trigger is present?

How can I do this?

I'm having my CitiTrader welcome those who come into his shop via a proximity trigger and am then using the basic Citizens text function to speak when players try to interact with him to trade. Yet, because he is a Denizen, even though there is no click trigger in the script he always returns "I have nothing else for you right now" when clicked as well as the "What can I get for ya?" that is setup in the basic Citizens text. How can I change this so he never says anything if there isn't a click trigger? I have already disabled the option in the config.yml but he persists on. Thoughts?

MC

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.