Jump to content

Lighta

Members
  • Posts

    737
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Lighta

  1. I think the pool need to be restarted since the last option was insert way after, (people had already voted...)
  2. Thx EvilPuncker, I always forget. Looks good at first sight but I'll need to try it properly before commit it so probably this weekend it'll be done, or if someone wanna do it feel free. Anyway thx EP =)
  3. There another disavantage that I can see what if I had done something like a cron : conf/motd.txt < news_on_forum In short an automatic script tthat would read news somewhere and put them in MOTD for me, (like dunno why not fetch the last svn log message and put it there, if you doing that well could have a nice display) Anyway with an npc that would require more skills to automate, (either remplace to npctxt by sed and such or link it to an extern file wich npc can't do atm...) For this massive disavantage I'd vote "No" but we may add it as an npc too, or found another way.
  4. Lighta

    MD5 password

    Here try this for a quick salt, not exactly what I was using but should be easier like that, ofc you can make it harder if you wish : http://upaste.me/04d51583d10fd52c Don't forget to change the passphrase otherwise won't be that usefull. Also you'll need to change new account creation insert in db for : "insert into login(user_pass) values( md5(concat(inputpasswd,mypasskey)) ); " yes that an incomplete sql query for registration but it's just to show password change in registration. To update you db it'll be update login set user_pass= md5(concat(user_pass,mypasskey); //well this assume you didn't had md5 enable yet and ofc after this you'll need to enable md5. if you already had it enable I'm afraid I don't have a generic solution unless you may try to decrypt all md5 first but I'd not recommend it, better to ask user to renew their pass
  5. patch on linux it's "patch -p0 filetarget filpatch"
  6. Lighta

    MD5 password

    You could change your registration form to require some number in it or thing like that, (that what they usually do, you're pass is too weak, you're pass require 3 number etc...) Otherwise you could always rehash pass by a configured sel. I think I'll do a diff for that. This will probably lower encryption as I didn't study the redundancy etc but if you looking at it I doubt you'll have someone who really gonna writte something to crack your encryption, most of time it's script kiddy that use md5 decrypt site to found pass. And as I said those site work with dictionary, they have a hash of md5 keys corresponding to with pass and there you go, so if you're pass it's not common have weird letter in it etc it's probably not referenced yet.
  7. Are you sure you have the entry in db/quest_db.txt ? And this message appear when sd doesn't have the quest load, did you verify he had started the quest before attemting to read value from it ? if(chekquest(70000) < 0 ) mes "quest not started";
  8. Before storing in memory all in lowercase you may have conflict in .dat, like I could add Town.gat and town.gat with this idea of storing we would overwritte the oldest file in memory. I think it's the best idea for easiest search after but we need to throw a big error if we found same name. Otherwise I prefer mkbu95 idea of fallback but could be long to cover all case by that. nb : need to edit poll for Arcenciel idea I think
  9. Lighta

    MD5 password

    well md5 is easy to crack when you use real world as password since it's already in dictionary but just try with some number in it and it'll get way more complicate like : 6ffe7c349a183a182671f828d786d137
  10. wasn't really resolve you need to use resolve using their (mean for the conflict part use the svn one) Anyway about those line : line 236,239,258,261 : pc_payzeny and pc_getzeny need extra argument since r16914. does line don't match for me so if you may quote it I could fix it for you other wise it should be something like : pc_getzeny(vsd, (int)z, LOG_TYPE_VENDING, sd); => you need the LOG_TYPE_VENDING, and sd at end (well the last sd is optional, it's from who)
  11. I did worked on it a bit but never fully tryed the accuracy of change, (well my goal was to getting closer to Irocalc). I'll prepare a diff in the week to show you what I've done.
  12. i tryed with 2012-04-10 too, what skill do you have issue with ? well except Eleanor ones that was stated not in there yet.
  13. Agree that we may not need a new command but we may add the alias by default in the configuration (since not everyone may know they could remove it like that). And if I resume we need to change the commande so it require a name right ? -ok do we allow same name and hide the unique id that will give him in that case ? (like could be usefull to create like a group, @addwarp w1, @addwarp w1 => @removewarp w1 (remove both) or it's just too complicate and keep it simple ? Also from the exemple you gave I,d prefer do @unloadnpc w1,w2,w3... (read a list instead 1 at a time)
  14. Hi what you suggesting is to reduce code redundancy, (al,ost at oneextreme here) well ok but I would prefer do it as subfonction instead macro. restrict could be a good idea of optimisation evenif that may increase maintanibility time a bit.
  15. x0ep can you do ls -la instead dir just to see your file permission ? or try sudo chmod +x ./*server_sql && ./athena-start start just to see the result
  16. in mmo.h the structure named item should have the attibute hash in it. I suppose the update/checkout you did remove it. nb : this will only remove the current of compilation displayed but you'll still need the hash manipulation logique, dunno what u did there. gl
  17. put the declaration of pc_getstat and pc_setstat before usage. either do it at begining of .c or move up fonction or put declaration in .h
  18. sudo apt-get install zlib1g-dev should fix it
  19. xd oups that was the keyboard escaping from me hand, and switching over 20+ time a day to qwerty azerty ><. @Annie the event may be usefull for easier change and reloading purpose, but this will restrain the skill usage for player. (at least with current implementation). But I think he was thinking of a player skill anyway since he tough about atcommand, all depend on requirements. (Simple reminder)
  20. possible but bad pratice, better do it like darristan said. If you thinking of atcommand like an interface it would be strange to use skill then go at_command then end skill.
  21. it's setarray, are you sure you tryed correctly ?
  22. Yeah maybe like GmOcean said, well depends how you'll interprete that var after. right now is like you doing : .@reward = 671,1; //wich ofc mean nothing, you attempting to set 2 values on one var. the GmOcean solution will do : .@reward[0] = 671; .@reward[1] = 1;
  23. hmm ok I could make you a quick Sequence chart. So a skill is usually : clif -> unit -> skill -> skill(recursive?) -> status? -> battle -> (sometime again skill...) Ok so status doesn't have a skilllv attribute, but it's usually assign on val1, to look that let retrace pneuma from skill. skill_castend_pos2 => ok put an unit for pneuma (something on the ground) => UNT_PNEUMA in our case then depend on skill_unit_db config ...unit will be active when someone step on it... skill_unit_onplace => case UNT_PNEUMA: //when someone step in UNT_PNEUMA and match the condition (like enemy all etc, on place is only on enter) ==> sc_start4(bl, type, 100, sg->skill_lv, sg->group_id, sg->src_id, 0, sg->limit); //type here is the status we wanna launch it's SC_PNEUMA calculate from skillid So since we started our status you can see SC_PNEUMA->val1 = sg->skill_lv, SC_PNEUMA->val2 = sg->group_id and val3 = sg->src_id. On battle.c we usually deal with status, and active skill, like on our case it's if(skill is ranged and target as pneuma) block atk; // so you just have to do SC_PNEUMA->val1 to know what was the skilllvl of pneuma when it was casted. nb : now thinking about it, ending the status won't end the unit, so you'll have to do something about it. about unit_id2 finally may won't be a perfet id, since it's used when the unit is active so dunno, but on the same way you could just replace another unit when this one is almost done.
×
×
  • Create New...