Inactive [INFO/CHAT] AutoAnnouncer v1.7-03.23 - Send ads/announcements/messages [1.2.5]

Discussion in 'Inactive/Unsupported Plugins' started by sharkale, Apr 7, 2011.

  1. Offline

    sharkale

    Dev Bukkit: http://dev.bukkit.org/server-mods/autoannouncer/

    Info below is outdated. Go to Bukkit DEV

    AutoAnnouncer - Global announcements every few minutes

    Latest Version: v1.6-03.03
    Tested with CB: 1.1-R4

    Commands:
    • /announcer help|? - Show help
    • /announcer on|off - Start/stop AutoAnnouncer
    • /announcer restart - Restart the AutoAnnouncer scheduler
    • /announcer interval <minutes> - Set interval time between announcements
    • /announcer random <on|off> - Set random or use consecutive announcements
    Default Settings.yml


    Supports Colors:
    Code:
    [/S]
    [S]&AQUA;[/S]
    [S]&BLACK;[/S]
    [S]&BLUE;[/S]
    [S]&DARK_AQUA;[/S]
    [S]&DARK_BLUE;[/S]
    [S]&DARK_GRAY;[/S]
    [S]&DARK_GREEN;[/S]
    [S]&DARK_PURPLE;[/S]
    [S]&DARK_RED;[/S]
    [S]&GOLD;[/S]
    [S]&GRAY;[/S]
    [S]&GREEN;[/S]
    [S]&LIGHT_PURPLE;[/S]
    [S]&RED;[/S]
    [S]&WHITE;[/S]
    [S]&YELLOW;[/S]
    [S]

    Multiline feature:
    Code:
    &NEW_LINE;

    Permissions Node:
    If permission not found or not used only OP can use the commands.
    For all command:

    Features:
    • Interval time adjustable.
    • Random/Consecutive setting.
    • Colors support.
    • On/Off AutoAnnouncer.
    • Commands in-game
    • Permissions support (Optional)
    • Permissions groups support.
    • Editable Tag.
    • YAML settings.
    [​IMG]
    Version: 1.3-06.25
    Goto bukkit dev for latest version

    Source Code:

    [​IMG]

    Changelog:

    Version 1.3-06.25
    • Add editable Tag.
    • Add Permissions groups support.
    Version 1.2-05.01
    • Minor tweaks for MC 1.5.
    • Add multiline feature with &NEW_LINE;.
    Version 1.1-04.10
    • Finish reload, interval and random/consecutive commands.
    • Delete debug message.
    • Show message for commands in-game.
    • Minor bug fixes.
    Version 1.0-04.08
    • First release
    TODO:
    • Implement reload, interval and random command.
    • Ability to add, remove announcement ingame.
    • Ability to send announcement to specific grups.
    • Multiline in announcement.
    Do you have problems?:
    [/CODE][/S]
     
  2. Offline

    angus22397

    Help please using 766
    Code:
    [SEVERE] while parsing a block collection; expected <block end>, but found Scalar loading AutoAnnouncer v1.2-05.01 (Is it up to date?)
    while parsing a block collection
    in "<reader>", line 7, column 9:
                - '&LIGHT_PURPLE;Welcome to &GOL ...
                ^
    expected <block end>, but found Scalar
    in "<reader>", line 7, column 54:
        ... PLE;Welcome to &GOLD;Angus22397's server.'
                                            ^
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockSequenceEntry.produce(ParserImpl.java:520)
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
        at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:203)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:158)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
        at org.bukkit.util.config.Configuration.load(Configuration.java:73)
        at ar.com.sharkale.AutoAnnouncer.Settings.<init>(Settings.java:27)
        at ar.com.sharkale.AutoAnnouncer.AutoAnnouncer.onEnable(AutoAnnouncer.java:44)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:676)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:249)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:131)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    with config
    Code:
    Settings:
        Interval: 5
        Random: false
        Permission: true
    Announcer:
        Strings:
            - '&LIGHT_PURPLE;Welcome to &GOLD;Angus22397's server.'
            - '&DARK_GREEN;Server Rules: &NEW_LINE; &WHITE;- &RED;Be courteous and respect others.&NEW_LINE; &WHITE;- &RED;Don't use any tools to give you an unfair advantage.&NEW_LINE; &DARK_BLUE;Thanks for your co-operation.'
    
     
  3. Offline

    sharkale

    godddd. read the previous comment angus..... [skeleton]
     
  4. Offline

    angus22397

    Oh, LawL sorry for waisting your time, GREAT plugin btw (unlike the old not working one).

    Edit: I see what you mean, since the plugin uses ' to see the start and end of text it confuses it :p thanks for making that clear for me.
     
  5. Offline

    AmazingHayman

    Would be great! :) Hope that this feature will come soon!
     
  6. Offline

    kymotsujason

    I'm getting an error ingame when I try /announcer on or /announcer restart.
    For /announcer on, i get "Scheduling failed! There are no announcements to do."
    For /announcer restart, I get "No schedule running!"
    Heres my log...
    Code:
    Settings:
        Interval: 5
        Random: true
        Permission: true
    Announcer:
        Strings:
        - ''&GREEN;Make Sure You Close Your Door!''
        - ''&YELLOW;This Server Was Made & Configured By kymotsujason''
        - ''&WHITE;Rule 1 - ALWAYS HAVE FUN!''
        - ''&RED;Griefing Results In a Jailing, &YELLOW;However, You Can Still Enjoy Sights as a Prisoner!''
        - ''&GRAY;If You Like Our Server, Refer A Friend!! You'll Get Promoted!''
        - ''&GOLD;Go Check Out -New Divide- by: Linkin Park!''
        - ''&BLUE;Big Thanks To deather007 For Making Spawn Better!''
        - ''&BLACK;Our Staff Is Nice, Don't Be Afraid To Ask For Something.''
        - ''&AQUA;Would You Like A NPC? Ask kymotsujason For One! He Will Probably Say Yes!''
        - ''&LIGHT_PURPLE;Please Provide Your Feedback About The Server And Other Plugins.''
        - ''&DARK_AQUA;Do Not Forget To Post About Our Server On The Forums!''
        - ''&DARK_BLUE;Our Owner:kymotsujason Knows His Stuff, Don't Panic If You Cannot Use A Command.''
        - ''&DARK_GRAY;Coke Or Pepsi?''
        - ''&DARK_GREEN;School Or Vacation?''
        - ''&DARK_PURPLE;Build Awesome Buildings And Call kymotsujason Over! You Could Be Promoted!''
        - ''&DARK_RED;Please Do Not Swear.''
    What Am I doing wrong or what did I type wrong?
     
    NateBody likes this.
  7. Offline

    ReTr1BuT1Onz

    I'm sorry if this is obvious, but when type /announcer on, It says "Scheduling failed! There are no announcements to do."

    Here's my settings.yml:

    Code:
    Settings:
    
    Interval: 2
    
    Random: false
    
    Permission:
    
    true
    
    Announcer:
    
    Strings:
    
    - "&GREEN; Welcome to the server! &DARK_RED; (ReTr1BuT1Onz Server)"
    
    - "&WHITE; Need help with MCMMO? Type /mcmmo"
    
    - "&YELLOW; You get ONE GOLD for logging on each day!"
    
    - "&RED; Watch out for giant bosses! &GREEN; Bring friends for help!"
    
    - "&AQUA; This server is running RUNECRAFT! Build runes out of blocks!"
    
    - "&GREEN; Trees automaticly replace themselves on this server. YAY!"
    
    - "&BLUE; Trees chop down fast on this server!"
    
    - "&WHITE; When out of lives, ask an op for more!"
     
    NateBody likes this.
  8. Offline

    sharkale

    please edit the comment and put the yaml file into CODE bbc.
     
  9. Offline

    NateBody

    10-4 im gettin the same thing as the guys above... "No Scheduled Announcements" :<
     
  10. Offline

    sharkale

    @NateBody please post your yaml file. your post dont help to anything. the plugin works. Is very simple. If you misspell the yaml not going to work.
     
  11. Offline

    eirikbjo

    When i do /announcer on it just says No Scheduled Announcements
     
  12. Offline

    sharkale

    omg the people dont read. well... i dont reply.
     
    emoknight likes this.
  13. Offline

    jeffklam

    Great plugin! Working fine for me using CB766.
     
    sharkale likes this.
  14. Offline

    Synful0ne

    Getting Error's seems to be fine when i use 1-3 strings but when i do more than that it tells me no schedule.
    Im assuming i fucked up the YAML somewhere but im not sure where..
    Code:
    Announcer:
        Strings:
        - '&WHITE;[&DARK_RED;Announcement&WHITE;]: Welcome , If your new and haven't applied on forums
            You'll need to do that to get build rights'
        - '&WHITE;[&DARK_RED;Announcement&WHITE;]: Make Sure you build atleaste 150 blocks
            away from spawn'
        - '&WHITE;[&DARK_RED;Announcement&WHITE;]: Someone Abusing the Rules or Greifed You? Use
            /report <player> [Reason] , and any admin / moderator will help you out'
        - '&WHITE;[&DARK_RED;Announcement&WHITE;]: Be sure To set your home with /home Command's'
        - '&WHITE;[&DARK_RED;Announcement&WHITE;]: We are currently running Towny mod,
            Create Your Own Town For 500$'
        - '&WHITE;[&DARK_RED;Announcement&WHITE;]: Builders Can Make Shops Now! '
    No clue why this YAML is so fragile i feel like i cant even add a space between words without breaking it entirely
     
  15. Offline

    sharkale

    @Synful0ne You broke the rules of yaml. If you used ' for the start and stop of the string and the use this char in string broke the yaml. Use " instead.
    Use the yaml parser to verify syntax: http://yaml-online-parser.appspot.com/
     
  16. Offline

    Pronavilla

    Hello i having this text:
    Code:
    Settings:
        Interval: 2
        Random: false
        Permission: true
    Announcer:
        Strings:
            - "&DARK_RED;Welcome to MinecraftersDK's server!"
            - "&DARK_GREEN;Type '/Warp Nyancat' to &NEW_LINE;see the Nyancat!"
            - "&GOLD;Type '/warp Respawn' to get to the &NEW_LINE;the spawn place!"
            - "&DARK_BLUE;If you want to be a member &NEW_LINE;so you can build, contact an admin!"
            - "&DARK_PURPLE;This server is on from 16:00 to ?? &NEW_LINE;in the weekdays!"
            - "&DARK_AQUA;Velkommen til MinecraftersDk's server!"
            - "&GREEN;Skriv '/warp Nyancat' for at &NEW_LINE;se den flotte store Nyancat!"
            - "&GOLD;Skriv '/warp respawn' for at komme til sapwn stedet!"
            - "&YELLOW;Hvis du vil være medlem &NEW_LINE;så du kan bygge, kontakt en admin"
            - "&GRAY;Denne server på fra 16:00 - ?? &NEW_LINE;i hverdagene!"
    
    
    Something is danish..
    
    I think its allright? :S
    But if I test it on this website: [URL]http://yaml-online-parser.appspot.com/[/URL]
    It says this..
    
    Traceback (most recent call last):   File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 702, in __call__     handler.post(*groups)   File "/base/data/home/apps/yaml-online-parser/1.338618419103671568/main.py", line 70, in post     return self.get()   File "/base/data/home/apps/yaml-online-parser/1.338618419103671568/main.py", line 67, in get     self.response.out.write(template.render(path, template_values))   File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 73, in render     return t.render(Context(template_dict))   File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 115, in wrap_render     return orig_render(context)   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 168, in render     return self.nodelist.render(context)   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 705, in render     bits.append(self.render_node(node, context))   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 718, in render_node     return(node.render(context))   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 767, in render     output = self.filter_expression.resolve(context)   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 579, in resolve     obj = func(obj, *arg_vals)   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/defaultfilters.py", line 36, in _dec     return func(*args, **kwargs)   File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/defaultfilters.py", line 189, in urlencode     return urllib.quote(value)   File "/base/python_runtime/python_dist/lib/python2.5/urllib.py", line 1214, in quote     res = map(safe_map.__getitem__, s) KeyError: u'\xe6'
    
    
    
    
    And in my Bukkit, when i open my server it says this:
    
    15:12:08 [SEVERE] special characters are not allowed loading AutoAnnouncer v1.2-
    05.01 (Is it up to date?)
    unacceptable character #FFFD special characters are not allowed
    in "<reader>", position 751
            at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.ja
    va:68)
            at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:159)
            at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:117)
            at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:106)
            at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.ja
    va:964)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
    va:237)
            at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:18
    3)
            at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produ
    ce(ParserImpl.java:200)
            at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
            at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:104)
    
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:124)
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
            at org.bukkit.util.config.Configuration.load(Configuration.java:73)
            at ar.com.sharkale.AutoAnnouncer.Settings.<init>(Settings.java:27)
            at ar.com.sharkale.AutoAnnouncer.AutoAnnouncer.onEnable(AutoAnnouncer.ja
    va:44)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:676)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:249)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:131)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  17. Offline

    sharkale

    @Pronavilla god! use CODE tag when you reply :mad: edit the message.

    i dont understand the result of the test [creeper]

    do you save the yaml in UTF8? use notepad++ to save in utf8.
     
  18. Offline

    ReTr1BuT1Onz

    Sorry, Fix'd it. Hewlp?
     
  19. Offline

    Pronavilla

    Sorry. But i have fixed it. It was the danish å, ø and æ..
     
  20. Offline

    sharkale

    for unicode strings save the file in UTF-8 format or the plugin crash when read.
     
  21. Offline

    AcidicTaco

    great plugin, simple yet useful, just what I wanted

    suggestion... users should be able to disable announcements individually
     
  22. Offline

    DJ_Idol

    Great plugin, been meaning to throw this on my server for a while, finally did. Works excellent!

    Only thing that would make it better is an in-game command to add announcement lines, but not sure if that's possible.
     
  23. Offline

    MontyLike

    Hey there,

    in my serverlog it is written this:

    Code:
    2011-05-24 11:17:54 [INFO] [AutoAnnouncer] WARNING! No permission system enabled!
    2011-05-24 11:17:54 [INFO] [AutoAnnouncer] Settings Loaded (2 announces).
    2011-05-24 11:17:54 [INFO] [AutoAnnouncer] Scheduled every 5 minutes!
    2011-05-24 11:17:54 [INFO] [AutoAnnouncer] v1.2-05.01 is enabled!
    2011-05-24 11:17:54 [INFO] [AutoAnnouncer] Developed by: [Sharkiller]
    but i dont get ingame announcements :(
    i disabled permissions cause i got the "you dont have the permissions ..." error before when it was enabled - i am admin and should have ALL permissions.
    but besides there are no announcements shown up, do i have to start the announcements everytime i log in? they should start automatically i think.

    could it be that there is a conflict with chat plugins like herochat?

    Edit: It shows up now but i still dont have Permissions AND color codes wont work ...

    Code:
    Settings:
        Interval: 2
        Random: false
        Permission: true
    Announcer:
        Strings:
        - '&WHITE;[&2NEWS&WHITE;] Berufe sind da!&NEW_LINE; &GOLD;Frag einen Admin nach weiteren Infos.'
        - '&DARK_GREEN;Development by Sharkiller!'
    
     
  24. Offline

    sharkale

    is a configuration problem for you or a conflict with other plugin.

    the plugin works without this error.

    Try removing all plugins and add one by one.
     
  25. Offline

    d00ba

    Anyone got this working with 1.6.6 b817?
     
  26. Offline

    StClaus

    Works on 818!
     
    RTRD likes this.
  27. Offline

    Shynthoras

    Hey Guys i have i think a format problem with my yml -.-

    I dont know what's wrong could you help ? with the example announcements its allright but with my own ones not.

    Code:
    Settings:
        Interval: 10
        Random: true
        Permission: true
    Announcer:
        Strings:
        - '&AQUA;Unsere &RED;Regeln &AQUA;haben sich &GOLD; geaendert.'
        - '&AQUA;Ab sofort gibt es fuer alle &DARK_RED;Multiworld Support!&NEW_LINE; &BLUE;slash mvlist&AQUA; zeigt euch die Welten an!&NEW_LINE;&BLUE;slash mvtp "world" &AQUA; Teleportiert euch zur welt "..."!!'
        - '&AQUA;Bei Server Problemen den Support anrufen oder eine eMail an den &RED;Admin'
        - '&AQUA;DER &Blue;ADMIN &DARK_GREEN;HAT DAS &RED;RECHT!'
        - '&AQUA;Bitte die erweiterten Regeln für &RED;Citymap &GOLD;beachten!'
    
    I'm not an native english speaker, i'm german an the announcements are also german.
    Sorry for my bad english ;)

    edit1: i forgot the server log :'(

    here is it:

    Code:
    (Is it up to date?): special characters are not allowed
    unacceptable character #FFFD special characters are not allowed
    in "<reader>", position 570
        at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:68)
        at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:159)
        at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:117)
        at org.yaml.snakeyaml.reader.StreamReader.peek(StreamReader.java:106)
        at org.yaml.snakeyaml.scanner.ScannerImpl.scanToNextToken(ScannerImpl.java:964)
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:237)
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
        at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:200)
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:104)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
        at org.bukkit.util.config.Configuration.load(Configuration.java:74)
        at ar.com.sharkale.AutoAnnouncer.Settings.<init>(Settings.java:27)
        at ar.com.sharkale.AutoAnnouncer.AutoAnnouncer.onEnable(AutoAnnouncer.java:44)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:750)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:134)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:112)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:339)
        at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:247)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:273)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:430)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:415)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:311)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  28. Offline

    MrRump

    Well, what about removing every special character?
    Are the " are special characters?
     
  29. Offline

    Shynthoras

    Problem solved i forgot do delete an ü in the last line -.-
     
  30. Offline

    sharkale

    @Shynthoras save the file in UTF-8 format and use ü character.

    [​IMG]
     
    Shynthoras likes this.
  31. Offline

    m5k

    Flawless on 818 Keep it up.
     

Share This Page