[FUN] Citizens v2.0.11 - Human NPCs for Bukkit [1.7.2]

Discussion in 'Archived: Plugin Releases' started by Citizens, Mar 5, 2011.

  1. Offline

    Citizens

    Citizens - Human NPCs for Bukkit
    Version: 2.0.11
    Authors: @fullwall and @aPunch
    Source: Citizens on GitHub

    Citizens is now on BukkitDev

    This thread will no longer be updated. We encourage you to use our page on BukkitDev. You can find information, links to our wiki and website, and the download page there.

    Showing Your Support

    We work hard to maintain Citizens. We've been working on Citizens2 around the clock on new and exciting features. A little motivation never hurts, so feel free to donate to us - fullwall and aPunch.

    If you can't donate, we appreciate a "hello" every now and then. Stop by the IRC channel #citizens on irc.esper.net to discuss Citizens and give thanks!
     
  2. Offline

    Shooty

    @fullwall @aPunch @Citizens

    Hey guys, since yesterday, i'll try to add quests on my server but i don't understand, i have found some exemple on google but seems don't works:

    Code:
    mariage:
        texts:
            description: <y>-----<g>[<y> Bague de Mariage <g>]<y>-----<br><y>Allez miner, et rammenez moi un diamant !<br><g>Attention, cela doit être miné, les diamants<br><g>rammené comme ça ne marche pas
            completion: Merci bien ! Pour vous remerciez prenez ces melons.
            acceptance: <g>Quête <y>accepté<g>. <y>/<g>quest <y>status
        repeats: 1
        objectives:
            '0':
                '0':
                    type: collect
                    materialid: 264
                    amount: 1
                    take: true
                    message: Quête "Bague de Mariage" terminé
        rewards:
            '0':
                    type: item
                    id: 360
                    amount: 10
                    take: true
    Quest works great, but the man don't take my diamond, and he don't give me ten melon... anyone can help me ?
     
  3. Offline

    Chett

    Same here, 1.1.2 doesnt even run.

    With 1.1.1 my Wizard didnt show locations to port to and Questers stopped also the possibility to "scroll" with left click.
    Will switch back to 1.1.
     
  4. Offline

    59Fiftyhats

    I have a problem when I try to create an Npc. It says "You don't have permission to do this."
     

    Attached Files:

  5. Offline

    59Fiftyhats

    It won't let me spawn/create a NPC. It says "You Don't have permission to do that"
     

    Attached Files:

  6. Offline

    dpcash

    Check and make sure you have the citizens.basic.create permission enabled for yourself.

    Is there a way to setup multiple quest rewards? Ive tried

    rewards:
    '0':
    type: item
    take: false
    id: 355, 50
    amount: 1, 64

    and

    rewards:
    '0':
    type: item
    take: false
    id: 355; 50
    amount: 1; 64

    and neither work. Im trying to setup an FAQ/newbie questline at my spawn point and I cant give them everything I wanted to.
     
  7. Offline

    fullwall

    @dpcash - make another reward with the root node as '1'.
    To all - if getting nosuchmethod error along with ItemInWorldManager when using 1.1.2 or 1.1.1 it's because you're using the wrong Bukkit build. 1.1.2 only supports RB #1240, and 1.1.1 only supports RB #1185.
     
    dpcash likes this.
  8. Offline

    dpcash

    Thanks so much for that, havent seen that posted anywhere and it was driving me crazy
     
  9. Offline

    Shooty

    Can you answer me plz :) Thanks (few post above )
     
  10. Offline

    fullwall

    @Shooty - take: true only works for rewards. Add another reward to take the diamond, and set take: false for your existing reward.
     
  11. Offline

    Shooty

    Ok thanks, and how can i do if i want my 10 "melon" because he don't give me them :(
     
  12. Offline

    Black_Sirrah239

    Citizens told me to report this error, so here it is:
    18:11:20 [SEVERE] java.lang.NoSuchMethodError: net.minecraft.server.ItemInWorldManager.<init>(Lnet/minecraft/server/WorldServer;)V
    18:11:20 [SEVERE] at net.citizensnpcs.resources.npclib.NPCSpawner.spawnNPC(NPCSpawner.java:31)
    18:11:20 [SEVERE] at net.citizensnpcs.resources.npclib.NPCManager.register(NPCManager.java:164)
    18:11:20 [SEVERE] at net.citizensnpcs.resources.npclib.NPCManager.register(NPCManager.java:193)
    18:11:20 [SEVERE] at net.citizensnpcs.commands.BasicCommands.create(BasicCommands.java:226)
    18:11:20 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    18:11:20 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    18:11:20 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    18:11:20 [SEVERE] at java.lang.reflect.Method.invoke(Method.java:597)
    18:11:20 [SEVERE] at net.citizensnpcs.resources.sk89q.CommandsManager.executeMethod(CommandsManager.java:522)
    18:11:20 [SEVERE] at net.citizensnpcs.resources.sk89q.CommandsManager.execute(CommandsManager.java:406)
    18:11:20 [SEVERE] at net.citizensnpcs.Citizens.onCommand(Citizens.java:202)
    18:11:20 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:39)
    18:11:20 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
    18:11:20 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353)
    18:11:20 [SEVERE] at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756)
    18:11:20 [SEVERE] at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721)
    18:11:20 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714)
    18:11:20 [SEVERE] at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    18:11:20 [SEVERE] at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    18:11:20 [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
    18:11:20 [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    18:11:20 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464)
    18:11:20 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
    18:11:20 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    >
     
  13. Offline

    fullwall

    @Shooty - you have take: true in that reward... so he's trying to take 10 melons.
    To all - just noticed that in RB #1240, a Bukkit change has meant that npcs with name conflicts, either with other npcs or players, will be merged by the server. I could revert this change with workarounds, but I'm not sure whether I should (that would negate the purpose of the change).
     
  14. Offline

    fullwall

    @Black_Sirrah239 - You are either running #1185 with 1.1.2, or #1240 with 1.1.1.
     
  15. Offline

    Black_Sirrah239

    Im running #1185 with 1.1.2, will update :) thanks for notifying me of that mistake!
     
  16. Offline

    Scandragon

    What you need to to is remove superpermbridge. From the permissionnodes. That is for plugins still using permissions, and will not work for a plugin that only supports superperms

    @fullwall, any news about "Reached end of stream"? It really is annoying to have those to scroll through in the log
     
  17. Offline

    Shooty

    Ok this is my new quests.yml:

    The NPC take my diamond, but he don't give me melons..

    Code:
    mariage:
        texts:
            description: <y>-----<g>[<y> Bague de Mariage <g>]<y>-----<br><y>Allez miner, et rammenez moi un diamant !<br><g>Attention, cela doit être miné, les diamants<br><g>rammené comme ça ne marche pas
            completion: Merci bien ! Pour vous remerciez prenez ces melons.
            acceptance: <g>Quête <y>accepté<g>. <y>/<g>quest <y>status
        repeats: 1
        objectives:
            '0':
                '0':
                    type: collect
                    materialid: 264
                    amount: 1
                    message: Quête "Bague de Mariage" terminé
        rewards:
            '0':
                    type: item
                    id: 360
                    amount: 10
                    take: false
                    type: item
                    id: 264
                    amount: 1
                    take: true
     
  18. Offline

    Akjosch

    Here's one I designed to get some use for all those gravel stacks people keep tossing into the lava ...

    Code:
    Concrete:
        texts:
            description: I've had this splendid idea of mixing gravel and sand to create ... stone!<br>Don't ask me for details, that's a trade secret. Anyway, sand I have enough, now I need full stacks of gravel to continue.<br>You'll get some of the stone and a bit of money in return. What about it?
            acceptance: Great. Get to it.
            completion: Wonderful! Here's your reward - 20 gold coins and 10 stone blocks.
        repeats: -1
        objectives:
            '0':
                '0':
                    type: delivery
                    amount: 64
                    materialid: 13
                    npcdestination: 2
        rewards:
            '0':
                type: item
                amount: 10
                id: 1
                take: false
            '1':
                type: money
                money: 20
                take: false
    
    Stuff I noticed while creating this quest:

    • The node "npcdestination" for the "delivery" objective shoule be able to take a name in addition to the npc's ID. Names are easier to remember. Also, I didn't find any way to code a delivery to any of a dynamic group of NPCs ("Deliver this note to any guard in Springvale." for example).
    • Delivery and collection objectives (and some other stuff) use the "materialid" node to specify the material; Item rewards use the "id" node for the same. Kinda inconsistent ...
    • I hard-coded "20 gold coins" as reward description in the "completion" node. Is there a way to get the current name of the currency from the economy plugin instead?
    • Speaking of rewards: Is there a way to make the giving and taking rewards "verbose", that is - printing stuff like "You gained 10 stone blocks." automatically whenever a reward gets handed out?
     
  19. Offline

    Scandragon

    Use that instead
     
  20. Offline

    terwilliker

    1.1 worked fine but since 1.1.1 and now 1.1.2 I getthe following error:
    09:06:54 [INFO] Starting minecraft server version Beta 1.8.1
    09:06:54 [INFO] Loading properties
    09:06:54 [INFO] Starting Minecraft server on x.x.x.x:25565
    09:06:55 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1112-g54a13b2-b1240jnks (MC: 1.8.1)
    09:06:55 [SEVERE] Could not load 'plugins/Citizens.jar' in folder 'plugins':
    java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    at java.util.jar.JarFile.<init>(JarFile.java:135)
    at java.util.jar.JarFile.<init>(JarFile.java:99)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:60)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:215)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:136)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:139)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:104)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:136)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)

    t:~$ java -version
    java version "1.6.0_21"
    Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
    Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)
     
  21. Offline

    terwilliker

  22. Offline

    fullwall

    @terwilliker - bad download... where did you get it from?
    @Scandragon - after much searching, I have tracked down the problem :). New builds should fix...
     
  23. Offline

    Mitcheel

    Error after: /npc create test


    12:41 PM [SEVERE] java.lang.NoSuchMethodError: net.minecraft.server.ItemInWorldManager.<init>(Lnet/minecraft/server/WorldServer;)V
    12:41 PM [SEVERE] at net.citizensnpcs.resources.npclib.NPCSpawner.spawnNPC(NPCSpawner.java:31)
    12:41 PM [SEVERE] at net.citizensnpcs.resources.npclib.NPCManager.register(NPCManager.java:164)
    12:41 PM [SEVERE] at net.citizensnpcs.resources.npclib.NPCManager.register(NPCManager.java:193)
    12:41 PM [SEVERE] at net.citizensnpcs.commands.BasicCommands.create(BasicCommands.java:226)
    12:41 PM [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    12:41 PM [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    12:41 PM [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    12:41 PM [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source)
    12:41 PM [SEVERE] at net.citizensnpcs.resources.sk89q.CommandsManager.executeMethod(CommandsManager.java:522)
    12:41 PM [SEVERE] at net.citizensnpcs.resources.sk89q.CommandsManager.execute(CommandsManager.java:406)
    12:41 PM [SEVERE] at net.citizensnpcs.Citizens.onCommand(Citizens.java:202)
    12:41 PM [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:39)
    12:41 PM [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
    12:41 PM [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353)
    12:41 PM [SEVERE] at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756)
    12:41 PM [SEVERE] at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721)
    12:41 PM [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714)
    12:41 PM [SEVERE] at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
    12:41 PM [SEVERE] at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    12:41 PM [SEVERE] at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
    12:41 PM [SEVERE] at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    12:41 PM [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464)
    12:41 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
    12:41 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
     
  24. Offline

    jimbobt123

    Question: Is there any way to reload quests.yml in-game? It's getting annoying having to reload my entire server each time I add a new quest.
     
  25. Offline

    terwilliker

  26. Offline

    Scandragon

    /citizens reload

    I'm sure this is just me being too blind to spot the obvious.. But I have 3 quests, the first two are working, the third isn't
    Code:
    steves_apples:
        texts:
            description: 'Steve_Jobs say: I need apples for my  new product. Can you bring me some?<br>Steve_Jobs says: I hear someone on the docks are giving away apples. Talk to him first, maybe'
            completion: 'Steve_Jobs says: Thank you my friend. These will be a great help'
            acceptance: 'Steve_Jobs says: Thank you. I hear someone gives away apples at the docks. Try talk to him'
        repeats: 5
        objectives:
            '0':
                '0':
                    type: collect
                    materialid: 260
                    amount: 10
                    message: You have collected all the apples. Go talk to Steve
        rewards:
             '0':
                type: item
                id: 322
                amount: 1
                take: false
             '1':
                type: item
                id: 260
                amount: 10
                take: true
    mikes_pearls:
        texts:
            description: I would so very much like to examine some of those ender pearls
            completion: <g>Ah how quaint.. Have these as a thanks.
            acceptance: <g>Great. Bring me a pearl!<g>.
        repeats: 20
        objectives:
            '0':
                '0':
                    type: collect
                    materialid: 368
                    amount: 1
                    message: You have the pearl!
        rewards:
             '0':
                type: item
                id: 368
                amount: 1
                take: true
             '1':
                type: item
                id: 260
                amount: 5
                take: false
    woodcut:
        texts:
            description: 'Lumberjack says: If you could get 5 logs for me, I'd be very grateful'
            completion: 'Lumberjack says: Thank you! Please accept this most humble reward'
            acceptance: 'Lumberjack says: There's an axe in my chest. Feel free to take it<br>Lumberjack says: ... what happened to the axe? It's broken!<br>Lumberjack says: I don't have any more stone axes.. But take this wooden axe instead'
        repeats: 1
        objectives:
            '0':
                '0':
                    type: collect
                    materialid: 17
                    amount: 5
                    message: You've collected the required amount of wood
        rewards:
             '0':
                type: item
                id: 17
                amount: 5
                take: true
             '1':
                type: item
                id: 275
                amount: 1
                take: true
             '2':
                type: item
                id: 271
                amount: 1
                take: false
    As I said, the first two are working.. The third isn't..

    edit: Nevermind that.. You cannot use "You've" in the message, gotta be "You have"
     
  27. Offline

    grifOndOr

    hmm , i update to 1.1 and i have this error for all my npcs ...
    i have 17 npcs , i have 17 errors...
    this is spaming the console

    the npc/traders works but this is really not good all that spam for the console :/


    Code:
    [INFO] [Citizens] An error has occurred, please wait while it is sent t
    o the developers...
    15:24:02 [INFO] [Citizens] Below is the stacktrace that has been transmitted to
    the developers, no other information has been included other than Citizens versi
    on information.
    15:24:02 [SEVERE]       at net.citizensnpcs.Citizens$2.run(Citizens.java:135)
    15:24:02 [SEVERE]       at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainT
    hreadHeartbeat(CraftScheduler.java:137)
    15:24:02 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:439)
    15:24:02 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:374)
    15:24:02 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:417)
    15:24:02 [SEVERE] Could not pass event PLAYER_TELEPORT to Spout
    java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftPlayer cannot b
    e cast to org.getspout.spout.player.SpoutCraftPlayer
            at org.getspout.spout.player.SpoutCraftPlayer.getPlayer(SpoutCraftPlayer
    .java:1029)
            at org.getspout.spout.SpoutPlayerListener.onPlayerTeleport(SpoutPlayerLi
    stener.java:70)
            at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.ja
    va:300)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
            at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(CraftPlayer.java:2
    69)
            at net.citizensnpcs.resources.npclib.NPCSpawner.spawnNPC(NPCSpawner.java
    :32)
            at net.citizensnpcs.resources.npclib.NPCManager.register(NPCManager.java
    :162)
            at net.citizensnpcs.Citizens.setupNPCs(Citizens.java:308)
            at net.citizensnpcs.Citizens.access$000(Citizens.java:63)
            at net.citizensnpcs.Citizens$2.run(Citizens.java:135)
            at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(C
    raftScheduler.java:137)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:439)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    15:24:02 [INFO] Reached end of stream
    15:24:02 [SEVERE] java.lang.NullPointerException
    15:24:02 [SEVERE]       at org.getspout.spout.player.SpoutCraftPlayer.<init>(Spo
    utCraftPlayer.java:142)
    15:24:02 [SEVERE]       at org.getspout.spout.player.SpoutCraftPlayer.updateBukk
    itEntity(SpoutCraftPlayer.java:1009)
    15:24:02 [SEVERE]       at org.getspout.spout.player.SpoutCraftPlayer.getPlayer(
    SpoutCraftPlayer.java:1028)
    15:24:02 [SEVERE]       at org.getspout.spout.SpoutPlayerListener.updatePlayerEv
    ent(SpoutPlayerListener.java:135)
    15:24:02 [SEVERE]       at org.getspout.spout.SpoutPlayerListener.onPlayerTelepo
    rt(SpoutPlayerListener.java:61)
    15:24:02 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader$9.execute(Jav
    aPluginLoader.java:300)
    15:24:02 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(Regist
    eredListener.java:58)
    15:24:02 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl
    ePluginManager.java:338)
    15:24:02 [SEVERE]       at org.bukkit.craftbukkit.entity.CraftPlayer.teleport(Cr
    aftPlayer.java:269)
    15:24:02 [SEVERE]       at net.citizensnpcs.resources.npclib.NPCSpawner.spawnNPC
    (NPCSpawner.java:32)
    15:24:02 [SEVERE]       at net.citizensnpcs.resources.npclib.NPCManager.register
    (NPCManager.java:162)
    ps : same with 1.2 and bukkit 1240
     
  28. Offline

    SubLexx

    is there a option/command that the npc stand still for a amount of time before he walk to the next waypoint? ^^
    and what is the command "/waypoints modifier [type]" o.o ?
     
  29. Offline

    fullwall

  30. Offline

    danielfdsilva

    There is something that i didn't quite understand.

    is it possible to make quest chains that can be done only once?
     
  31. Offline

    Akjosch

    "repeats: 1" in each quest of the chain, and the subsequent quests having previous ones as requirements should do the trick. Unless there's a bug somewhere, of course.
     

Share This Page