Thanks Natedog will give this a try!
Celestial |
If anyone is interested this will train everything but trade skills and spell specializations.
Code:
sub EVENT_LEVEL_UP { |
Wow. That foreach iteration specification is beautiful.
Several people have been wondering about the cleanest way to iterate through numbers while skipping some, without nested ifs or multiple fors. That's just gorgeous! |
Quote:
|
I feel like Shendare is kind of like this guy right now.
|
Im having trouble getting this to work. We had it working fine before but we just recently migrated our server from a windows 7 baed machine to a Linux machine running debian8. Below is a copy of the perl script we are using, that worked fine before we migrated.
Code:
sub AutoTrain { |
Haven't tested it for functionality, don't see anything immediately wrong besides unneeded lines:
Code:
sub AutoTrain { |
The only thing I can figure is something minuscule was altered during the transfer from windows to linux but I cant quite figure out what it could be. Like we had a few issues with perl scripts with the names in lowercase and Linux being case sensitive.
|
Also note that if you go from skills 66-73 you will get a few trade skills in there. Think its JC and and Pottery if I remember right. Just a thought though as I see you skipped the others.
|
Quote:
Do i just add this and replace the other level event in global.lua? Also can you add Spells / Disc to this code? |
Would anyone that is versed in LUA be able to create the above with spell scribe and discs?
Ex from above. Quote:
|
Quote:
Code:
-- #Spell_Scribe Code:
-- #Discipline_Trainer |
Sorry to necro the thread, but if I wanted this to stop at say level 70, would it look like this?
Code:
sub AutoTrain { |
Tested and works perfect
|
You have an extra curly in the code above.
Code:
sub AutoTrain { May as well just put it in the sub EVENT_LEVEL_UP like so: Code:
sub EVENT_LEVEL_UP { |
Also, since this thread had a lot of conversation. The iteration you have does all skills 0 through 74. That will include trade skills and such. Use this as a reference as to which skills you actually want to have affected or at least confirm:
http://wiki.eqemulator.org/p?Skills |
Awesome was just thinking about that haha. Thanks man
|
When I tackled this, I ended up editing source and just went into
Client::SetLevel around the point it calls DoTributeUpdate(), I declared a new function called Client::UpdateSkillsAndSpells(). The scripted way is probably easier, but with this route, you get nearly full control of what a player autotrains. This may be useful in cases where you don't want *all* spells memorized automatically, yet certain spells can be obtained via quests/other means while other baseline ones are obtained. Then I just tossed this into the UpdateSkillsAndSpells() call. https://gist.github.com/xackery/a7ba...5eda7e37596ae1 Note this does not max skills, but really just sharing it for those who stumble upon this post to see another way. *shrugs* This gives me granular control over what skills and spells a player earns on levelup. You'll see a javascript selector snippet in the source, like so: Code:
for ($i = 0; $i < document.querySelectorAll('a').length; $i++) { $ref = document.querySelectorAll('a')[$i].href; if ($ref.includes("zstrat")) { console.log($ref); } } Change your class, in chrome, right click the page and go to Inspect, then the Console tab, then click the circle with a line through to clear console, and paste in the above selector. Then right right click the listed output, hit Save As...and it'll create a logfile dump with the info. Open it in a multiline edit tool like Sublime or TextWrangler and manipulate it into a conditional list, and remove any spells you don't want. |
So this is working perfectly for giving skills to players, what's the best way to provide spell scribing in here? I want it to just happen at skill-up. I chopped up what was posted earlier in an npc and I couldn't get it working. I understand lua is probably great, but I had a hard enough time with perl :)
Code:
function event_level_up(e) |
I'm not sure if this is old or I should post here anymore, however I got a .lua code that works and thought I'd share it with everyone.
Code:
function event_level_up(e) |
Quote:
|
You could add it to the existing function.
It would probably be better to put it in a separate function like grantsSkills(), and then call it. That code can be simplified a bit, the negative checks are not needed (if false then do nothing + if false then do nothing + if true then do something == if true then do something). |
If there are two function calls for the same event, would that cause issue?
Edit: I did add this into the lua file. Seems to work just fine id the skill isn't 1 or greater. |
I'm not quite sure how it will handle the same function twice, but it's not a good idea. Most languages won't allow it. If it does allow it, then its a bad idea from a maintenance perspective.
|
All times are GMT -4. The time now is 08:12 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.