diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-10-26 06:54:12 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-10-26 06:54:12 -0300 |
commit | 92a7fb43ede0555d455cb9a09df36f47faeae1d4 (patch) | |
tree | 4da1cdbd62c2fd987d33bd5057e0d1d8ff482f05 | |
parent | 95314603c1c4b1d7aa03e81fd3ce949ac9f291d0 (diff) | |
parent | b388df1b517200d1cfdac18f42e2594d3deb5967 (diff) | |
download | serverdata-92a7fb43ede0555d455cb9a09df36f47faeae1d4.tar.gz serverdata-92a7fb43ede0555d455cb9a09df36f47faeae1d4.tar.bz2 serverdata-92a7fb43ede0555d455cb9a09df36f47faeae1d4.tar.xz serverdata-92a7fb43ede0555d455cb9a09df36f47faeae1d4.zip |
Merge branch 'master' into items
-rw-r--r-- | conf/atcommand.conf | 16 | ||||
-rw-r--r-- | conf/groups.conf | 417 | ||||
-rw-r--r-- | conf/map/battle/battle.conf | 6 | ||||
-rw-r--r-- | conf/map/battle/client.conf | 2 | ||||
-rw-r--r-- | conf/map/battle/gm.conf | 2 | ||||
-rw-r--r-- | db/re/attr_fix.txt | 88 | ||||
-rw-r--r-- | db/re/item_db.conf | 2 | ||||
-rw-r--r-- | db/re/size_fix.txt | 6 | ||||
-rw-r--r-- | npc/000-1/gugli.txt | 4 | ||||
-rw-r--r-- | npc/000-2-1/arpan.txt | 4 | ||||
-rw-r--r-- | npc/000-2-1/chefgado.txt | 2 | ||||
-rw-r--r-- | npc/000-2-1/peter.txt | 2 | ||||
-rw-r--r-- | npc/001-1/enora.txt | 2 | ||||
-rw-r--r-- | npc/001-1/fexil.txt | 2 | ||||
-rw-r--r-- | npc/001-1/salem.txt | 2 | ||||
-rw-r--r-- | npc/001-2-19/lloyd.txt | 2 | ||||
-rw-r--r-- | npc/001-2-22/peter.txt | 2 | ||||
-rw-r--r-- | npc/001-2-28/plush.txt | 2 | ||||
-rw-r--r-- | npc/001-2-9/janus.txt | 4 | ||||
-rw-r--r-- | npc/008-2-2/melania.txt | 2 | ||||
-rw-r--r-- | npc/008-2-2/melinda.txt | 6 | ||||
-rw-r--r-- | npc/commands/gm.txt | 41 | ||||
-rw-r--r-- | npc/commands/resync.txt | 2 | ||||
-rw-r--r-- | npc/commands/warp.txt | 16 | ||||
-rw-r--r-- | npc/commands/zeny.txt | 2 | ||||
-rw-r--r-- | npc/functions/permissions.txt | 2 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
27 files changed, 408 insertions, 231 deletions
diff --git a/conf/atcommand.conf b/conf/atcommand.conf index 2241fa74..eede6399 100644 --- a/conf/atcommand.conf +++ b/conf/atcommand.conf @@ -11,7 +11,7 @@ charcommand_symbol represents #commands used on other players. */ atcommand_symbol : "@" -charcommand_symbol: "$" +charcommand_symbol: "#" // We can use $ if this overlaps with ManaPlus /* Command aliases You can define aliases for any command. Aliases work just like the original command. @@ -69,6 +69,20 @@ aliases: { nolog: { iteminfo: 1 mobinfo: 1 + uptime: 1 + duel: 1 + accept: 1 + reject: 1 + noask: 1 + time: 1 + jailtime: 1 + email: 1 + rates: 1 + help: 1 + commands: 1 + charcommands: 1 + refresh: 1 + // Should we log @hugo and @linus? They're quite spammy } /* Commands help file */ diff --git a/conf/groups.conf b/conf/groups.conf index b22edc8a..610f4d77 100644 --- a/conf/groups.conf +++ b/conf/groups.conf @@ -71,6 +71,28 @@ Syntax ------ This config file uses libconfig syntax: http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files + +0: Player +1: Trusted Player + +20/21: Support (Trusted Player + Common) + +40/41: Developer (Support + DEV) + +50/51: Event Coordinator (Support + EVTC) + +60/61: Game Master (Support + GM) + +80/81: Community Coordinator (Support + DEV + EVTC + GM) + +99: Administrator (All Perms) + +NYI commands: +hairstyle and haircolor (use @debug-look) +snow, sakura, clouds, clouds2, fog, fireworks, leaves, clearweather +changesex (faulty) +misceffect (I don't understand) + */ groups: ( @@ -80,12 +102,23 @@ groups: ( level: 0 inherit: ( /*empty list*/ ) commands: { + help: true + commands: true duel: true accept: true reject: true + noask: true // Autoreject duels leave: true - whogm: true email: true + request: true + time: true + jailtime: true + rates: true + breakguild: true + changegm: true + // Bugfix-level commands + hominfo: true + refresh: true } permissions: { /* without this basic permissions regular players could not @@ -94,58 +127,51 @@ groups: ( can_party: true } }, +// ===== Trusted Players and Bots { id: 1 - name: "Super Player" + name: "Trusted Player" inherit: ( "Player" ) /* can do everything Players can and more */ - level: 2 + level: 1 commands: { - commands: true - charcommands: true - help: true - rates: true + // Information Commands + whogm: true uptime: true - showdelay: true + charcommands: true exp: true mobinfo: true iteminfo: true whodrops: true - time: true - jailtime: true - hominfo: true homstats: true - showexp: true - showzeny: true whereis: true - refresh: true - noask: true - noks: true - autoloot: true - alootid: true - autoloottype: true - autotrade: true - request: true - go: true - breakguild: true - channel: true tee: true log: true + // Server Spam Limit commands + showexp: true + showzeny: true + showdelay: true + // Community Commands + channel: true + // Convenience Commands + autotrade: true + // KillSteal commands (???) + noks: true } + log_commands: true permissions: { show_client_version: true } }, +// ===== Support { - id: 2 + id: 20 name: "Support" - inherit: ( "Super Player" ) - level: 3 + inherit: ( "Trusted Player" ) + level: 20 commands: { + // Information Commands version: true where: [true, true] - jumpto: true - hugo: true - linus: true who: true who2: true who3: true @@ -153,190 +179,271 @@ groups: ( whomap2: true whomap3: true users: true - mapinfo: true - gat: true mobsearch: true idsearch: true showmobs: true skillid: true - skilltree: true + // Movement Commands + tonpc: true + jumpto: true + warp: true + jump: true + slide: true + memo: true + save: true + load: true + hugo: true + linus: true + // Community Commands + broadcast: true + localbroadcast: true + hidenpc: true + shownpc: true + stats: [true, true] + refresh: [true, true] + // Moderation Commands + kick: true + mute: true + unmute: true + // Convenience Commands monsterignore: true + autoloot: true + alootid: true + autoloottype: true + storage: true + mail: true + effect: true } log_commands: true permissions: { + send_gm: true receive_requests: true view_equipment: true } }, { - id: 3 - name: "Script Manager" + id: 21 + name: "Support (Hidden)" inherit: ( "Support" ) - level: 4 + level: 20 commands: { - tonpc: true - hidenpc: true - shownpc: true + } + log_commands: true + permissions: { + send_gm: false + } +}, +// ===== Developer +{ + id: 40 + name: "Developer" + inherit: ( "Support" ) + level: 40 + commands: { + npcmove: true + day: true + night: true + gat: true + skilltree: true + heal: true + alive: true loadnpc: true unloadnpc: true - npcmove: true - addwarp: true - save: true + reloadnpc: true + delitem: true + refine: true + speed: true + itemreset: true + reset: true + mapinfo: true + } + log_commands: true + permissions: { + } +}, +{ + id: 41 + name: "Developer (Hidden)" + inherit: ( "Developer" ) + level: 40 + commands: { } log_commands: true permissions: { + send_gm: false } }, +// ===== Event Coordinator { - id: 4 + id: 50 name: "Event Coordinator" inherit: ( "Support" ) - level: 4 + level: 50 commands: { - broadcast: true - localbroadcast: true - monster: true - monstersmall: true - monsterbig: true - killmonster2: true - cleanarea: true + fakename: true + hide: true + + // Community Commands + heal: [true, true] + alive: [true, true] + monster: [true, true] + monstersmall: [true, true] + monsterbig: [true, true] + summon: [true, true] + killmonster2: [true, true] + cleanarea: [true, true] cleanmap: true - item: [true, true] - item2: [true, true] - delitem: [true, true] - itembound: [true, true] - itembound2: [true, true] - produce: [true, true] - refine: [true, true] - zeny: [true, true] + clone: [true, true] + slaveclone: [true, true] + evilclone: [true, true] disguise: [true, true] undisguise: [true, true] - size: [true, true] - raise: true - raisemap: true - day: true - night: true - skillon: true - skilloff: true pvpon: true pvpoff: true gvgon: true gvgoff: true - allowks: true - refresh: [true, true] - refreshall: true - fakename: true - kill: true - nuke: [true, true] - doommap: true - heal: [true, true] - alive: [true, true] - sound: true - storage: true - clone: [true, true] - slaveclone: [true, true] - evilclone: [true, true] - repairall: [true, true] - storeall: true - itemreset: true - clearstorage: true - cleargstorage: true - jump: [true, true] - killer: true - killable: true - monsterignore: [true, true] npctalk: true - mute: true - mutearea: true - unmute: true - speed: [true, true] } log_commands: true permissions: { } }, { - id: 5 - name: "Developer" - inherit: ( "Support", "Script Manager" ) - level: 4 + id: 51 + name: "Event Coordinator (Hidden)" + inherit: ( "Event Coordinator" ) + level: 50 commands: { - broadcast: true - localbroadcast: true - hide: true - follow: true - warp: true - jump: true - memo: true - load: true - recall: true - slide: [true, true] - sound: true } log_commands: true permissions: { + send_gm: false } }, +// ===== Game Master { - id: 6 - name: "Patrol" + id: 60 + name: "Game Master" inherit: ( "Support" ) - level: 4 + level: 60 commands: { - kick: true - jailfor: true + blvl: [true, true] + jlvl: [true, true] + str: [true, true] + agi: [true, true] + vit: [true, true] + int: [true, true] + dex: [true, true] + luk: [true, true] + allstats: true hide: true - follow: true - warp: true - jump: true - memo: true - load: true + speed: [true, true] + guild: [true, true] + + // Moderation Commands + jailfor: true + jail: true + unjail: true + ban: true + block: true + unban: true + delitem: [true, true] + mutearea: true + reset: [true, true] + itemreset: [true, true] + dropall: [true, true] + storeall: [true, true] + accinfo: true + storagelist: [true, true] + cartlist: [true, true] + itemlist: [true, true] + + // Community Commands + heal: [true, true] + alive: [true, true] + slide: [true, true] + warp: [true, true] + killer: true + killable: true + pvpon: true + pvpoff: true + gvgon: true + gvgoff: true + cvcon: true + cvcoff: true + killmonster: [true, true] + killmonster2: [true, true] recall: true + cleanmap: true + nuke: [true, true] + skillon: true + skilloff: true + raisemap: true + npctalk: true + } log_commands: true permissions: { who_display_aid: true view_hpmeter: true + join_chat: true + kick_chat: true + hide_session: true + hack_info: true } }, { - id: 7 - name: "Officer" - inherit: ( "Support", "Patrol" ) - level: 5 + id: 61 + name: "Game Master (Hidden)" + inherit: ( "Game Master" ) + level: 60 commands: { - heal: [true, true] - alive: [true, true] - ban: true - block: true - jail: true - mute: true - unmute: true - storagelist: [true, true] - cartlist: [true, true] - itemlist: [true, true] - stats: [true, true] } log_commands: true permissions: { - join_chat: true - kick_chat: true - hide_session: true - hack_info: true - send_gm: true + send_gm: false } }, +// ===== Community Coordinator (GM/DEV) { - id: 8 - name: "Game Master" - inherit: ( "Event Coordinator", "Officer" ) - level: 6 + id: 80 + name: "Community Coordinator" + inherit: ( "Support", "Developer", "Event Coordinator", "Game Master" ) + level: 80 commands: { - fakename: true + addwarp: true + refine: [true, true] + repairall: [true, true] + allowks: true + item: [true, true] + item2: [true, true] + itembound: [true, true] + itembound2: [true, true] + zeny: [true, true] + + // Community Commands + raise: true + partyrecall: true + guildrecall: true + doom: true + doommap: true + refreshall: true // Use with caution + effect: [true, true] + marry: [true, true] // Use with caution + divorce: true + + // Change status and options + displaystatus: [true, true] + option: [true, true] + partyoption: [true, true] + + // Moderation Commands + clearstorage: true + cleargstorage: true recallall: true - raisemap: [true, true] - raise: [true, true] - dropall: true + breakguild: [true, true] + changeleader: [true, true] + } log_commands: true permissions: { @@ -344,10 +451,24 @@ groups: ( } }, { + id: 81 + name: "Community Coordinator (Hidden)" + inherit: ( "Community Coordinator" ) + level: 80 + commands: { + } + log_commands: true + permissions: { + send_gm: false + } +}, +// ===== Administrator +// (There isn't a hidden admin yet) +{ id: 99 name: "Administrator" level: 99 - inherit: ( "Developer", "Game Master" ) + inherit: ( "Community Coordinator" ) commands: { /* not necessary due to all_commands: true */ } @@ -356,7 +477,7 @@ groups: ( can_trade_bound: false can_party: true all_skill: false - all_equipment: false + all_equipment: true skill_unconditional: false use_check: true use_changemaptype: true diff --git a/conf/map/battle/battle.conf b/conf/map/battle/battle.conf index eafb5ec9..290e1ee7 100644 --- a/conf/map/battle/battle.conf +++ b/conf/map/battle/battle.conf @@ -51,12 +51,12 @@ critical_rate: 100 // or walk animation may be omitted client-side, causing cropped attacks or // monsters that teleport to you) // Otherwise, the delay is equal to the 'attack animation' (amotion) -attack_walk_delay: 15 +attack_walk_delay: 14 // Move-delay adjustment after being hit. (Note 2) // The 'can't walk' delay after being hit is calculated as a percentage of the damage animation duration. // NOTE: Only affects the normal delay from a single attack, not the delay added by the multihit_delay option below. -pc_damage_walk_delay_rate: 20 +pc_damage_walk_delay_rate: 0 damage_walk_delay_rate: 100 // Move-delay adjustment for multi-hitting attacks. @@ -155,7 +155,7 @@ equip_skill_break_rate: 100 // Do weapon attacks have a attack speed delay before actual damage is applied? (Note 1) // NOTE: The official setting is true, even thought it degrades performance a bit. -delay_battle_damage: true +delay_battle_damage: false // Are arrows/ammo consumed when used on a bow/gun? // 0 = No diff --git a/conf/map/battle/client.conf b/conf/map/battle/client.conf index e5fb29d9..9a4305f4 100644 --- a/conf/map/battle/client.conf +++ b/conf/map/battle/client.conf @@ -40,7 +40,7 @@ packet_obfuscation: 0 // Minimum delay between whisper/global/party/guild messages (in ms) // Messages that break this threshold are silently omitted. -min_chat_delay: 0 +min_chat_delay: 20 // Valid range of dyes and styles on the client. min_hair_style: 0 diff --git a/conf/map/battle/gm.conf b/conf/map/battle/gm.conf index 782e44db..ea9548f7 100644 --- a/conf/map/battle/gm.conf +++ b/conf/map/battle/gm.conf @@ -48,7 +48,7 @@ atcommand_max_stat_bypass: false // Ban people that try trade dupe. // Duration of the ban, in minutes (default: 5). To disable the ban, set 0. -ban_hack_trade: 5 +ban_hack_trade: 0 // requires RENEWAL_DROP to be enabled (src/map/config/renewal.h) // modifies @mobinfo to display the users' real drop rate as per renewal_drop formula diff --git a/db/re/attr_fix.txt b/db/re/attr_fix.txt index 96d6b37d..b79ff7fe 100644 --- a/db/re/attr_fix.txt +++ b/db/re/attr_fix.txt @@ -4,53 +4,53 @@ // Column: attacker's weapon element 1,10 // lv1 Attribute table -//Neut Watr Erth Fire Wind Pois Holy Shdw Gho Und - 100, 100, 100, 100, 100, 100, 100, 100, 70, 100, // Neutral - 100, 25, 100, 150, 90, 100, 75, 100, 100, 100, // Water - 100, 100, 25, 90, 150, 100, 75, 100, 100, 100, // Earth - 100, 90, 150, 25, 100, 100, 75, 100, 100, 125, // Fire - 100, 175, 90, 100, 25, 100, 75, 100, 100, 100, // Wind - 100, 100, 125, 125, 125, 0, 75, 50, 100, -25, // Poison - 100, 100, 100, 100, 100, 100, 0, 125, 100, 150, // Holy - 100, 100, 100, 100, 100, 50, 125, 0, 100, -25, // Shadow - 70, 100, 100, 100, 100, 100, 75, 75, 125, 100, // Ghost - 100, 100, 100, 100, 100, 50, 100, 0, 100, 0, // Undead +//Neut Watr Natr Fire NYI NYI Holy Shdw NYI NYI + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, // Neutral + 100, 90, 120, 80, 100, 100, 100, 100, 100, 100, // Water + 100, 80, 90, 120, 100, 100, 100, 100, 100, 100, // Nature + 100, 120, 80, 90, 100, 100, 100, 100, 100, 100, // Fire + 100, 100, 100, 100, 90, 100, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 90, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 90, 120, 100, 100, // Holy + 100, 100, 100, 100, 100, 100, 120, 90, 100, 100, // Shadow + 100, 100, 100, 100, 100, 100, 100, 100, 90, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 100, 100, 100, 90, // UNUSED 2,10 // lv2 Attribute table -//Neut Watr Erth Fire Wind Pois Holy Shdw Gho Und - 100, 100, 100, 100, 100, 100, 100, 100, 50, 100, // Neutral - 100, 0, 100, 175, 80, 100, 50, 75, 100, 100, // Water - 100, 100, 0, 80, 175, 100, 50, 75, 100, 100, // Earth - 100, 80, 175, 0, 100, 100, 50, 75, 100, 150, // Fire - 100, 175, 80, 100, 0, 100, 50, 75, 100, 100, // Wind - 100, 75, 125, 125, 125, 0, 50, 25, 75, -50, // Poison - 100, 100, 100, 100, 100, 100, -25, 150, 100, 175, // Holy - 100, 100, 100, 100, 100, 25, 150, -25, 100, -50, // Shadow - 50, 75, 75, 75, 75, 75, 50, 50, 150, 125, // Ghost - 100, 75, 75, 75, 75, 25, 125, 0, 100, 0, // Undead +//Neut Watr Natr Fire NYI NYI Holy Shdw NYI NYI + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, // Neutral + 100, 90, 130, 70, 100, 100, 100, 100, 100, 100, // Water + 100, 70, 90, 130, 100, 100, 100, 100, 100, 100, // Nature + 100, 130, 70, 90, 100, 100, 100, 100, 100, 100, // Fire + 100, 100, 100, 100, 90, 100, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 90, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 90, 130, 100, 100, // Holy + 100, 100, 100, 100, 100, 100, 130, 90, 100, 100, // Shadow + 100, 100, 100, 100, 100, 100, 100, 100, 90, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 100, 100, 100, 90, // UNUSED 3,10 // lv3 Attribute table -//Neut Watr Erth Fire Wind Pois Holy Shdw Gho Und - 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, // Neutral - 100, -25, 100, 200, 70, 100, 25, 50, 100, 125, // Water - 100, 100, -25, 70, 200, 100, 25, 50, 100, 100, // Earth - 100, 70, 200, -25, 100, 100, 25, 50, 100, 175, // Fire - 100, 200, 70, 100, -25, 100, 25, 50, 100, 100, // Wind - 100, 50, 100, 100, 100, 0, 25, 0, 50, -75, // Poison - 100, 100, 100, 100, 100, 125, -50, 175, 100, 200, // Holy - 100, 100, 100, 100, 100, 0, 175, -50, 100, -75, // Shadow - 0, 50, 50, 50, 50, 50, 25, 25, 175, 150, // Ghost - 100, 50, 50, 50, 50, 0, 150, 0, 100, 0, // Undead +//Neut Watr Natr Fire NYI NYI Holy Shdw NYI NYI + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, // Neutral + 100, 90, 140, 60, 100, 100, 100, 100, 100, 100, // Water + 100, 60, 90, 140, 100, 100, 100, 100, 100, 100, // Nature + 100, 140, 60, 90, 100, 100, 100, 100, 100, 100, // Fire + 100, 100, 100, 100, 90, 100, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 90, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 90, 140, 100, 100, // Holy + 100, 100, 100, 100, 100, 100, 140, 90, 100, 100, // Shadow + 100, 100, 100, 100, 100, 100, 100, 100, 90, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 100, 100, 100, 90, // UNUSED 4,10 // lv4 Attribute table -//Neut Watr Erth Fire Wind Pois Holy Shdw Gho Und - 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, // Neutral - 100, -50, 100, 200, 60, 75, 0, 25, 100, 150, // Water - 100, 100, -50, 60, 200, 75, 0, 25, 100, 50, // Earth - 100, 60, 200, -50, 100, 75, 0, 25, 100, 200, // Fire - 100, 200, 60, 100, -50, 75, 0, 25, 100, 100, // Wind - 100, 25, 75, 75, 75, 0, 0, -25, 25,-100, // Poison - 100, 75, 75, 75, 75, 125,-100, 200, 100, 200, // Holy - 100, 75, 75, 75, 75, -25, 200,-100, 100,-100, // Shadow - 0, 25, 25, 25, 25, 25, 0, 0, 200, 175, // Ghost - 100, 25, 25, 25, 25, -25, 175, 0, 100, 0, // Undead +//Neut Watr Natr Fire NYI NYI Holy Shdw NYI NYI + 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, // Neutral + 100, 90, 150, 50, 100, 100, 100, 100, 100, 100, // Water + 100, 50, 90, 150, 100, 100, 100, 100, 100, 100, // Nature + 100, 150, 50, 90, 100, 100, 100, 100, 100, 100, // Fire + 100, 100, 100, 100, 90, 100, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 90, 100, 100, 100, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 90, 150, 100, 100, // Holy + 100, 100, 100, 100, 100, 100, 150, 90, 100, 100, // Shadow + 100, 100, 100, 100, 100, 100, 100, 100, 90, 100, // UNUSED + 100, 100, 100, 100, 100, 100, 100, 100, 100, 90, // UNUSED diff --git a/db/re/item_db.conf b/db/re/item_db.conf index 5caa4847..161ef7a5 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -2537,7 +2537,7 @@ item_db: ( Type: "IT_ARMOR" Buy: 15000 Sell: 900 - Weight:60 + Weight: 60 Def: 27 Loc: "EQP_SHOES" WeaponLv: 0 diff --git a/db/re/size_fix.txt b/db/re/size_fix.txt index e8e3774d..ae5ebdd4 100644 --- a/db/re/size_fix.txt +++ b/db/re/size_fix.txt @@ -2,6 +2,6 @@ // Columns: Weapon type, Rows: Target size. // Unarmed, Knife, 1H Sword, 2H Sword, 1H Spear, 2H Spears, 1H Axe, 2H Axe, Mace, 2H Mace, Staff, Bow, Knuckle, Musical Instrument, Whip, Book, Katar, Revolver, Rifle, Shotgun, Gatling Gun, Grenade Launcher, Fuuma Shuriken, 2H Staff -100,100, 75, 75, 75, 75, 50, 50, 75, 75,100,100,100, 75, 75,100, 75,100,100,100,100,100, 75,100 // Size: Small -100, 75,100, 75, 75, 75, 75, 75,100,100,100,100, 75,100,100,100,100,100,100,100,100,100, 75,100 // Size: Medium -100, 50, 75,100,100,100,100,100,100,100,100, 75, 50, 75, 50, 50, 75,100,100,100,100,100,100,100 // Size: Large +100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100 // Size: Small +100,100,100,100,100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100,100,100,100,100 // Size: Medium +100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100 // Size: Large diff --git a/npc/000-1/gugli.txt b/npc/000-1/gugli.txt index dd2e6739..77738a8a 100644 --- a/npc/000-1/gugli.txt +++ b/npc/000-1/gugli.txt @@ -150,7 +150,7 @@ L_Couwan: if (countitem(FishBox) > 0) delitem FishBox, 1; setq ShipQuests_Couwan, 2; - Zeny = Zeny + 10; + Zeny += 10; getexp 40, 0; message strcharinfo(0), l("You receive @@ E!", 10); @@ -202,7 +202,7 @@ L_TaskDone: if (countitem(PlushroomBox) == 1) delitem PlushroomBox, 1; setq ShipQuests_Gugli, 2; - Zeny = Zeny + 250; + Zeny += 250; getexp 50, 0; mes ""; diff --git a/npc/000-2-1/arpan.txt b/npc/000-2-1/arpan.txt index 9b2b9665..98cd05dc 100644 --- a/npc/000-2-1/arpan.txt +++ b/npc/000-2-1/arpan.txt @@ -201,7 +201,7 @@ L_WhereOldClothes: setq ShipQuests_ArpanMoney, 2; .@q = getq(ShipQuests_Arpan); - Zeny = Zeny + 10; + Zeny += 10; message strcharinfo(0), l("You receive @@ E!", 10); goto L_BeforeMenu; @@ -214,7 +214,7 @@ L_WhereMoney: setq ShipQuests_ArpanMoney, 2; .@q = getq(ShipQuests_Arpan); - Zeny = Zeny + 10; + Zeny += 10; message strcharinfo(0), l("You receive @@ E!", 10); goto L_BeforeMenu; diff --git a/npc/000-2-1/chefgado.txt b/npc/000-2-1/chefgado.txt index 69570fcf..0039e094 100644 --- a/npc/000-2-1/chefgado.txt +++ b/npc/000-2-1/chefgado.txt @@ -161,7 +161,7 @@ L_PoisonJulia: mesq l("The usurper has been punished! This is a great day! Take this reward as a prize for your loyalty to the old commander!"); setq ShipQuests_ChefGado, 4; - Zeny = Zeny + 200; + Zeny += 200; message strcharinfo(0), l("You receive @@ E!", 200); inventoryplace Bread, 1; getitem Bread, 1; diff --git a/npc/000-2-1/peter.txt b/npc/000-2-1/peter.txt index eaade56e..060fa660 100644 --- a/npc/000-2-1/peter.txt +++ b/npc/000-2-1/peter.txt @@ -285,7 +285,7 @@ OnDone: default: @peter=750; break; } - Zeny = Zeny + @peter; + Zeny += @peter; message strcharinfo(0), l("You receive @@ E!", @peter); // Some cleanup. Shouldn't cause bugs but it's absence causes a ugly behavior. diff --git a/npc/001-1/enora.txt b/npc/001-1/enora.txt index 45e6e551..bf2f7b16 100644 --- a/npc/001-1/enora.txt +++ b/npc/001-1/enora.txt @@ -123,7 +123,7 @@ .@zeny_reward = getarg(1); getexp .@exp_reward, 0; - Zeny = Zeny + .@zeny_reward; + Zeny += .@zeny_reward; narrator S_LAST_NEXT, l("You received @@ EXP and @@ E.", .@exp_reward, .@zeny_reward); diff --git a/npc/001-1/fexil.txt b/npc/001-1/fexil.txt index 2ea78091..7b612674 100644 --- a/npc/001-1/fexil.txt +++ b/npc/001-1/fexil.txt @@ -122,7 +122,7 @@ l("Deal, I offer you @@ E!", .@price); delitem FluffyFur, .@amount; - Zeny = Zeny + .@price; + Zeny += .@price; break; diff --git a/npc/001-1/salem.txt b/npc/001-1/salem.txt index c8ea3ab8..ceaeda8f 100644 --- a/npc/001-1/salem.txt +++ b/npc/001-1/salem.txt @@ -48,7 +48,7 @@ return 3; } - Zeny = Zeny - .@price; + Zeny -= .@price; getitem PiouEgg, 1; ArtisQuests_PiousBought += 1; mesq l("You take good care of your piou. Remember to feed it every day."); diff --git a/npc/001-2-19/lloyd.txt b/npc/001-2-19/lloyd.txt index fc17cc4f..e2f02ec0 100644 --- a/npc/001-2-19/lloyd.txt +++ b/npc/001-2-19/lloyd.txt @@ -115,7 +115,7 @@ } else { - Zeny = Zeny - .@price; + Zeny -= .@price; setq ArtisQuests_Lloyd, 1; speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Perfect!"), diff --git a/npc/001-2-22/peter.txt b/npc/001-2-22/peter.txt index 7fefb5f2..85d80bbb 100644 --- a/npc/001-2-22/peter.txt +++ b/npc/001-2-22/peter.txt @@ -285,7 +285,7 @@ OnDone: default: @peter=750; break; } - Zeny = Zeny + @peter; + Zeny += @peter; message strcharinfo(0), l("You receive @@ E!", @peter); // Some cleanup. Shouldn't cause bugs but it's absence causes a ugly behavior. diff --git a/npc/001-2-28/plush.txt b/npc/001-2-28/plush.txt index 330258b8..0cba5b2a 100644 --- a/npc/001-2-28/plush.txt +++ b/npc/001-2-28/plush.txt @@ -27,7 +27,7 @@ else { emotion E_HAPPY; - Zeny = Zeny - .@price; + Zeny -= .@price; INN_REGISTER = REDPLUSH_INN; PC_IS_DEAD = false; diff --git a/npc/001-2-9/janus.txt b/npc/001-2-9/janus.txt index 616991a6..6d176615 100644 --- a/npc/001-2-9/janus.txt +++ b/npc/001-2-9/janus.txt @@ -31,7 +31,7 @@ } else { - Zeny = Zeny - .@party_price; + Zeny -= .@party_price; setq General_Janus, 2; skill NV_BASIC, 7, 0; @@ -61,7 +61,7 @@ else { inventoryplace GuildCertification, 1; - Zeny = Zeny - .@guild_price; + Zeny -= .@guild_price; setq General_Janus, 3; getitem GuildCertification, 1; diff --git a/npc/008-2-2/melania.txt b/npc/008-2-2/melania.txt index 57275325..cf02dc90 100644 --- a/npc/008-2-2/melania.txt +++ b/npc/008-2-2/melania.txt @@ -89,7 +89,7 @@ else { emotion E_HAPPY; - Zeny = Zeny - .@price; + Zeny -= .@price; INN_REGISTER = .inn; PC_IS_DEAD = false; diff --git a/npc/008-2-2/melinda.txt b/npc/008-2-2/melinda.txt index 86f26e96..17127656 100644 --- a/npc/008-2-2/melinda.txt +++ b/npc/008-2-2/melinda.txt @@ -47,7 +47,7 @@ switch (select(l("Sure! [Don't tip]"), getinventorylist; if (@inventorylist_count == 100 && countitem("Beer") == 0) goto L_TooMany; - set Zeny, Zeny - 90; + Zeny -= 90; getitem Beer, 1; mes ""; mesn; @@ -59,7 +59,7 @@ switch (select(l("Sure! [Don't tip]"), getinventorylist; if (@inventorylist_count == 100 && countitem("Beer") == 0) goto L_TooMany; - set Zeny, Zeny - 95; + Zeny -= 95; getitem "Beer", 1; mes ""; mesn; @@ -71,7 +71,7 @@ switch (select(l("Sure! [Don't tip]"), getinventorylist; if (@inventorylist_count == 100 && countitem("Beer") == 0) goto L_TooMany; - set Zeny, Zeny - 100; + Zeny -= 100; getitem "Beer", 1; mes ""; mesn; diff --git a/npc/commands/gm.txt b/npc/commands/gm.txt new file mode 100644 index 00000000..b402cda8 --- /dev/null +++ b/npc/commands/gm.txt @@ -0,0 +1,41 @@ +// @showgm/@hidegm atcommand +// TEMPORALY hides GM level (or revert it) +// +// group lv: 20+ +// group char lv: 99 +// log: False +// +// usage: +// @showgm +// #showgm "char" <delta> +// + +- script @group 32767,{ + end; + +OnHide: + .@gm=getgroupid(); + if (.@gm < 20) end; + if (.@gm % 10 != 0) end; + setgroupid(.@gm+1); + dispbottom "hidelevel : "+l("Your GM level is now hidden."); + end; + +OnShow: + .@gm=getgroupid(); + if (.@gm < 20) end; + if (.@gm % 10 != 1) end; + setgroupid(.@gm-1); + dispbottom "showlevel : "+l("Your GM level is now visible."); + end; + +OnInit: + bindatcmd "showgroup", "@group::OnShow", 20, 99, 0; + bindatcmd "showgm", "@group::OnShow", 20, 99, 0; + bindatcmd "showlevel", "@group::OnShow", 20, 99, 0; + + bindatcmd "hidegroup", "@group::OnHide", 20, 99, 0; + bindatcmd "hidegm", "@group::OnHide", 20, 99, 0; + bindatcmd "hidelevel", "@group::OnHide", 20, 99, 0; + end; +} diff --git a/npc/commands/resync.txt b/npc/commands/resync.txt index 63b2d290..a535a343 100644 --- a/npc/commands/resync.txt +++ b/npc/commands/resync.txt @@ -35,6 +35,6 @@ OnCall: // Anyone can call @resync, but only support and upwards for other players. // ie. GMs can try to fix lag for other people. OnInit: - bindatcmd "resync", "@resync::OnCall", 0, 2, 0; + bindatcmd "resync", "@resync::OnCall", 0, 20, 0; end; } diff --git a/npc/commands/warp.txt b/npc/commands/warp.txt index e4e5c92c..22eeda39 100644 --- a/npc/commands/warp.txt +++ b/npc/commands/warp.txt @@ -76,16 +76,16 @@ OnCall: OnInit: if (debug > 0) { - bindatcmd("w", "@w::OnCall", 0, 2, 0); - bindatcmd("go", "@w::OnCall", 0, 2, 0); - bindatcmd("to", "@w::OnCall", 0, 2, 0); - bindatcmd("warp", "@w::OnCall", 0, 2, 0); + bindatcmd("w", "@w::OnCall", 0, 20, 0); + bindatcmd("go", "@w::OnCall", 0, 20, 0); + bindatcmd("to", "@w::OnCall", 0, 20, 0); + bindatcmd("warp", "@w::OnCall", 0, 20, 0); } else { - bindatcmd("w", "@w::OnCall", 2, 2, 1); - bindatcmd("go", "@w::OnCall", 2, 2, 1); - bindatcmd("to", "@w::OnCall", 2, 2, 1); - bindatcmd("warp", "@w::OnCall", 2, 2, 1); + bindatcmd("w", "@w::OnCall", 20, 60, 1); + bindatcmd("go", "@w::OnCall", 20, 60, 1); + bindatcmd("to", "@w::OnCall", 20, 60, 1); + bindatcmd("warp", "@w::OnCall", 20, 60, 1); } } diff --git a/npc/commands/zeny.txt b/npc/commands/zeny.txt index 77f6d2de..944c1bb9 100644 --- a/npc/commands/zeny.txt +++ b/npc/commands/zeny.txt @@ -94,5 +94,5 @@ OnInit: end; } - bindatcmd "esp", "@esp::OnCall", 3, 99, 1; + bindatcmd "esp", "@esp::OnCall", 99, 99, 1; } diff --git a/npc/functions/permissions.txt b/npc/functions/permissions.txt index 62e0da6b..96e69fde 100644 --- a/npc/functions/permissions.txt +++ b/npc/functions/permissions.txt @@ -31,5 +31,5 @@ function script is_evtc { // game master function script is_gm { return is_admin(getarg(0, getcharid(CHAR_ID_ACCOUNT))) || - has_permission("send_gm", getarg(0, getcharid(CHAR_ID_ACCOUNT))); + can_use_command("@jail", getarg(0, getcharid(CHAR_ID_ACCOUNT))); } diff --git a/npc/scripts.conf b/npc/scripts.conf index 1106d6e6..8e0d91d9 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -106,6 +106,7 @@ "npc/items/master_skillbook.txt", // custom atcommands +"npc/commands/gm.txt", "npc/commands/music.txt", "npc/commands/warp.txt", "npc/commands/zeny.txt", |