Jump to content

Aleos

Development Manager
  • Posts

    732
  • Joined

  • Days Won

    73

Everything posted by Aleos

  1. That is another good way. Here's my patch. I used some of your stuff from the validation process to parse the dates. Everything should have been covered. I haven't gotten to test it yet but I don't think I have any typos. If I do tell me and I'll redo the patch! Edit: Added missing alter table script for cp_createlog table. cp_birthdatechange.sql cp_createlog.sql birthdate_rA.diff birthdate_eA.patch
  2. Right, it only is a concern when someone is going to modify their account. I didn't read your whole post to see what you added exactly, but since you didn't add a Change Birth Date feature it wouldn't be a concern. I actually just finished my modification (haven't gotten to test it yet). I'll have to go back and split it from my source to produce a patch file. And yes, from my first post, it will pose a problem for those servers that don't use email verification on account creation.
  3. You are correct. But still it's like releasing something that's half done or something with an exploit. I'm just saying there needs to be a bit of security added to it so that if someone gains access to someone's account they can't easily change the birthdate to delete the characters.
  4. I think this needs a bit more security. Being email was the way to delete characters from the server, now that birthdate is, I think an email should be sent to the user before the birthdate is change to confirm the changes. Although most server owners let users re-use email addresses or may not even verify if the emails are real (through email verification) so this might not be as good. Also Flux is setup to where if the email of the account is changed it's sent to the new email address to confirm rather than the old email address to confirm the new email address (I had to change this, it drove me insane). Again, leads to my points above which makes it still insecure if people were to take over accounts. I've been writing my own recently to account for these things since I have email validation on. Good job none the less.
  5. I think 2009 and up support name changes via the client? All you have to do is make a NPC and have it use an update query. Example: query_sql "UPDATE `char` SET `rename` = `rename` + 1 WHERE `char_id` = "+ getcharid(0) +""; As long as the value is more than 0 the rename button will show up in the character selection screen.
  6. @JayPee http://code.google.com/p/fluxcp/source/detail?r=1091
  7. It's because ExpPer was removed from the mob_db/mob_db2 tables. You'll need to remove that column from Flux so that it reads it correctly.
  8. It is possible. You just define the Lure ID in the pet_db to be whatever ID you want. As for the item script, I haven't actually tried it with using the pet script function (i.e.: pet 1002; would catch a Poring) to list multiple pet IDs (i.e.: pet 1001; pet 1002; pet 1003;). If that doesn't work you can just make the script of the item to use the Sage's Abra skill (i.e.: itemskill "SA_TAMINGMONSTER",1;).
  9. So my source base is 3CeAM. I've merged rAthena to it for the renewal bits of source here and there. The issue I'm having right now is with skill casting. Since the source I'm using is all renewal, I don't have any config flags or the REMODE settings. I merged the skill_castfix() and skill_castfix_sc() functions as well as their calls in the unit.c which is different form 3CeAM. The skill_cast_db doesn't need to be changed since it all uses the same information anyways even though it's structured a bit differently. Now the issue that I'm running into is that when I use any skills that have cast time, they all average at about 1~2 seconds no matter the stats (INT and DEX since they are the only two stats that affect cast rate) I'm at (1 or 120). This issue had come up before but was fixed in eA a while ago for 64-bit Linux systems. I'm at a standstill here and am wondering what I am completely missing. If someone has any insight as to where I should look I would appreciate it!
  10. The reason is because the item delay database is for usable items rather than etc items. You'll have to hard code a delay for the item. Adjust the the clif_parse_AutoRevive() function to be like this: void clif_parse_AutoRevive(int fd, struct map_session_data *sd) { int item_position = pc_search_inventory(sd, 7621); if (item_position < 0) return; if (sd->sc.data[sC_HELLPOWER]) //Cannot res while under the effect of SC_HELLPOWER. return; if (!status_revive(&sd->bl, 100, 100)) return; if (DIFF_TICK(gettick(), pc_getglobalreg(sd,"TOKEN_OF_SIEGFRIED")) < 3600000) return; pc_setglobalreg(sd,"TOKEN_OF_SIEGFRIED",gettick()); clif_skill_nodamage(&sd->bl,&sd->bl,ALL_RESURRECTION,4,1); pc_delitem(sd, item_position, 1, 0, 1); } That stores a normal variable to each player who uses the item. (Same as using "set TOKEN_OF_SIEGFRIED,<current time in milliseconds>;" if you used it as a NPC).
  11. Why not just use gettick()? It is a lot cleaner and is counted in milliseconds.
  12. npc/instance/EndlessTower.txt Find: set .@dun_lim_time,etower_timer+604800; // 1 week Change to: set .@dun_lim_time,etower_timer+86400; // 24 hours db/quest_db.txt Find: 60200,604800,0,0,0,0,0,0,"Endless Tower Effect" Change to: 60200,86400,0,0,0,0,0,0,"Endless Tower Effect"
  13. Ha, seems clif_message is for NPC and mobs only. if ( sd ) { char temp[25]; snprintf(temp, sizeof(temp), "Snap !!"); clif_disp_overhead(&sd, temp); } That should be better.
  14. Add that under where you commented out the clif_skill_poseffect in MO_BODYRELOCATE.
  15. clif_skill_poseffect is what causes the skill name to be "shouted" above the head of the player. Since you commented it out that's why it doesn't show anymore. I guess you could cheat the system: if ( sd ) { char temp[25]; snprintf(temp, sizeof(temp), "Snap !!"); clif_message(&sd->bl,temp); } Although that would show up in the chat window as a message.
  16. Er, sorry, you said item_db, not mob_db. Did you modify anything via Flux? I would try checking out a fresh copy of Flux from their SVN and see what that yields.
  17. I would say it's related to r15531. The ExpPer was dropped from the mob_db/mob_db2 tables. You will need to modify Flux to not try to read from those two columns.
  18. In this case though the extra bracket is breaking out of the switch statement and causing it to end early. Then the next line that gets read is the "case 4:" line which is where the error is coming from.
  19. You have one extra '}' that's above "case 4:". case 2: mes "[Mount Rentals]"; mes "I see. Then have a great day."; close; } } } case 4: if( (Class == Job_Mechanic || Class == Job_Mechanic_T) && checkriding() == 0 ) { setriding; close; } Should be: case 2: mes "[Mount Rentals]"; mes "I see. Then have a great day."; close; } } case 4: if( (Class == Job_Mechanic || Class == Job_Mechanic_T) && checkriding() == 0 ) { setriding; close; } That's just a straight look at it and counting the brackets. Not sure. PS: If you tabbed in your stuff it would make it easier to read and find these errors!
  20. Just copy the monster you want to duplicate from mob_db, paste it into the mob_db2 (So at least you seperate your customs from the official stuff). Change the monster ID to an unused ID (3000 is a good starting point). Keep in mind reaching 4000 will cause a conflict with job sprites, but hitting 1000 mobs might be hard. Then after you do that simply go to the mob_avail and add the new monster ID (i.e. 3000) and tag it with the monster ID of the sprite you want it to show as. For example: 3000,1002 // Mob will look like Scorpion 3000,1046 // Mob will look like Doppelganger Hope that helps.
  21. Is there a reason that ridingspreditinfo_f.lub is in the seekparty folder? Figured I'd point it out since no one has stated it yet.
  22. The LUA file 'skillinfolist' needs to have this: [sKID.ALL_BUYING_STORE] = { "ALL_BUYING_STORE"; SkillName = "Open Buying Store", MaxLv = 2, }, To my knowledge, this is what was causing people to crash before when they were missing it.
  23. src/map/pc.c // pvp // disable certain pvp functions on pk_mode [Valaris] if( map[sd->bl.m].flag.pvp && !battle_config.pk_mode && !map[sd->bl.m].flag.pvp_nocalcrank ) { sd->pvp_point -= 5; sd->pvp_lost++; if( src && src->type == BL_PC ) { struct map_session_data *ssd = (struct map_session_data *)src; ssd->pvp_point++; ssd->pvp_won++; } // if( sd->pvp_point < 0 ) // { // add_timer(tick+1000, pc_respawn_timer,sd->bl.id,0); // return 1|8; // } } You're going to want to comment that out and it will stop people from warping out when they die.
  24. As you can see here, you don't need the 'dolphin-ro.tk' in the patch_list and patch_folder options.
×
×
  • Create New...