• Content count

  • Joined

  • Last visited

  • Days Won


Myriad last won the day on June 25

Myriad had the most liked content!


About Myriad

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Location:
  • Emulator:

Recent Profile Visitors

1204 profile views
  1. Thanks Smoke. I found what I was looking for thanks to you. Much appreciated.
  2. I have a clif->message I want to display in chat when a character begins casting a certain skill: clif->message(sd->fd, "Starting now!"); I want this to occur before the user starts casting the skill. I.e. order: 1. Player uses skill. 2. Player receives message in chat "Starting now!". 3. Player begins casting skill.
  3. Logically through a script, you could initnpctimer() and then message() the AID. But I don't know how to do that through source. Edit: just skimming through some source, I think you can use a combination of timer->gettick() and something else to perform the time counter. Not sure about sending a msg to the guild leader though. I think you can achieve the GL ID through sql query, im not sure about the announcement part tho. Edit2: sorry, i dont actually have meaningful contribution, just rambling. Apologies.
  4. no to faction system. keep working hard at this. just my opinion.
  5. IT'S NOT EMAIL PROTECTED deletearray([email protected]$[0]);
  6. Hm well now you got a few more columns in your sql table. To get those party members, you can do this: Add this... below .@PN$ = ... deletearray([email protected]$[0]); getpartymember(.@PID, 0); Run this SQL query to add the table to your DB... CREATE TABLE IF NOT EXISTS `Orcs` ( `party_id` INT(11) NOT NULL DEFAULT '0', `party_name` VARCHAR(24) NOT NULL, `name1` VARCHAR(24) NOT NULL, `name2` VARCHAR(24) NOT NULL, `name3` VARCHAR(24) NOT NULL, `name4` VARCHAR(24) NOT NULL, `name5` VARCHAR(24) NOT NULL, `time` VARCHAR(24) NOT NULL DEFAULT '00:00:00', `date` DATE NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE = MyISAM DEFAULT CHARSET=latin1;) Replace your current insert query with this: query_sql("INSERT INTO `Orcs` VALUES (" + .@PID + ", '" + escape_sql(.@PN$) + "', '" + escape_sql([email protected]$[0] + "', '" + escape_sql([email protected]$[1] + "', '" + escape_sql([email protected]$[2] + "', '" + escape_sql([email protected]$[3] + "', '" + escape_sql([email protected]$[4] + "', '" + .@time$ + "', NOW())");
  7. Hm okay, was wondering since a server I played long ago had a command which would open a command prompt then initiate a ping test. Cyro in the Discord server linked an old source release on rathena re: ping command. I will check it out and investigate.
  8. Hi, I am wondering if it is possible for a client to force open something? I am interested in having an atcommand which can open a command prompt and initiate some commands. Thanks
  9. First create a table, perhaps called orcs_memory Btw, this is just off the top of my head. I cannot confirm works. Create table with the following columns: party_id (needs to be integer) party_name (needs to be string) time (needs to be string) Then, the moment your instance completes, you can the add following script: .@PID = getcharid(CHAR_ID_PARTY); .@PN$ = getpartyname(.@PID); .@time$ = ...(I wrote in the last post how to get this) query_sql("INSERT INTO `orcs_memory` VALUES (" + .@PID + ", '" + escape_sql(.@PN$) + "', '" + .@time$ + "')"); And then for your npc, the sql query: prontera,150,150,3 script Orcs Memory Rank CLEAR_NPC,{ query_sql("SELECT `party_name`, `time` FROM `orcs_memory` ORDER BY `time` ASC LIMIT 10", .@pname$, .@rank$); mes("Orcs Memory Rank"); for (.@i = 0; .@i < getarraysize(.@rank$); ++.@i) mes("" + .@pname$[.@i] + " - " + .@rank$[.@i] + ""); close; }
  10. Before I start, I need to let you know a few things about my potential solution. I have never tried this before. I don't know how initnpctimer() interacts with instance NPCs. I don't have time to test. This might help you get started / understanding the process. // Add this NPC script to the OrcsMemory.txt instance script. [email protected],1,1,0 script Orcs_Memory_Timer FAKE_NPC,{ end; } /************* * Notes ************** Immediately after the instance is created, add this line below it: initnpctimer("Orcs_Memory_Timer"); I don't know how the Orc's Memory instance ends, but when it ends (maybe you need to add an event for when the mob is killed), add these lines: stopnpctimer("Orcs_Memory_Timer"); .@time = getnpctimer("Orcs_Memory_Timer") / 1000; if (.@time < $Orcs_Memory_Record) { // This next bit will display time as 00:00:00 format .@hour$ = .@time % (24*60*60) / (60*60) + ""; .@min$ = .@time % (24*60*60) % (60*60) / (60) + ""; .@sec$ = .@time % (24*60*60) % (60*60) % (60) + ""; .@time$ = "" +(getstrlen(.@hour$) == 1 ? "0" : "")+ "" + .@hour$ + ":" +(getstrlen(.@min$) == 1 ? "0" : "")+ "" + .@min$ + ":" +(getstrlen(.@sec$) == 1 ? "0" : "")+ "" + .@sec$ + ""; announce("The " + getpartyname(CHAR_ID_PARTY) + " party cleared the dungeon in " + .@time$ + ", a new record!", bc_all); $Orcs_Memory_Record = .@time; } You will need to set the $Orcs_Memory_Timer to something really high before the first party does the instance. This is so the first party to clear the dungeon will be the first record. I advise going in-game and using the following atcommand: @set $Orcs_Memory_Timer 1000000000 (that's 1 billion seconds lol) *************/
  11. Ya well I thought it may be easier to understand if it is written like that. Good luck. I suggest you should write your own script for it so it can be understood better.
  12. I remember there is a plugin that does this. If I recall, it is sellitem2:
  13. I took the time to rewrite the script you put in your first post. I don't really understand what it does, but here you go: All I did was make it cleaner and included Hercules constants to make it easier to read.
  14. if ( getarraysize(@SP_RN_NAME$)== 0 ) { you need this to be .@SP_RN_NAME$ you got it only as @ instead of .@
  15. I suggest adding support for the following: @mapflag atcommand @mapinfo atcommand getmapflag script command removemapflag scriptcommand setmapflag script command