Jump to content

Recommended Posts

Posted

Macros

Macros are very handy tools and can help you out of all sorts of spots. Basically, everything you click on is actually sending a typed command to the program. The icons are already macros. Try issuing the commands /sit and /stand at the console. Note that your character sits and stands, just like pressing on the icon ... well, almost!

A macro (in case you're not sure) is a string of pre-typed commands. You hit the button, and the macro, "runs," executing those commands one after the other, just as if you had typed them one after the other at the keyboard.

To start with, I'm going to teach you a wonderfully useful macro that was taught to me by the wonderful Jane Muffin. If you have ever come across a mob that you can't attack because the system just won't let you, then you need /attack force - yes typing this in at the keyboard will do the job, but on most servers you may need to do it more regularly. First off, access the Macro section by pressing ALT + R together. The Macro window will pop up. Click the Add button and you will now get the macro edit window. Give, "Attack Force" as the name, "atkf" as the acronym (you've only got four letters) and in the 00 box, type, "/attack force" and click save. Congratulations, you've now made your first macro.

Now you can see that green button on it with the four letters that is your acronym. You can actually drag that button, just like everything else, in to your side bar. Many people overwrite the default attack button with this macro, as it is so useful. When you're done, you can just close the macro window.

Another of Janes useful tips is to put all your buffs in a macro. That way, you just haveone macro button in your side bar, and it triggers all your buffs automatically!

Like before, press ALT R to get the macro window up, and press New to create a new macro. While that window is open, now also open your skills window. You can drag and drop your skills in to the 00, 01, 02, etc. slots on the macro editor! Note that the commands themselves actually appear in the macro editor. Once you've put all your buffs in here, you can just give the macro a name and an acronym, then you can save it. Finally, you can drag the macro button in to your sidebar and use it to fire off all your buffs. You can also do this with the buffs that you use on other characters. It saves a lot of time.

One final word about using macros for things like buffs, is that even if you click on something else, the macro will stop running, so be sure to stay still throughout the macros execution.

In Macro

00 /useskill PowerStrike

01 /usekills sting

02 /attackForce

Posted

Sry guys but i cant load  the image

i do copy and  go for paste but nothing

 

LOL

 

 

btw maybe interesting to make a post in which we mention our "best usefull macro"

 

for example:

 

"selfheal funky HP style"  :P

/target %self

/skill (name of a quick heal)

and so one with delay if necessary

very relevant for healers/buffers

 

"always on the rush" ;D

/forceskill (name of your usefull fight skill)

for all your main skills and put this in the toolbar in order to be always ready ^^

 

"Oh superman!"  ;)

in one click: from no grade set to S grade set ^^

 

"scan" 8)

the famous /target "name of a char" for finding a foe

 

...

 

 

  • 2 weeks later...
Posted

people can someone tell me how to do this?

Like i saw in a video a guy doing this

 

Assist Me ---->"Bart"<----

Assist Me ----> "Katherine"<----

 

 

