Jump to content
The forums will be going offline for an extended maintenance period at 1400hrs GMT on 19th June 2025. The number of hours for this downtime is intentionally not advertised due to the nature of these upgrades. ×

Kenpachi

Members
  • Posts

    764
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Kenpachi

  1. I'm an Australian. 70% of ISPs allocate static IP addresses here in standard ADSL plans. WTF; I'll emigrate. Sure it's not hard. I just want to point out that - in germany - this would be a huge security issue. Dude, this wasn't meant as offense... but maybe automatically generating a master password every day/hour would be more secure? @.@(I'm just discussing...) //EDIT: Yeah, okay... you're right.
  2. ../db/mob_avail.txt You can use this file to create a mob server side without editing the client. Just create the database entry and than assign a sprite in mob_avail.txt.
  3. Any error messages in the map server console?
  4. Remove this if (agitcheck() || agitcheck2()) { mes "Sorry you cant enter during woe time."; close; } (4 times)
  5. Isn't it pointless to allow the use of that master password based on IP addresses? Well, i have a nice provider that changes my IP address only one time per month, but the most people get a new IP every day...
  6. I'm at work and can't test it, but this should work the way you want: - script GMLogin -1,{ OnPCLoginEvent: if(GetGMLevel() >= .GMLevel) { Warp("map", x, y); AtCommand("@speed 0"); Announce("GM" + StrCharInfo(0) + " has logged in.", bc_all, .AnnounceColor); } End(); OnInit: Set(.GMLevel, 80); Set(.AnnounceColor, 0x0000FF); End(); } [/codeBOX] Just edit the two variables in the OnInit and the map name and coords in [i]Warp()[/i]. //EDIT: Not fast enough....
  7. You don't have to create it. It's already there. Basically you have to download and configure two separate servers...
  8. [wiki]Edit_Max_Level[/wiki] You have to configure it for each server...
  9. So your goal is to allow @afk only if the player is vending? If yes add if(!sd->state.vending) { clif_displaymessage(fd, "@AFK is only allowed when vending!"); return -1; } below nullpo_retr(-1, sd); and recompile.
  10. Well, removing parts of a script because the emulator is "broken" doesn't make sense. Here is a patch that allows you to check, set or remove every mapflag that's listed in the mapflag enumeration in script.c.RAthena-mapflags_15008_trunk.patch
  11. The message will be shown if the characters base level is greater than 89. Change >= 90 to < 90 Now you'll see the message if your characters base level islower than 90. Same thing. just add a check like this below nullpo_retr(-1, sd);
  12. Are you sure the error belongs to one of the snippets? Actually the error is thrown when you try to compare integers and strings: if( data_isstring(left) && data_isstring(right) ) {// ss => op_2str op_2str(st, op, left->u.str, right->u.str); script_removetop(st, -3, -1);// pop the two values before the top one } else if( data_isint(left) && data_isint(right) ) {// ii => op_2num int i1 = left->u.num; int i2 = right->u.num; script_removetop(st, -2, 0); op_2num(st, op, i1, i2); } else {// invalid argument ShowError("script:op_2: invalid data for operator %sn", script_op2name(op)); script_reportdata(left); script_reportdata(right); script_reportsrc(st); script_removetop(st, -2, 0); script_pushnil(st); st->state = END; }
  13. Just change the condition from if(sd->class_&MAPID_UPPERMASK < MAPID_TAEKWON) to if(sd->class_&MAPID_UPPERMASK >= MAPID_NOVICE_HIGH && sd->class_&MAPID_UPPERMASK < MAPID_BABY && sd->status.base_level >= 90) @manabeast: Sorry, I don't understand your problem.
  14. There is a method called map_foreachpc which will loop through all online players and execute a given method. map_foreachpc(clif_displaymessage(sd->fd, "TEXT"));
  15. You can check the players class with sd->class_&MAPID_UPPERMASK and this enumaration (taken from map.h): enum { MAPID_NOVICE = 0x0, MAPID_SWORDMAN, MAPID_MAGE, MAPID_ARCHER, MAPID_ACOLYTE, MAPID_MERCHANT, MAPID_THIEF, MAPID_TAEKWON, MAPID_WEDDING, MAPID_GUNSLINGER, MAPID_NINJA, MAPID_XMAS, MAPID_SUMMER, //2_1 classes MAPID_SUPER_NOVICE = JOBL_2_1|0x0, MAPID_KNIGHT, MAPID_WIZARD, MAPID_HUNTER, MAPID_PRIEST, MAPID_BLACKSMITH, MAPID_ASSASSIN, MAPID_STAR_GLADIATOR, //2_2 classes MAPID_CRUSADER = JOBL_2_2|0x1, MAPID_SAGE, MAPID_BARDDANCER, MAPID_MONK, MAPID_ALCHEMIST, MAPID_ROGUE, MAPID_SOUL_LINKER, //1-1, advanced MAPID_NOVICE_HIGH = JOBL_UPPER|0x0, MAPID_SWORDMAN_HIGH, MAPID_MAGE_HIGH, MAPID_ARCHER_HIGH, MAPID_ACOLYTE_HIGH, MAPID_MERCHANT_HIGH, MAPID_THIEF_HIGH, //2_1 advanced MAPID_LORD_KNIGHT = JOBL_UPPER|JOBL_2_1|0x1, MAPID_HIGH_WIZARD, MAPID_SNIPER, MAPID_HIGH_PRIEST, MAPID_WHITESMITH, MAPID_ASSASSIN_CROSS, //2_2 advanced MAPID_PALADIN = JOBL_UPPER|JOBL_2_2|0x1, MAPID_PROFESSOR, MAPID_CLOWNGYPSY, MAPID_CHAMPION, MAPID_CREATOR, MAPID_STALKER, //1-1 baby MAPID_BABY = JOBL_BABY|0x0, MAPID_BABY_SWORDMAN, MAPID_BABY_MAGE, MAPID_BABY_ARCHER, MAPID_BABY_ACOLYTE, MAPID_BABY_MERCHANT, MAPID_BABY_THIEF, MAPID_BABY_TAEKWON, //2_1 baby MAPID_SUPER_BABY = JOBL_BABY|JOBL_2_1|0x0, MAPID_BABY_KNIGHT, MAPID_BABY_WIZARD, MAPID_BABY_HUNTER, MAPID_BABY_PRIEST, MAPID_BABY_BLACKSMITH, MAPID_BABY_ASSASSIN, MAPID_BABY_STAR_GLADIATOR, //2_2 baby MAPID_BABY_CRUSADER = JOBL_BABY|JOBL_2_2|0x1, MAPID_BABY_SAGE, MAPID_BABY_BARDDANCER, MAPID_BABY_MONK, MAPID_BABY_ALCHEMIST, MAPID_BABY_ROGUE, MAPID_BABY_SOUL_LINKER, }; [/codeBOX] Example: [code] if(sd->class_&MAPID_UPPERMASK == MAPID_NOVICE) clif_displaymessage(sd->fd, "You're a Novice."); [/code] //EDIT: I think you want to disable @afk for Novices and 1st class characters. Just add this: [code] if(sd->class_&MAPID_UPPERMASK < MAPID_TAEKWON) { clif_displaymessage(sd->fd, "You are not allowed to use @afk!"); return -1; } [/code]below: [code] nullpo_retr(-1, sd); [/code]and recompile.
  16. Yes, if you want MVP cards are dropped with 20% chance instaed of 0.01% without editing the databse, you have to set item_rate_card_boss to 200000.
  17. Sure. Arrays are no problem.But i think in your case checking ID ranges is the more elegant solution.
  18. In ../src/map/mob.c find this function: int mob_dead(struct mob_data *md, struct block_list *src, int type) X: md->bl.x Y; md->bl.y
  19. Hmm, this actually should work. I added this: if(item_id >= 2000) { clif_displaymessage(fd, "NOT ALLOWED!"); return -1; } below this: item_id = item_data->nameid; in the @item function and it worked. You probably added your check at the wrong spot.
  20. There is a plug-in called WeeDiffGen.
  21. Do you live next to an electric tramway? Electric smog can cause such errors.
  22. According to this I am qualified to be a "Core Developer", too....Sorry, but in my opinion being a developer is much more than creating some string manipulation commands. I don't know how skilled ToastOfDoom is, but he/she is not very active in the Source-section.
  23. Kenpachi

    Help..

    Just do as Brian said and install PHP. Otherwise your browser wont be able to parse your PHP file.
  24. Kenpachi

    Help..

    Nevermind. I my brain was in stand-by while writing this....
  25. Kenpachi

    Help..

    I think you're talking about a website, right? Just open it with your web browser.
×
×
  • Create New...