Jump to content

Kuya Jeo

Members
  • Content Count

    596
  • Joined

  • Last visited

  • Days Won

    25

Posts posted by Kuya Jeo


  1. Find this on skill.c

    if( sc->data[SC_DANCING] && skill->get_inf2(ud->skill_id)&INF2_SONG_DANCE && sd )
    	skill->blockpc_start(sd,BD_ADAPTATION,3000);
    

    Add comment line // on that line

    It should be like this

    //if( sc->data[SC_DANCING] && skill->get_inf2(ud->skill_id)&INF2_SONG_DANCE && sd )
    	//skill->blockpc_start(sd,BD_ADAPTATION,3000);
    

    After editing it, recompile your server


  2. Saan po ba ako pwede kumuha ng server files na classic yung walang trans at 3rd job patch. yung parang Balik RO lang or Sarah server. maraming salamat po!

    You can setup it in the way you wanted, but no open source for classic and on going episodes, you need to reconfigure it by yourself


  3.  

     

    Good day Hercules,

     

    I'm running AGI BASE skill delay,

     

    Is there any way to make, like to increase more AGI to remove skill delay or what is the formula or where is it located to increase required agi to remove skill delay? thank you!

     

    Cuz some custom items of the server has + 25 agi, is there away to make 200 agi for no skill delay? /heh

    Maybe you can try this

    if(readparam(bAgi) >= 200) { bonus bDelayRate, "<SkilName>" , -100; }

    Hi Zao

    Where will i place it?

     

    Place it on your item script

    script <"if(readparam(bAgi) >= 200) { bonus bDelayRate, "<SkilName>" , -100; }">


  4. Good day Hercules,

     

    I'm running AGI BASE skill delay,

     

    Is there any way to make, like to increase more AGI to remove skill delay or what is the formula or where is it located to increase required agi to remove skill delay? thank you!

     

    Cuz some custom items of the server has + 25 agi, is there away to make 200 agi for no skill delay? /heh

    Maybe you can try this

    if(readparam(bAgi) >= 200) { bonus bDelayRate, "<SkilName>" , -100; }


  5.  

    i guess you followed the old guide and did 2 databases, a separate for the logs. Iirc the new config doesn't allow that (please correct me if i'm wrong) so just import the logs.sql to your main database

    yes i think i did follow the old guide http://herc.ws/board/topic/968-guide-how-to-setup-hercules/

     

    how do i "import" the logs.sql  to my main database? (im kinda super nooby) :sry:

    people are nice in here  :)

    Go to your database (phpmyadmin)

    Click your database name

    Find the Import on the menu tab

    Click Import

    Choose logs.sql then click go


  6. H

     

     

     

    Good day Hercules!

    I recently moved to CLOUD SERVER.

     

    all were working fine. was able to run the server.

     

    and unfortunately i can't connect to the server.

     

    I was able to connect before i did something in phpmyadmin users and was able to connect but i did re-image the server and now i can't connect anymore.

    can you help me whats the right way to do it?

    as far as i remember, i login to phpmyadmin using root (in web) , the click users create new user and checked Global privileges.


    unfortunately i can't connect. nothing. the server just run inside in the cloud VNC "map-server online" and no error.

    please help me what did i missed?

    Once you LOGIN, is no errors or any warnings? if no errors maybe you IP in your clientinfo.xml


    no error showing. 

    i just migrated to cloud with same file i have from VPS but in VPS there is an installed phpmyadmin

    here in cloud i just installed it. so im not sure if im doing the right thing.

    I login to cloud using root. 
    create databases
    and add user. 
    username: Server
    host: %
    grant all global priviliges

    How about your inter-server.conf? clientinfo.xml in your grf? <address>127.0.0.1</address> 


  7. Good day Hercules!

     

    I recently moved to CLOUD SERVER.

     

    all were working fine. was able to run the server.

     

    and unfortunately i can't connect to the server.

     

    I was able to connect before i did something in phpmyadmin users and was able to connect but i did re-image the server and now i can't connect anymore.

    can you help me whats the right way to do it?

     

    as far as i remember, i login to phpmyadmin using root (in web) , the click users create new user and checked Global privileges.

     

     

    unfortunately i can't connect. nothing. the server just run inside in the cloud VNC "map-server online" and no error.

     

    please help me what did i missed?

    Once you LOGIN, is no errors or any warnings? if no errors maybe you IP in your clientinfo.xml


  8.  

     

     
     
    // credits to Annieruru
    function    script    ValueConvert    {
        set .@num, atoi(""+getarg(0));
        if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0);
        set .@l, getstrlen(""+.@num);
        for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) {
            set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$;
                if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$;
        }
        return .@num$;
    }
     
     
    -    script    Stylist    FAKE_NPC,{
    OnTalk:
        @style = ( select( .npc_menu$ ) - 1 );
        @style_value = getlook( .look_type[@style] );
        deletearray .@blacklist;
        switch( @style ){
            case 0: .@blacklist$ = ","+getd( ".blacklist_hairstyle_"+Sex+"$" )+","; break;
            case 1: .@blacklist$ = ","+getd( ".blacklist_haircolor_"+Sex+"$" )+","; break;
            case 2: .@blacklist$ = ","+getd( ".blacklist_cloth_"+Sex+"$" )+","; break;
            default: break;
        }
     
        .@style_number = .min_style[@style];
     
        addtimer 1000,strnpcinfo(0)+"::OnPCLogoutEvent";
        do{
            message strcharinfo(0),.menu_name$[@style]+" : "+.@style_number+"th";
            .@removed = 0;
            if( compare( .@blacklist$,","+.@style_number+"," ) ){
                message strcharinfo(0),"[ REMOVED ] "+.menu_name$[@style]+" : "+.@style_number+"th";
                .@removed = 1;
                // setlook .look_type[@style],.min_style[@style];
            }else{
                setlook .look_type[@style],.@style_number;
            }
            
            .@next = .@style_number + 1;
            .@prev = .@style_number - 1;
            if( .@next > .max_style[@style] ) .@next = .min_style[@style];
            if( .@prev < .min_style[@style] ) .@prev = .max_style[@style];
            
            @select = prompt( (( .@backward )?"Backward":"Forward" )+" - [ ^777777"+(( .@backward )? .@prev:.@next )+"th Style^000000 ]",
                        (( !.@backward )?"Backward":"Forward" )+" - [ ^777777"+(( !.@backward )? .@prev:.@next )+"th Style^000000 ]",
                        "Jump to a Style",
                        ( .@removed )?"":"^0055FFOkay, I want this "+.menu_name$[@style]+"^000000" );
                        
            if( @select == 2 ) .@backward = !.@backward;
            
            switch( @select ){
                case 1:    
                case 2:
                    .@style_number = (( .@backward )? .@prev:.@next );
                    break;
                case 3:    
                    message strcharinfo(0),"Available Style : "+.min_style[@style]+" ~ "+.max_style[@style]+".";
                    input .@style_number,.min_style[@style],.max_style[@style];
                    break;
                case 4:
                    .@atoi_currency = atoi( .currency$[@style] );
                    if( @style_value == .@style_number ){
                        message strcharinfo(0),"Swt..that is your original hairstyles.";
                        break;
                    } else if( .@atoi_currency ){
                        if( countitem( .@atoi_currency ) >= .cost[@style] ){
                            .@success = 1;
                            delitem .@atoi_currency,.cost[@style];
                        }
                    }else{
                        if( getd( ""+.currency$[@style] ) >= .cost[@style] ){
                            .@success = 1;
                            setd( ""+.currency$[@style] ),( getd( ""+.currency$[@style] ) - .cost[@style] );
                        }
                    }
                    if( .@success ){
                        message strcharinfo(0),"Enjoy your NEW "+.menu_name$[@style]+" !!";
                        @style_value = .@style_number;
                    }else{
                        mes "You dont have enough "+.currency_name$[@style]+" to change this "+.menu_name$[@style]+".";
                        mes "Cost : ^777777"+ValueConvert( .cost[@style] )+" "+.currency_name$[@style]+"^000000";
                        close2;
                    }
     
                default:
                    setlook .look_type[@style],@style_value;
                    break;
            }
        }while( @select != 4 && @select != 255 );
        mes "Come back again next time. ^^";
        @select = 0;
        close2;
        deltimer strnpcinfo(0)+"::OnPCLogoutEvent";
     
    OnPCLogoutEvent:
        if( @select )
            setlook .look_type[@style],@style_value;
        end;
        
    OnInit:
        // NPC Mode ( Bitmask )
        //    1 - Enable Hairstyle
        //    2 - Enable Hair Color
        //    4 - Enable Cloth Color
        .npc_mode = 7;
        
        // Menu Name
        setarray .menu_name$,
            "Hair Style",
            "Hair Color",
            "Cloth Color";
        
        // Payment Currency + Cost
        // Can be ITEM ID or Any Variable.
        setarray .currency$,
            "Zeny",    //    Hairstyle - Ex. need Zeny
            "Zeny",    //    Hair Color - Ex. need Zeny
            "Zeny";    //    Cloth Color - Ex. need Zeny
            
        setarray .cost,
            0,    //    Hairstyle ( 10,000 Zeny )
            0,    //    Hair Color ( 10,000 Zeny )
            0;    //    Cloth Color ( 10,000 Zeny )
            
        // Blacklisted Style for each style and each gender.
        // --- Female ---
        .blacklist_hairstyle_0$ = "0";
        .blacklist_haircolor_0$ = "0";
        .blacklist_cloth_0$ = "0";
        // --- Male ---
        .blacklist_hairstyle_1$ = "0";
        .blacklist_haircolor_1$ = "0";
        .blacklist_cloth_1$ = "0";
     
        // Dont edit
        setarray .min_style,getbattleflag( "min_hair_style" ),getbattleflag( "min_hair_color" ),getbattleflag( "min_cloth_color" );
        setarray .max_style,getbattleflag( "max_hair_style" ),getbattleflag( "max_hair_color" ),getbattleflag( "max_cloth_color" );
        .menu_size = getarraysize( .menu_name$ );
        .cost_size = getarraysize( .cost );
        setarray .look_type,LOOK_HAIR,LOOK_HAIR_COLOR,LOOK_CLOTHES_COLOR;
        for( .npc_menu$ = ""; .@i < .menu_size; .@i++ )
            .npc_menu$ = .npc_menu$ + ( ( .npc_mode & ( 1 << .@i ) )? .menu_name$[.@i]:"" ) +":";
        for( .@i = 0; .@i < .cost_size; .@i++ ){
            .@atoi = atoi( .currency$[.@i] );
            .currency_name$[.@i] = ( ( !.@atoi || getitemname( .@atoi ) == "null" )? .currency$[.@i]:getitemname( .@atoi ) );
        }
        end;
     
    }
     
     
     
     

     

    How do I disable hair-color-changing if the hairstyle is past 100?

    Change the range value

    Path : trunk/conf/battle/client.conf

     

     

    // Valid range of dyes and styles on the client.
    min_hair_style: 0
    max_hair_style: 30
    min_hair_color: 0
    max_hair_color: 100
    min_cloth_color: 0
    max_cloth_color: 100
    min_body_style: 0
    max_body_style: 4
    

  9.  

    @Zhao Chow

    Ops, map-server crash, maybe i edited wrong place not guild_change_memberposition

    Do you know where to edit it ?

     
    /*====================================================
     * Member changing position in guild
     *---------------------------------------------------*/
    int guild_change_memberposition(int guild_id,int account_id,int char_id,short idx,struct map_session_data *sd)
    {
    	if(map->agit_flag || map->agit2_flag) {
    		clif->message(sd->fd, "You cannot change position during War of Emperium.");
    		return 0;
    	}
    	return intif->guild_change_memberinfo(guild_id,account_id,char_id,GMI_POSITION,&idx,sizeof(idx));
    }
    

    Its working, try this code, forgot to put the *sd


  10.  

    I tried to used mapreg->readreg( script->add_str("$abc") follow Angelmelody guide but visual alert mapreg undefined.

     

    /*====================================================
     * Member changing position in guild
     *---------------------------------------------------*/
    int guild_change_memberposition(int guild_id,int account_id,int char_id,short idx)
    {
        if(mapreg->readreg( script->add_str("$abc"));
        return intif->guild_change_memberinfo(guild_id,account_id,char_id,GMI_POSITION,&idx,sizeof(idx));
    }
    

    Try this one.

     

     

    /*====================================================
     * Member changing position in guild
     *---------------------------------------------------*/
    int guild_change_memberposition(int guild_id,int account_id,int char_id,short idx)
    {
    	if(map->agit_flag || map->agit2_flag) {
    		clif->message(sd->fd, "You cannot change position during War of Emperium.");
    		return 0;
    	}
    	return intif->guild_change_memberinfo(guild_id,account_id,char_id,GMI_POSITION,&idx,sizeof(idx));
    }
    

  11. hmm.. zhao chow are you open for suggestions??..

    if yes, i got an idea been thinking about it since yesterday..

     

    add "Guild Package System" and the system works with ADMIN's random generated code.. and the code can be use once.

     

    example :

     

    Guild Limitless is applying for Guild Package after applying for Gpackage the ADMIN will recieve a mail that the Guild Limitless is applying for Guild package

     

    then the admin will give them the "Random Generated Code" to claim their Package

     

    and the Guild Leader will process the code through "Guild Manager"

    also Require's a minimum of 10 Online Guild Member with different IP's..

     

    for now this is all the idea i have in mind..

    hope it's possible to do in your power of scripting  :D  :D  :D  :D

    Thanks in advanced.. MORE POWER!!

    Just give me time to do it, but they must register 1st in the guild manager before proceeding


  12.  

    I made an LMS Script and I got this error

     

    [ Error ] : over 65k instances of 'LMS_NPC' script are being run

     

    I doubt that this is the cause of the server map crash.

    I hope someone can help me fixed this.

     

    
    -	script	Clock_Time	FAKE_NPC,{
    OnClock0230:
    OnClock0930:
    OnClock1430:
    OnClock2130:
    donpcevent "LMS_NPC::OnStart";
    end;
    }
    
    -	script	LMS_NPC	FAKE_NPC,{
    
    OnStart:
    			set $lms,1;
    			setnpctimer 0;
    			announce "[Event] The Last Man Standing event will be starting shortly.",16;
    			sleep2 10000;
    			announce "[Event] Those who want to play, please type @joinevent.",16;
    			sleep2 10000;
    			announce "[Event] After 1 Minute the registration will close.",16;
    			sleep2 10000;
    			announce "[Event] Please type @joinevent now if you want to join.",16;
    			initnpctimer;
    			end;
    
    	OnTimer30000:
    			announce "[Event] Last 30 seconds.",16;
    			sleep2 5000;
    			announce "[Event] If you want to join please type @joinevent.",16;
    			end;
    	
    	OnTimer50000:
    			announce "[Event] Last 10 seconds.",16;
    			end;
    	
    	OnTimer55000:
    			announce "[Event] 5!",16;
    			end;
    	
    	OnTimer56000:
    			announce "[Event] 4!",16;
    			end;
    	
    	OnTimer57000:
    			announce "[Event] 3!",16;
    			end;
    	
    	OnTimer58000:
    			announce "[Event] 2!",16;
    			end;
    	
    	OnTimer59000:
    			announce "[Event] 1!",16;
    			end;
    	
    	OnTimer60000:
    			announce "[Event] Time's up.",16;
    			end;
    	
    	OnTimer61000:
    			set $lms,0;
    			donpcevent "LMS_NPC::OnEnable";
    			stopnpctimer;
    			end;
    
    
    OnDoStart:
    	if (compare(.@atcmd_parameters$, "on")) {
    		if($lms){
    			dispbottom "Last Man Standing Event is still active.";
    			end;
    		}
    		callsub OnStart;
    	}
    end;
    
    OnDoPrize:
    	if (strcharinfo(3) == .map$ && getmapusers(.map$) == 1 && $lms == 0) {
    			announce "Congratulations "+strcharinfo(0)+", our Last Man Standing winner!.",16;
    			getitem 32005,3;
    			atcommand "@cash 10";
    			warp "SavePoint",0,0;
    	}
    end;
    
    OnEnable:
    			sleep2 5000;
    			mapannounce .map$,"[Event] We are about to start the Last Man Standing event.",16;
    			sleep2 10000;
    			mapannounce .map$,"[Event] But before we start the event here's how to play the game...",16;
    			sleep2 10000;
    			mapannounce .map$,"[Event] This is a survival game where you need to eliminate all players inside this map.",16;
    			sleep2 10000;
    			mapannounce .map$,"[Event] Everytime you killed a player, you will receive 1 Yggdrasil Berry.",16;
    			sleep2 10000;
    			mapannounce .map$,"[Event] Be the last man who stand and be rewarded.",16;
    			sleep2 10000;
    			mapannounce .map$,"[Event] Okay let's start the game!",16;
    			sleep2 5000;
    			mapannounce .map$,"[Event] 5!",16;
    			sleep2 1000;
    			mapannounce .map$,"[Event] 4!",16;
    			sleep2 1000;
    			mapannounce .map$,"[Event] 3!",16;
    			sleep2 1000;
    			mapannounce .map$,"[Event] 2!",16;
    			sleep2 1000;
    			mapannounce .map$,"[Event] 1!",16;
    			sleep2 1000;
    			mapannounce .map$,"[Event] GO!",16;
    			sleep2 1000;
    			set .status,1;
    			pvpon .map$;
    			donpcevent "LMS_NPC::OnCheck"; 
    			end;
    			
    OnCheck:
    	while(.status){
    		sleep2 10000;
    		if(getmapusers(.map$) == 1){
    			goto L_Winner;
    		}else if(getmapusers(.map$) == 2){
    			goto L_Remain;
    			
    		}else if(getmapusers(.map$) == 0){
    			goto L_None;
    		}else{
    			donpcevent "LMS_NPC::OnCheck"; 
    		}
    	}
    end;
    	
    L_Winner:
    	pvpoff .map$;
    	mapannounce .map$,"[Event] Please type ' @lmsprize ' for your rewards.",16;
    	set .status,0;
    end;
    
    L_None:
    	pvpoff .map$;
    	set .status,0;
    	announce "[Event] We don't have any winner on our Last Man Standing event. See you next time..",16;
    end;	
    
    L_Remain:
    	sleep2 10000;
    	mapannounce .map$,"[Event] Last 2 Brave warriors are still alive!",16;
    	sleep2 10000;
    	mapannounce .map$,"[Event] You can use @showplayer to detect players who use hide, chase walk or even cloaking skill for 2 minutes.",16;
    	donpcevent "LMS_NPC::OnCheck"; 
    end;
    	
    OnInit:
    
    	bindatcmd "lms","LMS_NPC::OnDoStart",80,100;
    	bindatcmd "lmsprize","LMS_NPC::OnDoPrize",0,100;
    	bindatcmd "showplayer","LMS_NPC::OnDoShow",0,100;
    	set .status,0;
    	set .map$,"1@lhz";
    	set .mapx,138;
    	set .mapy,134;
    	set $lms,0;	
    	set .cdtime,5;
    end;
    
    OnDoShow:
    		getmapxy(.@map$,.@x,.@y,0);
    		if(.@map$ != .map$ && getmapusers(.map$) >= 2 && .status < 1){end;}
    		set .@time,gettimetick(2);
    		set .@cd,(60*.cdtime);
    		if(.@time - #showplayer < .@cd) {
    				set .@k,#showplayer - (gettimetick(2)-.@cd);
    				set .@m,.@k % 3600 / 60;
    				set .@s,.@k % 60;
    				set .@m$, .@m+" minute"+((.@m <= 1)?"":"s");
    				set .@s$, .@s+" second"+((.@s <= 1)?"":"s");
    				set .@time$,""+.@m$+" "+.@s$+"";
    				dispbottom ""+.@time$+" left before you can use it again.";
    				end;
    		}
    		set #showplayer,gettimetick(2);
    	sc_start SC_CLAIRVOYANCE,120000,0;
    end;
    }
    
    // -- -- -- Kills Configurations -- -- -- // 
    
    -	script	Kills_Con	FAKE_NPC,{
    
    OnStart:
    	setnpctimer 0;
        initnpctimer;
        end; 
    	
    OnTimer1000:
        mapannounce getvariableofnpc(.map$,"LMS_NPC"),"You have only 7 minutes to eliminate all opponents.",16;
        end;
    	
    OnTimer240000:
        mapannounce getvariableofnpc(.map$,"LMS_NPC"),"3 minutes left.",16;
        end;
    
    OnTimer360000:
        mapannounce getvariableofnpc(.map$,"LMS_NPC"),"1 minute left.",16;
        end;
    	
    OnTimer390000:
        mapannounce getvariableofnpc(.map$,"LMS_NPC"),"30 seconds left.",16;
        end;
    	
    OnTimer410000:
        mapannounce getvariableofnpc(.map$,"LMS_NPC"),"10 seconds left.",16;
        end;
    	
    OnTimer415000:
        mapannounce getvariableofnpc(.map$,"LMS_NPC"),"5 seconds left.",16;
        end;
    	
    OnTimer420000:
    	donpcevent "LMS_NPC::L_None";
        end;
    	
    OnTimer425000:
    	mapwarp getvariableofnpc(.map$,"LMS_NPC"),"prontera",116,73,0;
    	donpcevent "L_None::OnCheck"; 
    	stopnpctimer;
        end;
    	
    	
    OnPCDieEvent:
    	getmapxy(.@map$,.@x,.@y,0);
    	if(.@map$==getvariableofnpc(.map$,"LMS_NPC")){
    		set #kill_point, 0;
    		mapannounce getvariableofnpc(.map$,"LMS_NPC"),""+strcharinfo(0)+" died, and out of the game!.",16;
    		sleep2 1000;
    		warp "SavePoint",0,0;
    		end;
    	}
    	
    OnPCKillEvent:
    	getmapxy(.@map$,.@x,.@y,0);
    	if(.@map$==getvariableofnpc(.map$,"LMS_NPC")){
    		set #kill_point,#kill_point+1;
    		if ( #kill_point % 1 == 0) {
    			getitembound 607,1,1;
    			end;
    		}
    	}
    }
    
    // -- -- -- Mapflags -- -- -- // 
    1@lhz	mapflag	nowarp
    1@lhz	mapflag	nowarpto
    1@lhz	mapflag	noteleport
    1@lhz	mapflag	nosave
    1@lhz	mapflag	nomemo
    1@lhz	mapflag	nobranch
    1@lhz	mapflag	pvp_noparty
    1@lhz	mapflag	pvp_noguild
    1@lhz	mapflag	noreturn
    1@lhz	mapflag	zone	Last Man Standing
    

    Update your kRO, maybe you have outdated GRF, i had this issues before in 1@lhz, since that map is renewal, i just update my kRO then no more error

     

    EDIT : F***CK misunderstood haha, this script is very bad coded


  13. Yeah thanks for some portions of yours but your logic was a little off @Zhao Chow. I was a bit mislead also. Basically this is like a Card Summoning system via @commands. What's intended is they use a Card, like if they have a Lunatic Card, they would type @callmonster 1063, which would then consume the specified Lunatic Card, as well as the items used to summon the Lunatic. A cool way to use your extra cards? I also included @callmonedit so you can edit the Item ID and Item Amount required for summoning a monster with your cards, designed for GM use.

     

    I made a different version that I'll be making a topic about. I'll update you guys with a link to it in a little bit.

     

     

    http://herc.ws/board/topic/13088-cmd-callmonster-callmonedit/

    I see, i thought that i need some items haha, mislead too.. but thank you for that fixed :P

     

    Edit : maybe they can use mine if they want to use items rather than card  :D


  14. Hello good day everyone, I'm a newbie here in ragnarok server making, I would like to ask some assistance in this matter

    my item in game looks like this, how do I solve this problem?

     

    I think im in the wrong section of the forums, if I am, please do transfer me to the correct section and 

    can anyone send me links to solve this problem thank you.

     

    Print screen for your reference.

     

     

    Did you check your iteminfo.lua or iteminfo.lub? wrong identifiedResourceName or maybe you dont have the bmp file under the item folder (Texture/À¯ÀúÀÎÅÍÆäÀ̽º/item)

×
×
  • Create New...

Important Information

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