FatalEror

Members
  • Content Count

    67
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

  • Days Won

    1

FatalEror last won the day on December 25 2019

FatalEror had the most liked content!

Community Reputation

23 Excellent

7 Followers

About FatalEror

  • Rank
    Santa Poring
  • Birthday 01/20/1996

Profile Information

  • Gender
    Male
  • Location
    6595b64144ccf1df

Contact Methods

  • Yahoo
    dean_evo34

Recent Profile Visitors

3,139 profile views
  1. Curly brace should be added at the end of '3rd Class items' NPCs script and before NPC shop. prontera,164,172,4 script 3rd Class items 501,{ mes "3rd Class Item Warper"; mes "Hello,"; mes "Would you like to go to the 3rd Class Item shops"; menu "Yes Please!",yes,"No thanks!",no; yes: warp "mora", 121, 179; end; close; no: close; } mora,115,184,4 shop RK & GX shop 946,127172000,127182000,127192000,127202000,127212000,127212000,127222000,127232000,127242000,127252000,127262000,127272000,127282000,127295000000,127302000,127315000000,127322000,127331000000 mora,118,184,4 shop Warlock shop 743,6189100000,6190100000,6191100000,6192100000,6193100000,6194100000,6197100000,6198100000,6199100000,6200100000,6201100000,6202100000,6203100000,6204100000,6205100000 mora,121,184,4 shop Mechanic shop 813,154910000,213920000,2800100000,2801100000,2802500000,2803100000,2804100000,2805100000,2806150000,2807200000,280825000 mora,123,184,4 shop Mechanic Ammo 813,6145100,6146300,6147100,12392220,12393500,123941100,18000100,18001200,18002200,18003200,18004500 mora,125,184,4 shop Genetic shop 731,6210100,6211100,6212100,62131000,62141000,62151000,62162000,62174000,6244100,6245100,6246100,6247100,6248600,6249100,6253100,6254100,6255500,6256100,6257100 mora,127,184,4 shop Genetic Shop 2 731,6258800,6259100,6260100,6261500;6262400,6263100,6264100,6265100,62791000,62801000,62811000,62821000,62831000,62841500,62851000,6297100,1102210000,1102310000,1102410000
  2. yes it's possible, try his script and input this as your new name: asd', `zeny`='99999999 and bamm! you got 99m zeny..
  3. Add this at the top of your script: function script isContain { set [email protected]$, getarg(0, ""); set [email protected]$, getarg(1, ""); if ([email protected]$ == "" || [email protected]$ == "") return 0; for (set [email protected], 0; [email protected] < getstrlen([email protected]$); set [email protected], [email protected]+1) if (countstr([email protected]$, charat([email protected]$, [email protected])) > 0) return 1; return 0; } Then in your script, above if(getstrlen([email protected]$)>23){, add: if (isContain([email protected]$, "[email protected]#$%^&*()-=+_[]{}")) { mes [email protected]$; mes "Your name contains illegal characters."; select("Back"); goto Firstcase;end; } PS: You should add escape_sql to prevent sql injection.. here is the full script: http://pastebin.com/raw.php?i=xUhxVaC5
  4. It's a Hexadecimal Number Taekwon(2) + StarGladiator(4) + Soul Linker(8) = 14 (decimal) → E (hex) you can calculate it manually, use Windows Calculator, or try this
  5. Taekwon (2^21): 0x00200000 StarGladiator (2^22): 0x00400000 Soul Linker (2^23): 0x00800000 Gunslinger (2^24): 0x01000000 Ninja (2^25): 0x02000000 -------------------------------------- 0x03E00000
  6. should be: +vitgain = val * status->vit/100; +if( (val + vitgain) >= battle_config.max_hp - 1000000 ) vitgap = 1; val += val * status->vit/100; // +1% per each point of VIT +if( vitgap ) val = battle_config.max_hp - 1000000; or you can also try: static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct status_data* status) { ... return cap_value(val, 0, battle_config.max_hp - 1000000); } but it will also "gap" trans/baby class hp bonus/penalty..
  7. ../src/map/atcommand.c put this above atcommand_basecommands function static int count_mob(struct block_list *bl, va_list ap) // [FE] { struct mob_data *md = (struct mob_data*)bl; short id = va_arg(ap, short); if (md->class_ == id) return 1; return 0; } ACMD_FUNC(mapmoblist) // [FE] { char temp[100]; bool mob_searched[MAX_MOB_DB]; bool mob_mvp[MAX_MOB_DB]; // Store mvp data.. struct s_mapiterator* it; unsigned short count = 0, i, mapindex = 0; int m = 0; memset(mob_searched, 0, MAX_MOB_DB); memset(mob_mvp, 0, MAX_MOB_DB); if (message && *message) { // Player input map name, search mob list for that map mapindex = mapindex_name2id(message); if (!mapindex) { clif_displaymessage(fd, "Map not found"); return -1; } m = map_mapindex2mapid(mapindex); } else { // Player doesn't input map name, search mob list in player current map mapindex = sd->mapindex; m = sd->bl.m; } clif_displaymessage(fd, "--------Monster List--------"); sprintf(temp, "Mapname: %s", mapindex_id2name(mapindex)); clif_displaymessage(fd, temp); clif_displaymessage(fd, "Monsters: "); //Looping and search for mobs it = mapit_geteachmob(); while (true) { TBL_MOB* md = (TBL_MOB*)mapit_next(it); if (md == NULL) break; if (md->bl.m != m || md->status.hp <= 0) continue; if (mob_searched[md->class_] == true) continue; // Already found, skip it if (mob_db(md->class_)->mexp) { mob_searched[md->class_] = true; mob_mvp[md->class_] = true; // Save id for later continue; // It's MVP! } mob_searched[md->class_] = true; count = map_foreachinmap(count_mob, m, BL_MOB, md->class_); sprintf(temp, " %s[%d] : %d", mob_db(md->class_)->jname, md->class_, count); clif_displaymessage(fd, temp); } mapit_free(it); clif_displaymessage(fd, "MVP: "); // Looping again and search for mvp, not sure if this is the best way.. for (i = 1000; i < MAX_MOB_DB; i++) { //First monster start at 1001 (Scorpion) if (mob_mvp[i] == true) { count = map_foreachinmap(count_mob, m, BL_MOB, i); sprintf(temp, " %s[%d] : %d", mob_db(i)->jname, i, count); clif_displaymessage(fd, temp); } } return 0; } below ACMD_DEF(set), ACMD_DEF(mapmoblist), ../conf/atcommand_athena.conf mapmoblist: ["ml"] ../conf/groups.conf commands: { ... mapmoblist: true ... }
  8. FatalEror

    Functions

    umm.. please read my post above.. you can't declare a function that is outside of npc script..
  9. FatalEror

    Functions

    Please read this: ../doc/script_commands.txt for function outside npc script, it must use "callfunc"
  10. FatalEror

    Functions

    I think he want to call the function without the "callfunc" function script plus { return getarg(0) + getarg(1); } prontera,100,100,4 script Plus NPC 508,{ mes "5 + 6 = " + plus(5, 6); close; } yes you can't do that, but.. whats wrong with "callfunc"? function script plus { return getarg(0) + getarg(1); } prontera,100,100,4 script Plus NPC 508,{ mes "5 + 6 = " + callfunc("plus", 5, 6); close; }
  11. rAthena: Find: if( runflag != CHARSERVER_ST_RUNNING && (runflag != CHARSERVER_ST_MAINTENANCE || group_id != 99) ) Change to: if( runflag != CHARSERVER_ST_RUNNING && (runflag != CHARSERVER_ST_MAINTENANCE || group_id < 80) ) // Below 80 can't enter.. Find: if( (runflag == CHARSERVER_ST_RUNNING || (runflag == CHARSERVER_ST_MAINTENANCE && node->group_id == 99)) && Change to: if( (runflag == CHARSERVER_ST_RUNNING || (runflag == CHARSERVER_ST_MAINTENANCE && node->group_id >= 80)) && // Equal/Above 80 can login Find: if (atoi(data) != 99) { Change to: if (atoi(data) < 80) { //Below 80 can't login Find: if (pc_get_group_level(pl_sd) != 99) { // Only Admin(99) that will stay in maintenance Change to: if (pc_get_group_level(pl_sd) < 80) { // Kick player with group id below 80 eAthena: Find: < 99 Change to: < 80 Find: >= 99 Change to: >= 80
  12. If someone want to add this diff to rAthena, then yes.. we need to add PACKETVER check in this.. Maybe this?
  13. FatalEror

    Baby Jobs HP?

    in ../src/map/status.c search for status_base_pc_maxhp function static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct status_data* status) { ... if (sd->class_&JOBL_UPPER) val += val * 25/100; //Trans classes get a 25% hp bonus else if (sd->class_&JOBL_BABY) val -= val * 30/100; //Baby classes get a 30% hp penalty ... }
  14. That cart diffs seems like have pretty much problems.. ------ cart.patch