Jump to content

Kuya Jeo

Members
  • Content Count

    596
  • Joined

  • Last visited

  • Days Won

    24

Posts posted by Kuya Jeo


  1. 53 minutes ago, 4144 said:

    try check clean client on clean hercules

    I used clean hercules, im server is running now, i just wondering why my new diff not working on other players, i tried to use it on my test server without gepard and its working.. how about on the can deal players even if my char is dead... i just notice that something is blocking like im talking to npc so i cant deal players when my char is dead


  2. 18 minutes ago, MikZ said:

    Hello,

    May I know how to convert this script to hercules. Tried to google addrid in hercules but per this TOPIC it was already pulled/merged with Hercules get.
    Also tried if was included in Deprecation. I can't find any idea how to fix it. please help. thanks!

     

    but has error in addrid

    [Error]: script error in file '(DIRECT INPUT)' line 148 column 5 parse_line: expect command, missing function name or calling undeclared function 145: if( getcharid(2) == $App_Guilds[.@i] ){ 146: .count = 0; 147: .@origin = getcharid(3); * 148: addrid(3,0, getcharid(2)); ~~~~^ 149: if ( strcharinfo(3) == .checkmap$ ) 150: .count++; 151: if ( !.@origin ) end; [Error]: npc_parsesrcfile: Unknown syntax in file '(DIRECT INPUT)', line '169'. Stopping... * w1=- script kjdhfkjshf -1,{ * w2= * w3= * w4=

    
    [Error]: script error in file '(DIRECT INPUT)' line 148 column 5 
        parse_line: expect command, missing function name or calling undeclared function 
       145:     if( getcharid(2) == $App_Guilds[.@i] ){ 
       146:     .count = 0; 
       147:     .@origin = getcharid(3); 
    *  148:     addrid(3,0, getcharid(2)); 
            ~~~~^ 
       149:     if ( strcharinfo(3) == .checkmap$ ) 
       150:         .count++; 
       151:     if ( !.@origin ) end; 
    [Error]: npc_parsesrcfile: Unknown syntax in file '(DIRECT INPUT)', line '169'. Stopping... 
     * w1=-   script  kjdhfkjshf  -1,{ 
     * w2= 
     * w3= 
     * w4= 

     

    Script below.

    //Modified by - PandaLovesHamster //Custom Guild Limiter //Credits to the owners of the individual makers of the script, I just tied them all together to create this script ayothaya,171,144,5 script Guild Limiter 4_M_JOB_KNIGHT2,{ // this part registers the guild function sf { function s; .@a = getarg(2); .@len = getarg(3); return ( sprintf( getarg(0), s(.@a, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)) ) +(( .@a+1 < .@len )?":Next":":") +(( .@a-11 > 0 )?":Back":":") +":Cancel" ); function s { if( getarg(0) >= getarg(1) ) return ""; else { .@name$ = getguildname(getelementofarray(getarg(2),getarg(0))); return .@name$=="null"?"":.@name$; } }; }; function nex { return((getarg(0)+10)<getarg(1)?getarg(0)+10:getarg(1)-(getarg(1)%10)); }; function bac { return((getarg(0)-10)>=0?getarg(0)-10:0); }; if(getgmlevel()>=80 ) { mes .Npc_Name$; mes "Hello Mr. GM what would you like to do?"; next; switch( select("Add/Remove Guilds:Clear Guild Data:Player Menu:Cancel") ) { case 1: mes .Npc_Name$; mes "Would you like to add or remove a guild?"; .@a_len = getarraysize($App_Guilds); .@format$ = "%s:%s:%s:%s:%s:%s:%s:%s:%s:%s"; next; if( select("Remove:Add") == 1 ) { while( .@a != 9999 ) { select( sf( .@format$, $App_Guilds, .@a, .@a_len ) ); switch( @menu ) { case 11: .@a = nex( .@a, .@a_len ); break; case 12: .@a = bac( .@a ); break; case 13: end; default: .@select = .@a+@menu-1; mes .Npc_Name$; mes "You've selected ^0000FF["+getguildname($App_Guilds[.@select])+"]^000000 guild. Would you like to remove them from the accepted guilds?"; next; if( select("Yes:No") == 1 ) { deletearray($App_Guilds[.@select],1); mes .Npc_Name$; mes "The guild has been removed!"; } close; } } } else { mes .Npc_Name$; mes "Please input guild name or masters name."; next; input(.@input$); .@len = query_sql( "Select `guild_id` from `guild` where `name` like '%"+escape_sql(.@input$)+"%' or `master` like '%"+escape_sql(.@input$)+"%';",.@guild_id ); while( .@a != 9999 ) { select( sf( .@format$, .@guild_id, .@a, .@len ) ); switch( @menu ) { case 11: .@a = nex( .@a, .@len ); break; case 12: .@a = bac( .@a ); break; case 13: end; default: .@select = .@a+@menu-1; .@a_len = getarraysize($App_Guilds); for(.@b=0;.@b<.@a_len;.@b++) if( $App_Guilds[.@b]==.@guild_id[.@select] ) { mes .Npc_Name$; mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. I'm sorry but that guild has already been added to the accepted list."; close; } mes .Npc_Name$; mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. Would you like to add them to the accepted guilds?"; next; if( select("Yes:No") == 1 ) { .@a_len = getarraysize($App_Guilds); if( .@a_len>=128 ) { mes .Npc_Name$; mes "I'm sorry but the accepted list is full please make some room and try again..."; } else { mes .Npc_Name$; mes "The guild was successfully added!"; $App_Guilds[.@a_len] = .@guild_id[.@select]; } } close; } } } case 2: mes .Npc_Name$; mes "Are you sure you want to clear the guild data?!"; next; if( select("Yes!:No!")==1 ) { mes .Npc_Name$; mes "This is you last chance. Are you surely sure as sure can be?"; next; if( select("Surly!:No, wait... Where am I?!!")==1 ) deletearray($App_Guilds); } if( @menu==1 ) { mes .Npc_Name$; mes "The deed is done..."; } else { mes .Npc_Name$; mes "Wow that was a close one... Have a nice day!"; } close; case 3: break; case 4: mes .Npc_Name$; mes "Alright, have a nice day!"; close; } } .@len = getarraysize($App_Guilds); for( .@i=0; .@i <= .@len; .@i++ ) { if( getcharid(2) == $App_Guilds[.@i] ) set .@Guild_Check, .@Guild_Check+1; } // This part ejects players when they are in the map OnPCLoadMapEvent: if( getcharid(2) == $App_Guilds[.@i] ){ .count = 0; .@origin = getcharid(3); addrid 3, 0, getcharid(2); if ( strcharinfo(3) == .checkmap$ ) .count++; if ( !.@origin ) end; if ( .count > 5 ) { // 5 means only 5 players per guild allowed in a map. message strcharinfo(0), "Your guild members are over the limit"; sleep2 2000; warp "SavePoint", 0,0; } } end; OnInit: setarray .@checkmap$, "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05"; .@len = getarraysize( .@checkmap$ ); for ( .@i = 0; .@i < .@size; .@i++ ) { setmapflag .@checkmap$[.@i], mf_loadevent; setd "."+ .@checkmap$[.@i], 1; } end; } - script kjdhfkjshf -1,{ OnPCLoadMapEvent: if ( getmapflag( strcharinfo(3), mf_gvg_castle ) && ( agitcheck() || agitcheck2() )) { .@len = getarraysize($App_Guilds); for( .@i=0; .@i <= .@len; .@i++ ) { if( getcharid(2) == $App_Guilds[.@i] ) set .@Guild_Check, .@Guild_Check+1; } if( .@Guild_Check < 1 ) { dispbottom "Your guild has not yet been approved, please contact the GMs"; sleep2 3000; warp "SavePoint",0,0; end; } if( !getcharid(2) ) { dispbottom "Sorry only members of a guild may enter a castle."; sleep2 3000; warp "SavePoint",0,0; end; } } end; OnInit: setarray .castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; for ( .@i = 0; .@i < 30; .@i++ ) setmapflag .castles$[.@i], mf_loadevent; end; }

    
    //Modified by - PandaLovesHamster
    //Custom Guild Limiter
    //Credits to the owners of the individual makers of the script, I just tied them all together to create this script
     
    ayothaya,171,144,5	script	Guild Limiter	4_M_JOB_KNIGHT2,{
     
    // this part registers the guild
        function sf {
            function s;
            .@a = getarg(2);
            .@len = getarg(3);
            return (
                sprintf( getarg(0),
                    s(.@a, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
                    s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
                    s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
                    s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
                    s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1))
                )
                +(( .@a+1 < .@len )?":Next":":")
                +(( .@a-11 > 0 )?":Back":":")
                +":Cancel"
            );
            function s {
                if( getarg(0) >= getarg(1) ) return "";
                else {
                    .@name$ = getguildname(getelementofarray(getarg(2),getarg(0)));
                    return .@name$=="null"?"":.@name$;
                }
            };
        };
        function nex { return((getarg(0)+10)<getarg(1)?getarg(0)+10:getarg(1)-(getarg(1)%10)); };
        function bac { return((getarg(0)-10)>=0?getarg(0)-10:0); };
     
        if(getgmlevel()>=80 ) {
            mes .Npc_Name$;
            mes "Hello Mr. GM what would you like to do?";
            next;
            switch( select("Add/Remove Guilds:Clear Guild Data:Player Menu:Cancel") ) {
                case 1:
                    mes .Npc_Name$;
                    mes "Would you like to add or remove a guild?";
                    .@a_len = getarraysize($App_Guilds);
                    .@format$ = "%s:%s:%s:%s:%s:%s:%s:%s:%s:%s";
                    next;
                    if( select("Remove:Add") == 1 ) {
                        while( .@a != 9999 ) {
                            select( sf( .@format$, $App_Guilds, .@a, .@a_len ) );
                            switch( @menu ) {
                                case 11: .@a = nex( .@a, .@a_len ); break;
                                case 12: .@a = bac( .@a ); break;
                                case 13: end;
                               
                                default:
                                    .@select = .@a+@menu-1;
                                    mes .Npc_Name$;
                                    mes "You've selected ^0000FF["+getguildname($App_Guilds[.@select])+"]^000000 guild. Would you like to remove them from the accepted guilds?";
                                    next;
                                    if( select("Yes:No") == 1 ) {
                                        deletearray($App_Guilds[.@select],1);
                                        mes .Npc_Name$;
                                        mes "The guild has been removed!";
                                    }
                                    close;
                            }
                        }
                    } else {
                        mes .Npc_Name$;
                        mes "Please input guild name or masters name.";
                        next;
                        input(.@input$);
                        .@len = query_sql( "Select `guild_id` from `guild` where `name` like '%"+escape_sql(.@input$)+"%' or `master` like '%"+escape_sql(.@input$)+"%';",.@guild_id );
                        while( .@a != 9999 ) {
                            select( sf( .@format$, .@guild_id, .@a, .@len ) );
                            switch( @menu ) {
                                case 11: .@a = nex( .@a, .@len ); break;
                                case 12: .@a = bac( .@a ); break;
                                case 13: end;
                               
                                default:
                                    .@select = .@a+@menu-1;
                                    .@a_len = getarraysize($App_Guilds);
                                    for(.@b=0;.@b<.@a_len;.@b++)
                                        if( $App_Guilds[.@b]==.@guild_id[.@select] ) {
                                            mes .Npc_Name$;
                                            mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. I'm sorry but that guild has already been added to the accepted list.";
                                            close;
                                        }
                                    mes .Npc_Name$;
                                    mes "You've selected ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guild. Would you like to add them to the accepted guilds?";
                                    next;
                                    if( select("Yes:No") == 1 ) {
                                        .@a_len = getarraysize($App_Guilds);
                                        if( .@a_len>=128 ) {
                                            mes .Npc_Name$;
                                            mes "I'm sorry but the accepted list is full please make some room and try again...";
                                        } else {
                                            mes .Npc_Name$;
                                            mes "The guild was successfully added!";
                                            $App_Guilds[.@a_len] = .@guild_id[.@select];
                                        }
                                    }
                                    close;
                            }
                        }
                    }
                case 2:
                    mes .Npc_Name$;
                    mes "Are you sure you want to clear the guild data?!";
                    next;
                    if( select("Yes!:No!")==1 ) {
                        mes .Npc_Name$;
                        mes "This is you last chance. Are you surely sure as sure can be?";
                        next;
                        if( select("Surly!:No, wait... Where am I?!!")==1 )
                            deletearray($App_Guilds);
                    }
                    if( @menu==1 ) {
                        mes .Npc_Name$;
                        mes "The deed is done...";
                    } else {
                        mes .Npc_Name$;
                        mes "Wow that was a close one... Have a nice day!";
                    }
                    close;
                   
                case 3: break;
               
                case 4:
                    mes .Npc_Name$;
                    mes "Alright, have a nice day!";
                    close;
            }
        }
     
        .@len = getarraysize($App_Guilds);
        for( .@i=0; .@i <= .@len; .@i++ ) {
            if( getcharid(2) == $App_Guilds[.@i] )
                set .@Guild_Check, .@Guild_Check+1;
        }
     
       
    // This part ejects players when they are in the map
        OnPCLoadMapEvent:
        if( getcharid(2) == $App_Guilds[.@i] ){
        .count = 0;
        .@origin = getcharid(3);
        addrid 3, 0, getcharid(2);
        if ( strcharinfo(3) == .checkmap$ )
            .count++;
        if ( !.@origin ) end;
        if ( .count > 5 ) { // 5 means only 5 players per guild allowed in a map.
            message strcharinfo(0), "Your guild members are over the limit";
            sleep2 2000;
            warp "SavePoint", 0,0;
        }
        }
        end;
    OnInit:
        setarray .@checkmap$, "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05";
        .@len = getarraysize( .@checkmap$ );
        for ( .@i = 0; .@i < .@size; .@i++ ) {
            setmapflag .@checkmap$[.@i], mf_loadevent;
            setd "."+ .@checkmap$[.@i], 1;
        }
        end;
    }
     
    -   script  kjdhfkjshf  -1,{
    OnPCLoadMapEvent:
        if ( getmapflag( strcharinfo(3), mf_gvg_castle ) && ( agitcheck() || agitcheck2() )) {
        .@len = getarraysize($App_Guilds);
        for( .@i=0; .@i <= .@len; .@i++ ) {
            if( getcharid(2) == $App_Guilds[.@i] )
                set .@Guild_Check, .@Guild_Check+1;
        }
        if( .@Guild_Check < 1 ) {
            dispbottom "Your guild has not yet been approved, please contact the GMs";
            sleep2 3000;
            warp "SavePoint",0,0;
            end;
        }
        if( !getcharid(2) ) {
            dispbottom "Sorry only members of a guild may enter a castle.";
            sleep2 3000;
            warp "SavePoint",0,0;
            end;
        }
    }
        end;
    OnInit:
        setarray .castles$[0],
            "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
            "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
            "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
            "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
            "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05",
            "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05";
        for ( .@i = 0; .@i < 30; .@i++ )
            setmapflag .castles$[.@i], mf_loadevent;
        end;
    }

     

    Addrid is not supported by hercules...


  3. 8 minutes ago, Tio Akima said:

    guys, I remade the mapcache of my Prontera (new prontera) ... however, when I enter the game, the server is reading the cache of the old Prontera (it seems to me that the gat's are from the old Prontera) ... i remade mapcache several times and he keeps reading the old cache ... does anyone know the source of this problem? I can't think what I might be forgetting to do..

     

     

    * The new prontera is in the data folder
    * The Mapcache plugin is reading the maps perfectly in my folder

    I thought my sv was running on renewal and the mapcache was going to the pre-re folder ... but that's not it

     

     

    ~hahahaha... It must be something stupid that I'm forgetting ...
    I always add custons maps and never had this problem with mapcache 😅

    Delete the old prontera.mcache on trunk/pre-re/maps then reload again your prontera map on putty, turn off first your server to make it sure


  4. 16 hours ago, Petey Pablo said:

     

    How to fix this error

    [Error]: script error in file 'npc/custom/legendro/go.txt' line 63 column 61 script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes. 60: if (.deadlock && !Hp) { 61: message strcharinfo(0), "You may not use @go when you are dead."; 62: } else if (.town && !getmapflag(strcharinfo(3), mf_town)) { * 63: message strcharinfo(0), "You may only use @go in towns."; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64: } else if (getmapflag(strcharinfo(3), mf_pvp)) { 65: message strcharinfo(0), "You cannot use @go in PvP Maps."; 66: } else if (.delay && @go_delay > gettimetick(2)) {

    
    [Error]: script error in file 'npc/custom/legendro/go.txt' line 63 column 61
        script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes.
        60:                 if (.deadlock && !Hp) {
        61:                         message strcharinfo(0), "You may not use @go when you are dead.";
        62:                 } else if (.town && !getmapflag(strcharinfo(3), mf_town)) {
    *   63:                         message strcharinfo(0), "You may only use @go in towns.";
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        64:                 } else if (getmapflag(strcharinfo(3), mf_pvp)) {
        65:                         message strcharinfo(0), "You cannot use @go in PvP Maps.";
        66:                 } else if (.delay && @go_delay > gettimetick(2)) {

     

     --> removed those.. probably because this is invalid script code


  5. 12 hours ago, MikZ said:

    Good day!

    I am using this script for @go command for easy editing. 
    However script cannot trigger mapflag nowarp  nowarpto and noteleport. how can I trigger the mapflag on this command
     

    /*========================================================= @go command Original concept by jTynne Revised by Mumbles =========================================================== Description: Alternative @go command. Allows for unlimited aliasing, as well as level and group restrictions for each destination. Additional options to add a delay, prevent use when dead, and charge per use are available; default cost is defined with '.cost', but this parameter can be set manually with 'go()'. These extra features are disabled by default. Be mindful that the delay uses a temporary player variable, '@go_delay'; if the player logs out, this variable will be cleared. If you would like for a more secure delay, replace all instances of '@go_delay' with 'go_delay'. =========================================================== Compatibility: Optimised for Hercules emulators. =========================================================== Changelog: v1.0 - First version. [jTynne] v2.0 - Added additional parameters for locations. [jTynne] v3.0 - Optimised for Hercules emulators. [Mumbles] v3.0.1 - Introduced limitless aliasing. [Mumbles] v3.0.2 - Added go() function. [Mumbles] v3.1 - Added option to charge per use. [Mumbles] v3.1.1 - Added option to limit use when dead. [Mumbles] v3.1.2 - Added option to limit use to towns. [Mumbles] v3.1.3 - Added changelog. [Mumbles] =========================================================*/ - script at_go -1,{ /*----------------------------------------------------- Configuration -----------------------------------------------------*/ OnInit: .delay = 1; // Delay per use, in seconds (default: 0) .cost = 0; // Default cost to use command if '.charge' is enabled .charge = 0; // Charge to use command? 0 = no, 1 = yes (default: 0) .deadlock = 1; // Prevent usage when dead? 0 = no, 1 = yes (default: 0) .town = 0; // Require 'mf_town'? 0 = no, 1 = yes (default: 0) bindatcmd "go", strnpcinfo(3) +"::OnAtcommand", 0, 2; end; /*----------------------------------------------------- Function: go() ------------------------------------------------------- Description: Warps player and checks prerequisites. ------------------------------------------------------- Usage: go(<"map_name">, <x>, <y>, <level>, <group>, <cost>) -----------------------------------------------------*/ function go { if (.deadlock && !Hp) { message strcharinfo(0), "You may not use @go when you are dead."; } else if (.town && !getmapflag(strcharinfo(3), mf_town)) { message strcharinfo(0), "You may only use @go in towns."; } else if (.delay && @go_delay > gettimetick(2)) { message strcharinfo(0), "You must wait "+ (@go_delay - gettimetick(2)) +" seconds before warping again."; } else if (BaseLevel < getarg(3)) { message strcharinfo(0), "You must be at least level "+ getarg(3) +" to warp to this map."; } else if (getgroupid() < getarg(4) || getmapflag(getarg(0), mf_nowarp)) { message strcharinfo(0), "You are not authorised to warp to this map."; } else if (.charge && Zeny < getarg(5)) { message strcharinfo(0), "You must have at least "+ getarg(5) +" zeny to warp to this map."; } else { if (.delay) { @go_delay = gettimetick(2) + .delay; } if (.charge) { Zeny -= getarg(5); } warp getarg(0), getarg(1), getarg(2); end; } message strcharinfo(0), "@go failed."; end; } /*----------------------------------------------------- Function: alias() ------------------------------------------------------- Description: Determines if input matches alias. ------------------------------------------------------- Usage: alias(<"number">, <"name1">{, <"name2">, <...>}) -----------------------------------------------------*/ function alias { for (.@i = 0; .@i < getargcount(); .@i++) { if (@input$ == getarg(.@i)) { @input$ = ""; return true; } } return false; } /*----------------------------------------------------- Script -----------------------------------------------------*/ OnAtcommand: @input$ = .@atcmd_parameters$[0]; if (alias("0", "pro", "pront", "prontera")) { go("prontera",156, 184, 0, 0, .cost); } else if (alias("1", "moc", "mor", "morocc", "morroc")) { go("morocc", 160, 100, 0, 0, .cost); } else if (alias("2", "gef", "geffen")) { go("geffen", 120, 70, 0, 0, .cost); } else if (alias("3", "pay", "payo", "payon")) { go("payon", 174, 98, 0, 0, .cost); } else if (alias("4", "alb", "alberta")) { go("alberta", 192, 147, 0, 0, .cost); } else if (alias("5", "izl", "izlude")) { go("izlude", 127, 109, 0, 0, .cost); } else if (alias("6", "ald", "alde", "aldebaran")) { go("aldebaran", 140, 114, 0, 0, .cost); } else if (alias("7", "xmas", "lutie")) { go("xmas", 148, 132, 0, 0, .cost); } else if (alias("8", "com", "comodo")) { go("comodo",189, 151, 0, 0, .cost); } else if (alias("9", "juno", "yuno")) { go("yuno", 157, 182, 0, 0, .cost); } else if (alias("10", "ama", "amat", "amatsu")) { go("amatsu", 197, 84, 0, 0, .cost); } else if (alias("11", "gon", "gonr", "gonryun")) { go("gonryun", 159, 116, 0, 0, .cost); } else if (alias("12", "umb", "umbala", "umbrella")) { go("umbala", 90, 154, 0, 0, .cost); } else if (alias("13", "nif", "niflheim")) { go("niflheim", 195, 175, 0, 0, .cost); } else if (alias("14", "lou", "louyang")) { go("louyang", 218, 99, 0, 0, .cost); } else if (alias("15", "nov", "ng", "novice")) { go("new_1-1", 53, 111, 0, 10, .cost); } else if (alias("16", "jail", "prison")) { go("sec_pri", 23, 61, 0, 10, .cost); } else if (alias("17", "jaw", "jawaii")) { go("jawaii", 221, 221, 0, 0, .cost); } else if (alias("18", "ayo", "ayotaya", "ayothaya")) { go("ayothaya", 151, 165, 0, 0, .cost); } else if (alias("19", "ein", "einbroch")) { go("einbroch", 64, 200, 0, 0, .cost); } else if (alias("20", "lhz", "light", "lighthalzen")) { go("lighthalzen", 158, 92, 0, 0, .cost); } else if (alias("21", "einbe", "einbech")) { go("einbech", 176, 125, 0, 0, .cost); } else if (alias("22", "hug", "hugel")) { go("hugel", 96, 145, 0, 0, .cost); } else if (alias("23", "rach", "rachel")) { go("rachel", 130, 110, 0, 0, .cost); } else if (alias("24", "ve", "veins")) { go("veins", 216, 123, 0, 0, .cost); } else if (alias("25", "mosc", "mosk", "moscovia")) { go("moscovia", 223, 184, 0, 0, .cost); } else if (alias("26", "camp", "mid", "midgard")) { go("mid_camp", 180, 240, 0, 0, .cost); } else if (alias("27", "man", "manuk")) { go("manuk", 282, 138, 0, 0, .cost); } else if (alias("28", "spl", "splend", "splendide")) { go("splendide", 197, 176, 0, 0, .cost); } else if (alias("29", "br", "bra", "brasil", "brasilis")) { go("brasilis", 182, 239, 0, 0, .cost); } else if (alias("30", "el", "eldic", "dic", "dicastes")) { go("dicastes01", 198, 187, 0, 0, .cost); } else if (alias("31", "mora")) { go("mora", 44, 151, 0, 0, .cost); } else if (alias("32", "dew", "dewata")) { go("dewata", 200, 180, 0, 0, .cost); } else if (alias("33", "mal", "malang", "malangdo")) { go("malangdo", 140, 114, 0, 0, .cost); } else if (alias("34", "port", "malay", "malaya")) { go("malaya", 242, 211, 0, 0, .cost); } else if (alias("35", "ecl", "ecla", "eclag", "eclage")) { go("eclage", 110, 39, 0, 0, .cost); } else if (alias("36", "eve", "event")) { go("prontera", 190, 173, 0, 0, .cost); } else { message strcharinfo(0), "Invalid location number, or name."; message strcharinfo(0), "Params: <city name|number>"; message strcharinfo(0), "Warps you to a city."; message strcharinfo(0), "0: Prontera 1: Morroc 2: Geffen 3: Payon 4: Alberta"; message strcharinfo(0), "5: Izlude 6: Al De Baran 7: Lutie 8: Comodo 9: Yuno"; message strcharinfo(0), "10: Amatsu 11: Gonryun 12: Umbala 13: Niflheim 14: Louyang"; message strcharinfo(0), "15: Novice Grounds 16: Prison 17: Jawaii 18: Ayothaya 19: Einbroch"; message strcharinfo(0), "20: Lighthalzen 21: Einbech 22: Hugel 23: Rachel 24: Veins"; message strcharinfo(0), "25: Moscovia 26: Midgard Camp 27: Manuk 28: Splendide 29: Brasilis"; message strcharinfo(0), "30: El Dicastes 31: Mora 32: Dewata 33: Malangdo 34: Malaya"; message strcharinfo(0), "35: Eclage"; message strcharinfo(0), "@go failed."; } end; }

    
    /*=========================================================
    @go command
    Original concept by jTynne
    Revised by Mumbles
    ===========================================================
    Description:
    Alternative @go command. Allows for unlimited aliasing, as 
    well as level and group restrictions for each destination.
    
    Additional options to add a delay, prevent use when dead,
    and charge per use are available; default cost is defined 
    with '.cost', but this parameter can be set manually with 
    'go()'. These extra features are disabled by default.
    
    Be mindful that the delay uses a temporary player variable,
    '@go_delay'; if the player logs out, this variable will be
    cleared. If you would like for a more secure delay, replace
    all instances of '@go_delay' with 'go_delay'.
    ===========================================================
    Compatibility:
    Optimised for Hercules emulators.
    ===========================================================
    Changelog:
    v1.0 - First version. [jTynne]
    v2.0 - Added additional parameters for locations. [jTynne]
    v3.0 - Optimised for Hercules emulators. [Mumbles]
    	v3.0.1 - Introduced limitless aliasing. [Mumbles]
    	v3.0.2 - Added go() function. [Mumbles]
    v3.1 - Added option to charge per use. [Mumbles]
    	v3.1.1 - Added option to limit use when dead. [Mumbles]
    	v3.1.2 - Added option to limit use to towns. [Mumbles]
    	v3.1.3 - Added changelog. [Mumbles]
    =========================================================*/
    
    -	script	at_go	-1,{
    
    	/*-----------------------------------------------------
    	Configuration
    	-----------------------------------------------------*/
    	OnInit:
    		.delay = 1;		// Delay per use, in seconds (default: 0)
    		.cost = 0;	// Default cost to use command if '.charge' is enabled
    		.charge = 0;	// Charge to use command? 0 = no, 1 = yes (default: 0)
    		.deadlock = 1;	// Prevent usage when dead? 0 = no, 1 = yes (default: 0)
    		.town = 0;		// Require 'mf_town'? 0 = no, 1 = yes (default: 0)
    		
    		bindatcmd "go", strnpcinfo(3) +"::OnAtcommand", 0, 2;
    		end;
    		
    		
    	/*-----------------------------------------------------
    	Function: go()
    	-------------------------------------------------------
    	Description: Warps player and checks prerequisites.
    	-------------------------------------------------------
    	Usage:
    	go(<"map_name">, <x>, <y>, <level>, <group>, <cost>)
    	-----------------------------------------------------*/
    	function go {
    		if (.deadlock && !Hp) {
    			message strcharinfo(0), "You may not use @go when you are dead.";
    		} else if (.town && !getmapflag(strcharinfo(3), mf_town)) {
    			message strcharinfo(0), "You may only use @go in towns.";
    		} else if (.delay && @go_delay > gettimetick(2)) {
    			message strcharinfo(0), "You must wait "+ (@go_delay - gettimetick(2))  +" seconds before warping again.";
    		} else if (BaseLevel < getarg(3)) {
    			message strcharinfo(0), "You must be at least level "+ getarg(3) +" to warp to this map.";
    		} else if (getgroupid() < getarg(4) || getmapflag(getarg(0), mf_nowarp)) {
    			message strcharinfo(0), "You are not authorised to warp to this map.";
    		} else if (.charge && Zeny < getarg(5)) {
    			message strcharinfo(0), "You must have at least "+ getarg(5) +" zeny to warp to this map.";
    		} else {
    			if (.delay) {
    				@go_delay = gettimetick(2) + .delay;
    			}
    		
    			if (.charge) {
    				Zeny -= getarg(5);
    			}
    		
    			warp getarg(0), getarg(1), getarg(2);
    			end;
    		}
    		
    		message strcharinfo(0), "@go failed.";
    		end;
    	}
    	
    	
    	/*-----------------------------------------------------
    	Function: alias()
    	-------------------------------------------------------
    	Description: Determines if input matches alias.
    	-------------------------------------------------------
    	Usage: alias(<"number">, <"name1">{, <"name2">, <...>})
    	-----------------------------------------------------*/
    	function alias {
    		for (.@i = 0; .@i < getargcount(); .@i++) {
    			if (@input$ == getarg(.@i)) {
    				@input$ = "";
    				return true;
    			}
    		}
    		
    		return false;
    	}
    	
    	
    	/*-----------------------------------------------------
    	Script
    	-----------------------------------------------------*/
    	OnAtcommand:
    		@input$ = .@atcmd_parameters$[0];
    		
    		if (alias("0", "pro", "pront", "prontera")) {
    			go("prontera",156, 184, 0, 0, .cost);
    		} else if (alias("1", "moc", "mor", "morocc", "morroc")) {
    			go("morocc", 160, 100, 0, 0, .cost);
    		} else if (alias("2", "gef", "geffen")) {
    			go("geffen", 120, 70, 0, 0, .cost);
    		} else if (alias("3", "pay", "payo", "payon")) {
    			go("payon", 174, 98, 0, 0, .cost);
    		} else if (alias("4", "alb", "alberta")) {
    			go("alberta", 192, 147, 0, 0, .cost);
    		} else if (alias("5", "izl", "izlude")) {
    			go("izlude", 127, 109, 0, 0, .cost);
    		} else if (alias("6", "ald", "alde", "aldebaran")) {
    			go("aldebaran", 140, 114, 0, 0, .cost);
    		} else if (alias("7", "xmas", "lutie")) {
    			go("xmas", 148, 132, 0, 0, .cost);
    		} else if (alias("8", "com", "comodo")) {
    			go("comodo",189, 151, 0, 0, .cost);
    		} else if (alias("9", "juno", "yuno")) {
    			go("yuno", 157, 182, 0, 0, .cost);
    		} else if (alias("10", "ama", "amat", "amatsu")) {
    			go("amatsu", 197, 84, 0, 0, .cost);
    		} else if (alias("11", "gon", "gonr", "gonryun")) {
    			go("gonryun", 159, 116, 0, 0, .cost);
    		} else if (alias("12", "umb", "umbala", "umbrella")) {
    			go("umbala", 90, 154, 0, 0, .cost);
    		} else if (alias("13", "nif", "niflheim")) {
    			go("niflheim", 195, 175, 0, 0, .cost);
    		} else if (alias("14", "lou", "louyang")) {
    			go("louyang", 218, 99, 0, 0, .cost);
    		} else if (alias("15", "nov", "ng", "novice")) {
    			go("new_1-1", 53, 111, 0, 10, .cost);
    		} else if (alias("16", "jail", "prison")) {
    			go("sec_pri", 23, 61, 0, 10, .cost);
    		} else if (alias("17", "jaw", "jawaii")) {
    			go("jawaii", 221, 221, 0, 0, .cost);
    		} else if (alias("18", "ayo", "ayotaya", "ayothaya")) {
    			go("ayothaya", 151, 165, 0, 0, .cost);
    		} else if (alias("19", "ein", "einbroch")) {
    			go("einbroch", 64, 200, 0, 0, .cost);
    		} else if (alias("20", "lhz", "light", "lighthalzen")) {
    			go("lighthalzen", 158, 92, 0, 0, .cost);
    		} else if (alias("21", "einbe", "einbech")) {
    			go("einbech", 176, 125, 0, 0, .cost);
    		} else if (alias("22", "hug", "hugel")) {
    			go("hugel", 96, 145, 0, 0, .cost);
    		} else if (alias("23", "rach", "rachel")) {
    			go("rachel", 130, 110, 0, 0, .cost);
    		} else if (alias("24", "ve", "veins")) {
    			go("veins", 216, 123, 0, 0, .cost);
    		} else if (alias("25", "mosc", "mosk", "moscovia")) {
    			go("moscovia", 223, 184, 0, 0, .cost);
    		} else if (alias("26", "camp", "mid", "midgard")) {
    			go("mid_camp", 180, 240, 0, 0, .cost);
    		} else if (alias("27", "man", "manuk")) {
    			go("manuk", 282, 138, 0, 0, .cost);
    		} else if (alias("28", "spl", "splend", "splendide")) {
    			go("splendide", 197, 176, 0, 0, .cost);
    		} else if (alias("29", "br", "bra", "brasil", "brasilis")) {
    			go("brasilis", 182, 239, 0, 0, .cost);
    		} else if (alias("30", "el", "eldic", "dic", "dicastes")) {
    			go("dicastes01", 198, 187, 0, 0, .cost);
    		} else if (alias("31", "mora")) {
    			go("mora", 44, 151, 0, 0, .cost);
    		} else if (alias("32", "dew", "dewata")) {
    			go("dewata", 200, 180, 0, 0, .cost);
    		} else if (alias("33", "mal", "malang", "malangdo")) {
    			go("malangdo", 140, 114, 0, 0, .cost);
    		} else if (alias("34", "port", "malay", "malaya")) {
    			go("malaya", 242, 211, 0, 0, .cost);
    		} else if (alias("35", "ecl", "ecla", "eclag", "eclage")) {
    			go("eclage", 110, 39, 0, 0, .cost);
    		} else if (alias("36", "eve", "event")) {
    			go("prontera", 190, 173, 0, 0, .cost);
    		} else {
    			message strcharinfo(0), "Invalid location number, or name.";
    			message strcharinfo(0), "Params: <city name|number>";
    			message strcharinfo(0), "Warps you to a city.";	
    			message strcharinfo(0), "0: Prontera     1: Morroc     2: Geffen     3: Payon     4: Alberta";
    			message strcharinfo(0), "5: Izlude     6: Al De Baran     7: Lutie     8: Comodo     9: Yuno";
    			message strcharinfo(0), "10: Amatsu     11: Gonryun     12: Umbala     13: Niflheim     14: Louyang";
    			message strcharinfo(0), "15: Novice Grounds     16: Prison     17: Jawaii     18: Ayothaya     19: Einbroch";
    			message strcharinfo(0), "20: Lighthalzen     21: Einbech     22: Hugel     23: Rachel     24: Veins";
    			message strcharinfo(0), "25: Moscovia     26: Midgard Camp     27: Manuk     28: Splendide     29: Brasilis";
    			message strcharinfo(0), "30: El Dicastes     31: Mora     32: Dewata     33: Malangdo     34: Malaya";
    			message strcharinfo(0), "35: Eclage";
    			message strcharinfo(0), "@go failed.";
    		}
    		
    		end;
    		
    }

     

     

    change this part of the code into this one

    function go {
    		if (.deadlock && !Hp) {
    			message strcharinfo(0), "You may not use @go when you are dead.";
    		} else if (.town && !getmapflag(strcharinfo(3), mf_town)) {
    			message strcharinfo(0), "You may only use @go in towns.";
    		} else if (getmapflag(strcharinfo(3), mf_pvp)) {
    			message strcharinfo(0), "You cannot use @go in PvP Maps.";
    		} else if (.delay && @go_delay > gettimetick(2)) {
    			message strcharinfo(0), "You must wait "+ (@go_delay - gettimetick(2))  +" seconds before warping again.";
    		} else if (BaseLevel < getarg(3)) {
    			message strcharinfo(0), "You must be at least level "+ getarg(3) +" to warp to this map.";
    		} else if (getgroupid() < getarg(4) || getmapflag(getarg(0), mf_nowarp)) {
    			message strcharinfo(0), "You are not authorised to warp to this map.";
    		} else if (.charge && Zeny < getarg(5)) {
    			message strcharinfo(0), "You must have at least "+ getarg(5) +" zeny to warp to this map.";
    		} else {
    			if (.delay) {
    				@go_delay = gettimetick(2) + .delay;
    			}
    		
    			if (.charge) {
    				Zeny -= getarg(5);
    			}
    		
    			warp getarg(0), getarg(1), getarg(2);
    			end;
    		}
    		
    		message strcharinfo(0), "@go failed.";
    		end;
    	}

     

    reload the script and try it


  6. 7 hours ago, ThyroDree said:

    Before this error, I can login normally, after I remove and changed my dll files from my client side. I get failed to connect to the server after character select, and then I restarted the server using ./athena-start restart then I cannot connect to my map server..  Its always [Fatal Error]: Connection to char-server failed 3. I have same userid passwd at my conf files and sql login

     

    [Error]: Sent wrong packet id: 0x2711 [Error]: --- failed assertion -------------------------------------------- [Error]: socket.c:2112: '0' in function `socket_validateWfifo' [Error]: 0x556025745e15 nullpo_backtrace_print [Error]: /home/Thyro/Hercules/src/common/nullpo.c:77 [Error]: 0x556025745e15 assert_report [Error]: /home/Thyro/Hercules/src/common/nullpo.c:147 [Error]: 0x556025759c4b wfifoset [Error]: /home/Thyro/Hercules/src/common/socket.c:901 [Error]: [Status]: Done reading '255' entries in 'db/pre-re/statpoint.txt'. 0x556025738c7b login_parse_request_connection [Error]: /home/Thyro/Hercules/src/login/login.c:1473 [Error]: 0x556025734312 lclif_parse_CA_CHARSERVERCONNECT [Error]: /home/Thyro/Hercules/src/login/lclif.c:266 [Error]: 0x55602573474c lclif_parse_packet [Error]: /home/Thyro/Hercules/src/login/lclif.c:510 [Error]: 0x5560257343d1 lclif_parse [Error]: /home/Thyro/Hercules/src/login/lclif.c:419 [Error]: 0x556025758f05 do_sockets [Error]: /home/Thyro/Hercules/src/common/socket.c:1073 [Error]: 0x55602572ff61 main [Error]: /home/Thyro/Hercules/src/common/core.c:539 [Error]: 0x7f36b91412e0 ??? [Error]: ???:0 [Error]: 0x556025730149 ??? [Error]: ???:0 [Error]: 0xffffffffffffffff ??? [Error]: ???:0 [Error]: --- end failed assertion ---------------------------------------- [Error]: Can not connect to login-server. [Error]: The server communication passwords (default s1/p1) are probably invalid. [Error]: Also, please make sure your login db has the correct communication username/passwords and the gender of the account is S. [Error]: The communication passwords are set in /conf/map/map-server.conf and /conf/char/char-server.conf

    
    [Error]: Sent wrong packet id: 0x2711
    [Error]: --- failed assertion --------------------------------------------
    [Error]: socket.c:2112: '0' in function `socket_validateWfifo'
    [Error]: 0x556025745e15 nullpo_backtrace_print
    [Error]:        /home/Thyro/Hercules/src/common/nullpo.c:77
    [Error]: 0x556025745e15 assert_report
    [Error]:        /home/Thyro/Hercules/src/common/nullpo.c:147
    [Error]: 0x556025759c4b wfifoset
    [Error]:        /home/Thyro/Hercules/src/common/socket.c:901
    [Error]: [Status]: Done reading '255' entries in 'db/pre-re/statpoint.txt'.
    0x556025738c7b login_parse_request_connection
    [Error]:        /home/Thyro/Hercules/src/login/login.c:1473
    [Error]: 0x556025734312 lclif_parse_CA_CHARSERVERCONNECT
    [Error]:        /home/Thyro/Hercules/src/login/lclif.c:266
    [Error]: 0x55602573474c lclif_parse_packet
    [Error]:        /home/Thyro/Hercules/src/login/lclif.c:510
    [Error]: 0x5560257343d1 lclif_parse
    [Error]:        /home/Thyro/Hercules/src/login/lclif.c:419
    [Error]: 0x556025758f05 do_sockets
    [Error]:        /home/Thyro/Hercules/src/common/socket.c:1073
    [Error]: 0x55602572ff61 main
    [Error]:        /home/Thyro/Hercules/src/common/core.c:539
    [Error]: 0x7f36b91412e0 ???
    [Error]:        ???:0
    [Error]: 0x556025730149 ???
    [Error]:        ???:0
    [Error]: 0xffffffffffffffff ???
    [Error]:        ???:0
    [Error]: --- end failed assertion ----------------------------------------
    [Error]: Can not connect to login-server.
    [Error]: The server communication passwords (default s1/p1) are probably invalid.
    [Error]: Also, please make sure your login db has the correct communication username/passwords and the gender of the account is S.
    [Error]: The communication passwords are set in /conf/map/map-server.conf and /conf/char/char-server.conf

     

    Try to reboot your VPS, maybe you start the server twice


  7. On 3/26/2020 at 1:16 PM, Luffy said:

    Hi Good day all,

     

    i just want to ask if i can config announce to such form like this. 
    EXP RATE : 
    DROP RATE :
    Death Penalty : 

    rathena.png.72f26d9869dabc76f12d742e449165b9.png

     

     

    i did search for such code but xD im not lucky to find one. i tried coding but it seems to announce it just by one line.
    anyone got idea? please enlighten me.

    screenCoronaVirus002.thumb.jpg.b836809216e7cac81ba0c9f8f71b5748.jpg

    kindly elaborate it so that i can make a simple script for you


  8. 1 hour ago, Pedroooo said:

    I'm configure my localhost emulator after long time without messing Hercules, and I realized that there is no way to maintain the log database separated from main database? I'm wrong? Because I dont see nothing about log database in sql_connection.conf?

     

    Thanks for listening.

    you cannot separate it like before, you need to put it on 1 database with the main tables


  9. 4 hours ago, WillzonePH said:

    Need help to fix this error on plugins! Btw, im using latest version of hercules emulator!

     

    [Error]: Skip packet 0x00F3 with size 21, but must be size 65535 [Error]: --- failed assertion -------------------------------------------- [Error]: D:\Ragnarok\Hercules\src\common\socket.c:840: '0' in function `unknown' [Error]: --- end failed assertion ----------------------------------------

    
    [Error]: Skip packet 0x00F3 with size 21, but must be size 65535
    [Error]: --- failed assertion --------------------------------------------
    [Error]: D:\Ragnarok\Hercules\src\common\socket.c:840: '0' in function `unknown'
    [Error]: --- end failed assertion ----------------------------------------

     

    Indicate what plugin you used.


  10. 7 hours ago, Luffy said:

    can you explain how it work? we just need to change the day? ex. DATE_ADD(NOW(), INTERVAL 1 DAY) for 1 day and DATE_ADD(NOW(), INTERVAL 3DAY) for 3 days?

    I rather used MYSQL Lines because im putting it on the database

     

    If you want to add +3 Days it should be like this DATE_ADD(NOW(), INTERVAL 3 DAY)


  11. 18 hours ago, Robert415 said:

     

    I think you mean about the TortoiseGit.

     

    TortoiseGit 2.10.0.0 (D:\WIN7\Program Files\TortoiseGit\bin)
    git version 2.25.1.windows.1 (d:\win7\Program Files\Git\bin; d:\win7\Program Files\Git\mingw64\; d:\win7\Program Files\Git\etc\gitconfig)

     

    I had tested with OpenKore xkore 3,

    The coordinates  of monsters shifted weirly. That is, monster's coordinates are not send to client correctly.

    git version is the version of the hercules emulator you used.


  12. 52 minutes ago, ThyroDree said:

    Hi! Im confused with this

     

    WEAPONTYPE_Custom_Weapon = 110

     

    [Weapon_IDs.WEAPONTYPE_Banryu] = "_32000"

     

    which one is the sprite name there?

    If I have spritename like hellrevolver.spr/act

    can you give me example using hellrevolver?

    Change all the custom_weapon name int ohellrevolver

    it must be like this
    [Weapon_IDs.WEAPONTYPE_hellrevolver] = "_32000"

     

    WEAPONTYPE_hellrevolver = 110

     

    the 32000 is the item ID number


  13. 11 hours ago, ThyroDree said:

    I have followed on how to add the custom weapon here

    https://herc.ws/wiki/Custom_Items#Weapon_Sprite_Solution_.28Renewal_Clients_.3C.3D_2012-04-10a_.26_Main_Clients_.3C.3D_2012-07-10a.29

     

    My problem here the weapon is not showing its sprite.

    I put the sprite to data/sprite/¾ÆÀÌÅÛ/

    then created iteminfo and item_dbs the weapon. The weapon works fines the dropped, when equipped.

    Just when attack the weapon is the normal sprite view. How can I make the show its own custom sprite?

    Adding Custom Weapon needs the Following..

     

    data/luafiles514/lua files/datainfo/weapontable.lub
    Something like this, check each code where to place it

    WEAPONTYPE_Custom_Weapon = 110
    [Weapon_IDs.WEAPONTYPE_Banryu] = "_32000"
    [Weapon_IDs.WEAPONTYPE_Custom_Weapon] = Weapon_IDs.WEAPONTYPE_SWORD

    Then in your item_db2.conf

    {
    	Id: 32000
    	AegisName: "Custom_Weapon"
    	Name: "Custom Weapon"
    	Type: "IT_WEAPON"
    	Buy: 20
    	Weight: 1000
    	Atk: 150
    	Range: 1
    	Loc: 2
    	Slots: 4
    	WeaponLv: 4
    	Subtype: "W_1HSWORD"
    	Job: {
    		Knight: true
    	}
    	Refine: true
    	Script: <"">
    },

    Then in iteminfo.lua

    	[32000] = {
    		unidentifiedDisplayName = "Custom Weapon",
    		unidentifiedResourceName  = "Custom_Weapon",
    		unidentifiedDescriptionName = {
    			"Unidentified item, can be identified with [Magnifier].",
    		},
    		identifiedDisplayName = "Custom Weapon",
    		identifiedResourceName = "Custom_Weapon",
    		identifiedDescriptionName = { "" },
    		slotCount = 4,
    		ClassNum = 110
    	},

    ofcourse your sprite should be same name with what you put in weapontable.lub


  14. Try to change this in

     

    src/map/unit.c and find this line of codes

    if (unit->walk_toxy_sub(bl) == 0 && (flag & 2) != 0) {
    	set_mobstate(bl);
    	return 1;
    }

    then change this into

    if (unit->walk_toxy_sub(bl) == 0) {
    	if ((flag & 2) != 0)
    		set_mobstate(bl);
    	return 1;
    }

    then compile

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.