Jump to content

KeyWorld

Members
  • Posts

    379
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by KeyWorld

  1. I have the official psd logo (don't ask how), but it's not a font, just an art design ! (Just see the difference in the "a" letter Ragnarok to understand this). Maybe a fan build a font for this, but I don't think, you have to draw it yourself. Logo 1: image - psd (just one layer) Logo 2: image - psd
  2. Week day (0 for Sunday, 6 is Saturday) So, 5 = Friday, not tuesday. Tuesday = 2. Edit: well just a wrong comment since you mentionned Friday in your post... Something like this: OnInit: // not friday or before 06:55 or after 1805, hide the npc if ( gettime(4) != 5 || gettime(3) * 100 + gettime(2) < 655 || gettime(3) * 100 + gettime(2) > 1805 ) DisableNPC("Mrs.Friday");
  3. Can you open it with an hex editor and show us the first bits ? (screenshot or copy paste)
  4. Well don't know. There is no new diff (no update from the diff team) so the only way for me to update the list (since I don't have enough asm knowledge) is to use the Shin's Diffpatcher and search executable's modifications for each options to build my own diffs (it sucks...).
  5. What king of file do you try to open with a GRF parser ?
  6. typo error. 1 < .@len-1 It's .@i < .@len-1
  7. mes callfunc("int_format", .@prozeny); Too late.
  8. Maybe better (if I'm not wrong how insertchar() works): function script int_format { set .@int$, getarg(0)+""; set .@sep$, getarg(1,","); set .@l, getstrlen(.@sep$); set .@len, getstrlen(.@int$); for ( set .@i,.@len-3; .@i>0; set .@i, .@i-3-.@l ) set .@int$, insertchar( .@int$, .@sep$, .@i ); return .@int$; }
  9. @Terces I'm not sure since of your function (the modulo part isn't good I thing: for 12, it return "12" instead of "012" if I'm not wrong). Well, writing from scratch, but should work in theory (don't have my scripts right now). //callfunc( "int_format", 1055183018 ); // you can add a second argument for the separator, default ",". function script int_format { set .@int, getarg(0); set .@sep$, getarg(1,","); set .@str$, ""; if ( .@int < 0 ) { set .@int, -.@int; set .@neg, 1; } set .@len, getstrlen(.@int+"") - .@neg; for ( set .@i,0; .@i<.@len; set .@i,.@i+1 ) set .@str$, ( .@i % 3 == 2 && 1 < .@len-1 ? .@sep$ : "" ) + ( .@int / pow(10,.@i) ) % 10 + .@str$; return ( .@neg ? "-" : "" ) + .@str$; }
  10. callfunc( "display", .@map$ ); // send .@map$ as argument function%tab%display%tab%script%tab%{ mes getarg(0); // getarg(0) refered to argument 0 passed to the function (.@map$) return; }
  11. It's difficult to focus on differents projects (just see the result of stable + trunk so imagine for a server + client). The problem is just that it required some active members to work on - and as you can see on other open source client (Open Ragnarok - Pantheon Online, ...) devs are lazy to keep it up to date, and new devs preferred writing their own closed-source client from scratch instead of helping another open source client.
  12. In my opinion, plugin system is just a veil to hide the bad "closed source" thing, nothing else. 1 - We can't do all things we want with plugins, they can't manage every things or hook every functions for complex modifications. 2 - If it's manage as his diffpatcher, do you really want a client with 50-60 plugins that generate 50-60 dll ? 3 - What about security ? Use the plugin system to ""cheat"" on some other pserver ? 4 - If there is a bug or memory leak, we have to report and wait for an update when it can be fixed quickly on a open-source client. 5 - We just have to trust the dev about the performance, security, ... when we have no idea about what he did with his code (keylogger, ...) (no offense to Shin).
  13. The screenshot is from Pantheon Online, an other open-source client (abandoned project), not Open Ragnarok. Agree with Gepard, closed source with plugin doesn't avoid people to write their own plugin and sell them after - it's not a good reason for me. By the way, good luck for your project.
  14. @hatedigi As I said below, I don't have much time to work on it for now; so I can't do a beta that will generate a lot of bugs report and missing stuff since I don't have a lot of time to correct them. @Kaze Thank you ! @xXAkatsukiUchihaXx No it's just a web based client, not server (it's not an offline game).
  15. Be sure your server is compile with PCRE.
  16. I made some improvements / enhancements, started working a bit on str files, start to rewrite a part of the code and start to think of a new way to support all packetver, but nothing concrete (I'm currently busy to search a new home with my girlfriend, so not really have a lot of time to work on).
  17. Looks nice, better render than my engine (I don't support model opacity and animation to optimize the framerate). Do you have this weird model in amatsu ? It's the only model with a weird position I have (I think other RO engine use a culling that skip it from render). Why do I choose a low level API for my project ?... Maybe for the challenge lol... Keep it up even if it's a bad thing to keep the source closed, I don't see the point.
  18. I learned ea script by practicing, for me the best way to learn quickly is to start a complex project that required you to understand a lot of things. My first script was a mini game that I called "hit the mole" (a square with some mole npc that hide and unhide, you have to walk near and touch it, then there was a hammer fall effect and you gain one point; you have to get maximum of points). The second script I made was a chess script (far more complex, need to learn how to optimize, the good use of variable, functions, organization, ...). After this, I was able to make a lot of things (connect 4, hangman (string manipulation cheat), guitare hero, bomberman, and a lot of other things for my own prototype pserver - RIP). All the things I learned was by trying to cheat with the script engine, or by contest/challenge (annie, toasty, m3ttwur5t, having good days in the past...). So for me the best way to learn is by having fun, having some rivals (of course !), and trying to make amazing things even if you don't have the knowledge to force yourself to learn a lot of things
  19. You can use Sql_EscapeStringLen.
  20. You have to use the label On<weekday><hour><minute>: and the command enablenpc().
  21. In conf/inter_athena.conf : // Level range for sharing within a party party_share_level: 15
  22. I can't really make it more simple... It's just a basic SQL request. As I said below, we just have to know what the script is supposed to do to complete it (display players in your party ? display members in your guild ? display all players of a map ?)
  23. Hi Melody. We have to know what you want to display, the filter : -> All character in a specify account ? -> One character in a party based on the party id ? -> ... Specify. It's not possible to display an emblem in the npc dialog (or is it a new feature I'm missing ?). Here the code, just missing the "what do we need to select" thing in the sql query. set .@n, query_sql( "SELECT " + "c.`name`, c.`base_level`, c.`job_level`, c.`class`, " + "g.`name` " + "FROM " + "`char` AS c " + "LEFT JOIN " + "`guild` AS g " + "ON " + "c.`guild_id` = g.`guild_id` " + "WHERE " + "<don't know what to write here, missing some informations>", .@name$, .@base_level, .@job_level, .@class, .@guild_name$ ); for ( set .@i, 0; .@i<.@n; set .@i, .@i+1 ) { mes( "Character Name: ^0000FF" + .@name$[.@i] + "^000000", "Base/Job Level: ^993333" + .@base_level[.@i] + " / " + .@job_level[.@i] + "^000000", "Class: ^993333" + jobname(.@class[.@i]) + "^000000", "Guild: ^993333" + .@guild_name$[.@i] + "^000000", "" ); }
  24. Just add a script in your hat: bonus bAtkEle, rand(Ele_Neutral,Ele_Undead); But player can flood equip-unequip until he has the good element.
  25. Weird, maybe you should put a sleep2(1); just after the doevent() to force the script engine to execute it before it pause the script with the progressbar().
×
×
  • Create New...