LandSandBoat / server

:sailboat: LandSandBoat - a server emulator for Final Fantasy XI
https://landsandboat.github.io/server/
GNU General Public License v3.0
289 stars 573 forks source link

not work spell and scroll #676

Open tourmaline3333 opened 3 years ago

tourmaline3333 commented 3 years ago

Additional Information (Steps to reproduce/Expected behavior) :


I use scroll, but I did not learn these spell

Absorb-Attri comet (only scroll do not work?) meteor(only scroll do not work?) breakga(only scroll do not work?)

RAIST5150 commented 3 years ago

May be a mismatch between the SQL entry and the globals lua file for the item... or the lua file may not even exist yet.

Some items/scrolls/spells may not have been scripted yet because they may not really be obtainable by normal methods (like things that only come from events/systems/chests in zones that are not fully implemented yet).

helixhamin commented 3 years ago

Does not exist list Absorb-attri (Does not have spell_list.sql entry or script)

Does exist list (sql and script): comet meteor breakga

SQL entries: INSERT INTOspell_listVALUES (218,'meteor',0x00000063000000000000000000000000000000000000,2,61,7,0,4,36,418,8000,52000,2,252,241,2000,0,964,1.00,0,0,0,204,'ABYSSEA'); INSERT INTOspell_listVALUES (219,'comet',0x0000005E000000000000000000000000000000000000,2,0,8,0,4,37,350,10000,45000,2,252,219,2000,0,964,2.30,1,320,0,204,'ABYSSEA'); INSERT INTOspell_listVALUES (365,'breakga',0x00000000000000000000000000000000000000000000,2,102,4,0,4,35,100,5000,60000,0,0,271,2000,1,0,1.00,0,0,0,204,'ABYSSEA');

For breakga, it is obvious from the job list (That super long string starting with 0x) that it is not assigned to any jobs at all. For the other two spells, sorry, I am not sure what jobs those values are associated with. It could be they are assigned wrong, or something else. Maybe someone else can enlighten us on how that works.

helixhamin commented 3 years ago

Okay, after more research, we can look at a scroll script:

-----------------------------------
-- ID: 4855
-- Scroll of Aspir
-- Teaches the black magic Aspir
-----------------------------------
local item_object = {}

item_object.onItemCheck = function(target)
    return target:canLearnSpell(247)
end

item_object.onItemUse = function(target)
    target:addSpell(247)
end

return item_object

So, the scroll script, if you meet the requirements of the script, will add the spell to your character. However, I have searched these, and I do not see these scroll scripts in the items folder: https://github.com/LandSandBoat/server/tree/base/scripts/globals/items There is no scripts for these on item use, so, using the scrolls will not do anything to the player because there is nothing telling it what it should do. Basically, these items may be flagged as usable in the data base, why you can try to use them, but they do not have the script telling them what to do when you use them. These would need to be added to be able to use them to learn the spells.

helixhamin commented 3 years ago

Please try to make the item script (Copy any, like scroll_of_aspir.lua), replace the spell ID (In the Aspir scroll example above, the id is 247) with the correct one (218 for meteor with the script name changed to scroll_of_meteor, 219 for comet with the script name changed to scroll_of_comet, 365 for breakga with the script name changed to scroll_of_breakga), and rename the script to match.

If you learn the spell, then it probably works. Don't forget to help contribute them back to the project ^.^

RAIST5150 commented 3 years ago

Keep in mind there may not be a means to acquire these in game by normal means yet... other than MAYBE the goblin special dial.

For example... Walk of Echoes Conflux 9 or 10, or Antagonistic Ambuscade (Bonyard Gully) for Comet.

Jerseyturo commented 1 month ago

as a fresh lv99 blm, these problems are still here. are there any plans to fix this... just noticed this was opened 3 years ago.