how can i make a macro to tell in #(party) my target?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • we all love you very much Guytis💖 🤗
    • W/e u smoke there, i want aswell... life has been cruel all this time! Maybe it will help me
    • I would like to take this opportunity to publicly apologize to the following people:   @Acacia, @Victory, @Splicho, @ShadowNetwork, @l2gold2025, @SkyLord, @maneco, @F4sh10n, @Maxtor, @Celestine, @911reg, @Nightw0lf. @UnknownSoldier   If at any point my words, actions, or posts offended you, I sincerely apologize. I recognize that in the past there were moments of tension and unnecessary conflict, but today I want to leave all of that behind. From now on, I choose not to hold any grudges against anyone and to let go of everything that happened — from both sides. The path I want to follow in this community is one of collaboration, mutual respect, and growth. Thank you to those who are still contributing and sharing. Sincerely,   Guytis
    • I found a dev , I will edit this post and start tomorrow as to build a 100 percent retail l2 Pride volos style like the old times   Features: Chronicle: Interlude  Xp:999 Sp:999 Adena:999 Start level : 80   Fast farming system : up to 3 hours for S grade equipment and up.to 5 days for later added 2 armor and weapon sets   Buff time 59mins all Full Npc buffer,  I will have buffers but with no heal close by for all areas  Reasonably priced Gm Shop, Gatekeeper, Free noblesse On death you dont lose sny materials and such except for very few if you P.k.   CP,hp,mp potion for 200 each   all players go from.No grade gear to S grade  with each different part of weapon , armor set,jewels,dyes,tattoos having different stats and such   Unique system of skills and little tweaks,     All classes of heroes have a fighting chance each with a different purpose and character..     All skills and deffus work for 70% chance of success and up  but for 4 to 7 sec each.   Many different areas of xp,sp and farm, 2 3 different farm pvp areas and all changing some. Days of the week, Also 2 party farm and pvp areas will be added.     All mini raid bosses and bosses have an hour respawn time.   As for special bosses  All have 1 hour almost  respawn time except for , Valakas and antharas with 3 hours.   And lastly  , 5 different events will be available for a good reward 5 times a day.  
    • Чтобы скачать файлы с сайта Akumu, вы можете использовать этот код на Node.js. Понадобятся два пакета: axios и cheerio.   это медленно, но делает свою работу   P.S. пропускает файл, если он присутствует и не изменен   const axios = require("axios"); const cheerio = require("cheerio"); const fs = require("fs/promises"); const path = require("path"); const BASE_URL = "http://akumu.ru/lineage2/L2NA/P746/"; const OUTPUT_DIR = "./downloaded"; async function delay(ms) { return new Promise((res) => setTimeout(res, ms)); } async function downloadFile(url, filepath) { // Skip download if file already exists and was not modified today try { const stat = await fs.stat(filepath); const mtime = stat.mtime; const today = new Date(); if ( mtime.getFullYear() === today.getFullYear() && mtime.getMonth() === today.getMonth() && mtime.getDate() === today.getDate() ) { // File was modified today, do not skip } else { console.log(`File exists, skipping: ${filepath}`); return false; // Indicate skipped } } catch (e) { // File does not exist, proceed to download } const writer = await fs.open(filepath, "w"); const response = await axios({ url, method: "GET", responseType: "stream" }); const totalLength = parseInt(response.headers['content-length'], 10); let downloadedLength = 0; let lastLogged = Date.now(); let lastDownloaded = 0; const lastModified = response.headers["last-modified"]; const mtime = lastModified ? new Date(lastModified) : new Date(); return new Promise((resolve, reject) => { const stream = writer.createWriteStream(); response.data.on('data', (chunk) => { downloadedLength += chunk.length; const now = Date.now(); if (now - lastLogged > 1000 || downloadedLength === totalLength) { const percent = totalLength ? ((downloadedLength / totalLength) * 100).toFixed(2) : 'N/A'; const speed = ((downloadedLength - lastDownloaded) / ((now - lastLogged) / 1000)) / 1024; // KB/s process.stdout.write(`\rDownloading ${path.basename(filepath)}: ${percent}% (${(downloadedLength/1024).toFixed(1)} KB/${totalLength ? (totalLength/1024).toFixed(1) : '?'} KB) ${(speed).toFixed(1)} KB/s `); lastLogged = now; lastDownloaded = downloadedLength; } }); response.data.pipe(stream); response.data.on("end", async () => { await writer.close(); process.stdout.write("\n"); // Set mtime and atime try { await fs.utimes(filepath, mtime, mtime); } catch (e) { console.warn( `Failed to set file timestamp for ${filepath}:`, e.message ); } resolve(true); // Indicate downloaded }); response.data.on("error", async (err) => { await writer.close(); reject(err); }); }); } async function crawlAndDownload(url, localPath) { console.log("Visiting:", url); // Ensure local path exists await fs.mkdir(localPath, { recursive: true }); const { data } = await axios.get(url); const $ = cheerio.load(data); const links = $("tbody a") .toArray() .map((el) => $(el).attr("href")) .filter((href) => href && href !== "../"); for (const href of links) { const fullUrl = new URL(href, url).href; const decodedHref = decodeURIComponent(href); const targetPath = path.join(localPath, decodedHref); if (href.endsWith("/")) { // It's a folder, recurse normally await crawlAndDownload(fullUrl, targetPath); } else { // It's a file, retry download indefinitely on failure while (true) { try { console.log("Downloading file:", fullUrl); const downloaded = await downloadFile(fullUrl, targetPath); if (downloaded) { await delay(1000); // Delay only if file was downloaded } break; // Success or skipped, exit retry loop } catch (err) { console.error( `Failed to download ${fullUrl}, retrying... Error: ${err.message}` ); // Optionally wait before retrying to be gentle on server await delay(3000); } } } } } crawlAndDownload(BASE_URL, OUTPUT_DIR) .then(() => console.log("Done!")) .catch((err) => console.error("Error:", err));
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock