Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Posts posted by AnnieRuru

  1. prontera,155,185,5	script	kjsdhfskfh	1_F_MARIA,{
    	sc_start SC_INCMSPRATE,1000,100;
    	end;
    }

    tested on rAthena, this increase my maximum SP by 100% for 1 second

    no idea why you say it gives base SP ... I tested with a swordsman equip whole body with wilow_card

    swordsman lv50, 111 SP -> click on NPC = 222 SP
    boosted with lots of wilow_card, 1141 SP -> 2282 SP
    boosted with service for you, 1975 SP -> 3386 SP ... ok this one questionable (58%) probably because the shitty way how we add the value

     

    btw nice to know some members still using hercules, thought that forum dead
    think should go back hercules support more and less on rathena forum ...

  2. [Status]: Map Server is now online.
    [Info]: Received Fame List of '0' characters.
    [Status]: Received '35' guild castles from char-server.
    [Info]: 'AnnieRuru' logged in. (AID/CID: '2000000/150000', IP: '127.0.0.1', Group '99').
    [Status]: Done reading '15' zones in 'db/re/map_zone_db.conf'.
    [Info]: Done loading '1009' NPCs:
            -'0' Warps
            -'0' Shops
            -'1009' Scripts
            -'0' Spawn sets
            -'0' Mobs Cached
            -'0' Mobs Not Cached
    [Status]: Event 'OnInit' executed with '70' NPCs.
    [Status]: Event 'OnInterIfInit' executed with '0' NPCs.
    [Status]: Event 'OnInterIfInitOnce' executed with '0' NPCs.
    [Status]: NPC_Event:[OnAgitStart] Run (22) Events by @AgitStart.
    [Status]: NPC_Event:[OnAgitEnd] Run (22) Events by @AgitEnd.
    [Status]: NPC_Event:[OnAgitStart] Run (22) Events by @AgitStart.

    db/re/map_zone_db.conf is hercules only

    you have (24) ... you have 2 more OnAgitStart, I can understand 1 is from previous script, but you have 1 more extra
    try find that one out

     

    [Info]: HCP: War of Emperium has been initiated.

    hmm ... from smokey's or dastgir's hercules battleground ?
    don't think so, what does battleground has to do with woe LOL
    it come from something else

  3. OnAgitInit:
        requestguildinfo getcastledata("guild_vs2", CD_GUILD_ID);
        end; // xsa missing end???
    OnRecvCastle123:
        flagemblem getcastledata("guild_vs2", CD_GUILD_ID);
        end;

    no, its not missing end, its call fall through
    if you do like this, the flag emblem will not load when the server startup

    the same with the label OnEmpBreak:
    the way you do it, the emperium wont respawn whenever someone break the emperium

     

    /* db\castle_db.txt
    99,guild_vs2,guild_vs2 Test Castle,test flag,1
    */
    guild_vs2,52,52,4	script	test flag	GUILD_FLAG,{
    	dispbottom "=========================";
    	.@gid = getcastledata("guild_vs2", 1); //CD_GUILD_ID == rathena ,  1 == hercules
    	dispbottom "owner of the castle : "+( ( .@gid )? "["+ getguildname(.@gid) +"]" : "<none>" );
    	dispbottom "agit check : "+( ( agitcheck() )?"on":"off" );
    	dispbottom "gvg_castle mapflag : "+( ( getmapflag( strcharinfo(3), mf_gvg_castle )?"on":"off" ) );
    	dispbottom "=========================";
    	end;
    OnInit:
    	if ( agitcheck() == false && !getcastledata("guild_vs2", 1) || agitcheck() == true )
    		donpcevent strnpcinfo(0)+"::OnAgitStart";
    	setmapflag "guild_vs2", mf_gvg_castle;
    	flagemblem getcastledata("guild_vs2", 1);
    
    	setarray .mob,	
    		1646,3, // Lord Knight Seyren
    		1647,3, // Assassin Cross Eremes
    		1648,3, // Whitesmith Harword
    		1649,3, // High Priest Magaleta
    		1650,3, // Sniper Shecil
    		1651,3, // High Wizard Katrinn
    
    		2235,3, // Paladin Randel
    		2236,3, // Creator Flamel
    		2237,3, // Professor Celia
    		2238,3, // Champion Chen
    		2239,3, // Stalker Gertie
    		2240,3, // Clown Alphoccio
    		2241,3; // Gypsy Trentini
    	.mobsize = getarraysize(.mob);
    	end;
    OnEmpBreak:
    	announce "The Emperium has fallen", bc_map|bc_woe;
    	killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
    	setcastledata "guild_vs2", 1, getcharid(2);
    	donpcevent "::OnRecvCastle123";
    	maprespawnguildid "guild_vs2", getcharid(2), 2;
    	sleep 7000;
    	if ( agitcheck() == false ) end;
    OnAgitStart:
    	.@mobid = monster("guild_vs2",49,49,"EMPERIUM",1288,1,strnpcinfo(NPC_NAME)+"::OnEmpBreak");
    	setunitdata .@mobid, UDT_HP, 5;
    	setunitdata .@mobid, UDT_MAXHP, 5;
    	if ( getcastledata("guild_vs2", 1) ) {
    		for ( .@i = 0; .@i < .mobsize; .@i += 2 )
    			for ( .@j = 0; .@j < .mob[.@i +1]; ++.@j )
    				guardian "guild_vs2", 0, 0, "--ja--", .mob[.@i], strnpcinfo(0)+"::OnGuardianDead";
    	}
    	else {
    		for ( .@i = 0; .@i < .mobsize; .@i += 2 )
    			monster "guild_vs2", 0,0, "--ja--", .mob[.@i], .mob[.@i +1], strnpcinfo(0)+"::OnGuardianDead";
    	}
    	end;
    OnAgitEnd:
    	killmonster strnpcinfo(4), strnpcinfo(0)+"::OnEmpBreak";
    	killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
    	end;
    OnGuardianDead:
    	if ( getcastledata( strcharinfo(3), 1 ) )
    		guardian strcharinfo(3), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead";
    	else
    		monster strcharinfo(3), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead";
    	end;
    OnAgitInit:
    	requestguildinfo getcastledata("guild_vs2", 1);
    OnRecvCastle123:
    	flagemblem getcastledata("guild_vs2", 1);
    	end;
    OnGuildBreak:
    	setcastledata "guild_vs2", 1, 0;
    	donpcevent "::OnRecvCastle123";
    	end;
    }

    where is the infinite loop ? I only see lots of MVP in the map ... map-server.exe all green
    screen2019Hercules009.jpg

  4. http://herc.ws/board/topic/7170-slot-machine/?do=findComment&amp;comment=87874

    On 6/1/2018 at 6:32 PM, AnnieRuru said:
    
    // Prize Settings
    // Prize Type
    // 0 = Zeny, 1 = Item, 2 = Zeny&Item
    .prize = 2;
    // [0] = Zeny, [1] = Item ID, [2] = Item Amount;
    setarray .ssm_prize[0],125,501,10;
    setarray .tsm_prize[0],450,501,30;

    the script doesn't let you to give more than 1 item in the configuration
    so can only change 10 red pot or 30 red pot

    ssm is single slot machine and tsm is triple slot machine

     

    • Love 1
  5. the answer to this topic is OnPCUseSkillEvent
    yes, many are broken, even mine in hercules plugin release also broken LOL

     

    skill_avail ... that's an interesting suggestion
    but due to the complexity of the skill database, I wonder how many field needed clone a skill ID
    item_avail only needs 2, mob_avail can have up to 12, skill_avail .... hmmm ... lazy to count ?

  6. 1. no, like I said, something is missing from my script, you still have to add more lines on the official script to make it spawn whenever someone break the emperium

    2. I think its better to write a custom woe script to demonstrate, because the official woe are quite complex

    https://annieruru.blogspot.com/2019/01/how-to-create-your-own-woe-castle-map.html

    /* db\castle_db.txt
    99,guild_vs2,guild_vs2 Test Castle,test flag,1
    */
    guild_vs2,52,52,4	script	test flag	GUILD_FLAG,{
    	dispbottom "=========================";
    	.@gid = getcastledata("guild_vs2", CD_GUILD_ID);
    	dispbottom "owner of the castle : "+( ( .@gid )? "["+ getguildname(.@gid) +"]" : "<none>" );
    	dispbottom "agit check : "+( ( agitcheck() )?"on":"off" );
    	dispbottom "gvg_castle mapflag : "+( ( getmapflag( strcharinfo(3), mf_gvg_castle )?"on":"off" ) );
    	dispbottom "=========================";
    	end;
    OnInit:
    	if ( agitcheck() == false && !getcastledata("guild_vs2", CD_GUILD_ID) || agitcheck() == true )
    		donpcevent strnpcinfo(0)+"::OnAgitStart";
    	setmapflag "guild_vs2", mf_gvg_castle;
    	flagemblem getcastledata("guild_vs2", CD_GUILD_ID);
    
    	setarray .mob,
    	//	1646,1, // Lord Knight Seyren
    	//	1647,1, // Assassin Cross Eremes
    	//	1648,1, // Whitesmith Harword
    	//	1649,1, // High Priest Magaleta
    	//	1650,1, // Sniper Shecil
    	//	1651,1, // High Wizard Katrinn
    	//	        
    	//	2235,1, // Paladin Randel
    	//	2236,1, // Creator Flamel
    	//	2237,1, // Professor Celia
    	//	2238,1, // Champion Chen
    		2239,1, // Stalker Gertie
    		2240,1, // Clown Alphoccio
    		2241,1; // Gypsy Trentini
    	.mobsize = getarraysize(.mob);
    	end;
    OnEmpBreak:
    	announce "The Emperium has fallen", bc_map|bc_woe;
    	killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
    	setcastledata "guild_vs2", 1, getcharid(2);
    	donpcevent "::OnRecvCastle123";
    	maprespawnguildid "guild_vs2", getcharid(2), 2;
    	sleep 7000;
    	if ( agitcheck() == false ) end;
    OnAgitStart:
    	monster "guild_vs2",49,49,"EMPERIUM",1288,1,strnpcinfo(0)+"::OnEmpBreak";
    	setunitdata $@mobid, UMOB_HP, 5;
    	if ( getcastledata("guild_vs2", CD_GUILD_ID) ) {
    		for ( .@i = 0; .@i < .mobsize; .@i += 2 )
    			for ( .@j = 0; .@j < .mob[.@i +1]; ++.@j )
    				guardian "guild_vs2", 0, 0, "--ja--", .mob[.@i], strnpcinfo(0)+"::OnGuardianDead";
    	}
    	else {
    		for ( .@i = 0; .@i < .mobsize; .@i += 2 )
    			monster "guild_vs2", 0,0, "--ja--", .mob[.@i], .mob[.@i +1], strnpcinfo(0)+"::OnGuardianDead";
    	}
    	end;
    OnAgitEnd:
    	killmonster strnpcinfo(4), strnpcinfo(0)+"::OnEmpBreak";
    	killmonster strnpcinfo(4), strnpcinfo(0)+"::OnGuardianDead";
    	end;
    OnGuardianDead:
    	if ( getcastledata( strcharinfo(3), CD_GUILD_ID ) )
    		guardian strcharinfo(3), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead";
    	else
    		monster strcharinfo(3), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead";
    	end;
    OnAgitInit:
    	requestguildinfo getcastledata("guild_vs2", CD_GUILD_ID);
    OnRecvCastle123:
    	flagemblem getcastledata("guild_vs2", CD_GUILD_ID);
    	end;
    OnGuildBreak:
    	setcastledata "guild_vs2", 1, 0;
    	donpcevent "::OnRecvCastle123";
    	end;
    }

    this is the full script that should do what you want

    AFTER you learn how to write your own castle, then apply this method into official script, OK ?

     

    EDIT: I just saw no.3

    5 hours ago, utofaery said:

    I found out that on WOE:SE half of the monster actually spawn outside of WOE'ing area (guild member convenience area),

    these are just coordinate, just change them from the *monster/*guardian script command

     

    5 hours ago, utofaery said:

    and I am not good with the part of 

    
    .@j += 2

    .@i++ is set .@i, .@i +1;
    .@i += 2 is equal to set .@i, .@i +2;

     

    5 hours ago, utofaery said:

    so could you make changes to the script so the monster is actually spawn'ed by those stone guardian like those guardian but without the defense investment level spawning stuff?? 

    yes, 100% done in scripting

  7. 1. why you ask question on rathena board when the script was solved on hercules board ?
    http://herc.ws/board/topic/16523-hhow-to-make-it-report-actual-sold-item-count/
    I can't even merge topic because you ask in different forum

    2. why you use a function instead of npc ? issit because you want this to be use from an item ?

    and since you ask in rathena forum, I use rathena specific script commands, that throw error on hercules

    prontera,155,185,4	script	Mass Junk Seller	1_M_MERCHANT,{
    	disable_items;
    	getinventorylist;
    	for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) {
    		if ( getiteminfo( @inventorylist_id[.@i], 2 ) == IT_ETC && inarray( .item_deny, @inventorylist_id[.@i] ) == -1 ) {
    			.@id[.@c] = @inventorylist_id[.@i];
    			.@amount[.@c] = @inventorylist_amount[.@i];
    			.@zeny_total += getiteminfo( .@id[.@c], 1 ) * .@amount[.@c] *(100 + .Overcharge[ getskilllv("MC_OVERCHARGE")] )/100;
    			++.@c;
    		}
    	}
    	if ( !.@c ) {
    		mes "you don't have any items to sell";
    		close;
    	}
    	mes "Are you sure selling :";
    	for ( .@i = 0; .@i < .@c; ++.@i )
    		mes .@amount[.@i] +"x "+ getitemname(.@id[.@i]);
    	mes "for "+ F_InsertComma(.@zeny_total) +" Zeny ?";
    	next;
    	if ( select( "Yes", "No" ) == 2 ) close;
    	if ( Zeny + .@zeny_total > MAX_ZENY ) {
    		mes "You can't carry that much Zeny.";
    		close;
    	}
    	for ( .@i = 0; .@i < .@c; ++.@i )
    		delitem .@id[.@i], .@amount[.@i];
    	mes "All item sold for "+ F_InsertComma(.@zeny_total) +" Zeny";
    	Zeny += .@zeny_total;
    	close;
    OnInit:
    	setarray .Overcharge[0], 0, 7,9,11,13,15,17,19,21,23,24;
    	setarray .item_deny, 907,908,909, 7539;
    	end;
    }

     

    EDIT: and the reason probably why your script give infinite loop error is because
    I used .@c to store the total amount of possible items, and you reuse .@c in a loop

  8. erm .............................................................................................
    ...............................................Official WoE is like this
    https://irowiki.org/wiki/War_of_Emperium
    https://irowiki.org/wiki/War_of_Emperium_2
    https://irowiki.org/wiki/War_of_Emperium_Training_Edition

    ok, so you just want to make for fun
    https://annieruru.blogspot.com/2019/01/how-to-create-your-own-woe-castle-map.html

    -	script	EmperiumGuardian	FAKE_NPC,{
    OnInit:
    	setarray .mob,
    		1646,5, // Lord Knight Seyren
    		1647,5, // Assassin Cross Eremes
    		1648,5, // Whitesmith Harword
    		1649,5, // High Priest Magaleta
    		1650,5, // Sniper Shecil
    		1651,5, // High Wizard Katrinn
    		        
    		2235,5, // Paladin Randel
    		2236,5, // Creator Flamel
    		2237,5, // Professor Celia
    		2238,5, // Champion Chen
    		2239,5, // Stalker Gertie
    		2240,5, // Clown Alphoccio
    		2241,5; // Gypsy Trentini
    	.mobsize = getarraysize(.mob);
    
    	setarray .castle$[0],
    		"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
    		"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
    		"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
    		"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
    		"arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05",
    		"schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05";
    	end;
    OnAgitStart:  callsub OnAgitStartFunction, 0, 20;
    OnAgitStart2: callsub OnAgitStartFunction, 20, 30;
    OnAgitStartFunction:
    	.@start_index = getarg(0);
    	.@end_index = getarg(1);
    	for ( .@i = .@start_index; .@i < .@end_index; ++.@i ) {
    		if ( getcastledata( .castle$[.@i], CD_GUILD_ID ) ) {
    			for ( .@j = 0; .@j < .mobsize; .@j += 2 )
    				for ( .@k = 0; .@k < .mob[.@j +1]; ++.@k )
    					guardian .castle$[.@i], 0, 0, "--ja--", .mob[.@j], strnpcinfo(0)+"::OnGuardianDead";
    		}
    		else {
    			for ( .@j = 0; .@j < .mobsize; .@j += 2 ) 
    				monster .castle$[.@i], 0,0, "--ja--", .mob[.@j], .mob[.@j +1], strnpcinfo(0)+"::OnGuardianDead";
    		}
    	}
    	end;
    OnAgitEnd:  callsub OnAgitEndFunction, 0, 20;
    OnAgitEnd2: callsub OnAgitEndFunction, 20, 30;
    OnAgitEndFunction:
    	.@start_index = getarg(0);
    	.@end_index = getarg(1);
    	for ( .@i = .@start_index; .@i < .@end_index; ++.@i )
    		killmonster .castle$[.@i], strnpcinfo(0)+"::OnGuardianDead";
    	end;
    OnGuardianDead:
    	if ( getcastledata( strcharinfo(3), CD_GUILD_ID ) )
    		guardian strcharinfo(3), 0,0,"--ja--", killedrid, strnpcinfo(0)+"::OnGuardianDead";
    	else
    		monster strcharinfo(3), 0,0, "--ja--", killedrid, 1, strnpcinfo(0)+"::OnGuardianDead";
    	end;
    //OnAgitBreakEvent:
    	// donpcevent can't include getarg, like a function ....
    }

    there is still something missing here, when the emperium breaks, all these monster has to replace with guardians
    which you have to edit on the npc/guild/agit_main.txt and npc/guild2/agit_main_se.txt directly
    http://herc.ws/board/topic/4848-woe-castle-auto-assign-on-guild/?do=findComment&amp;comment=31251

  9. while I was in the middle of writing this, the previous post shows up
    ok there are 4 topics, which I can only recommend 1st one (which was done by me)

    2nd and 3rd topic, the link is dead, eathena forum down

    4th topic, uses OnPCLoadMapEvent
    actually since Euphy rewrite the WoE system, we don't have to use that trick anymore
    just don't run the OnAgitStart: label for that particular castle is enough


    // https://rathena.org/board/topic/118185-woe-random-castle/
    
    //	remember to disable these links
    //== npc\guild\agit_controller.txt
    //== npc\guild2\agit_start_se.txt
    //== npc\re\guild3\agit_start_te.txt
    
    -	script	castle_randomize	FAKE_NPC,{
    OnInit:
    	setarray .castle$[0],
    		"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
    		"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
    		"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
    		"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
    		"arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05",
    		"schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05";
    //	bindatcmd "cas", strnpcinfo(0)+"::OnDebug", 99, 100;
    	end;
    OnWed2000:
    OnSat2000:
    OnAgitInit:
    	if ( ( gettime(DT_DAYOFWEEK) == WEDNESDAY && gettime(DT_HOUR) >= 20 && gettime(DT_HOUR) < 22 ) || ( gettime(DT_DAYOFWEEK) == SATURDAY && gettime(DT_HOUR) >= 20 && gettime(DT_HOUR) < 22 ) )
    		agitstart;
    	end;
    OnWed2200:
    OnSat2200:
    	agitend;
    	end;
    OnAgitStart:
    	.@r = rand(0,19);
    	sleep 100;
    	announce "The Castles open today is "+ getcastlename( .castle$[.@r] ) +" !!", bc_woe;
    	for ( .@i = 0; .@i < 20; ++.@i ) {
    		if ( .castle$[.@i] != .castle$[.@r] ) {
    			removemapflag .castle$[.@i], mf_gvg_castle;
    			killmonster .castle$[.@i], "Agit#"+ .castle$[.@i] +"::OnAgitBreak";	
    			gvgoff .castle$[.@i];
    		}
    	}
    	end;
    OnAgitEnd:
    	for ( .@i = 0; .@i < 20; ++.@i )
    		if ( !getmapflag( .castle$[.@i], mf_gvg_castle ) )
    			setmapflag .castle$[.@i], mf_gvg_castle;
    	end;
    
    OnSun2000:
    OnAgitInit2:
    	if ( ( gettime(DT_DAYOFWEEK) == SUNDAY && gettime(DT_HOUR) >= 20 && gettime(DT_HOUR) < 22 ) )
    		agitstart2;
    	end;
    OnSun2200:
    	agitend2;
    	end;
    OnAgitStart2:
    	.@r = rand(20,29);
    	sleep 100;
    	announce "The Castles open today is "+ getcastlename( .castle$[.@r] ) +" !!", bc_woe;
    	for ( .@i = 20; .@i < 30; ++.@i ) {
    		if ( .castle$[.@i] != .castle$[.@r] ) {
    			.@str$ = substr( .castle$[.@i], 0, 1 ) + substr( .castle$[.@i], 8, 9 );
    			removemapflag .castle$[.@i], mf_gvg_castle;
    			killmonster .castle$[.@i], "Steward#"+ .@str$ +"::OnStartArena";
    			gvgoff .castle$[.@i];
    		}
    	}
    	end;
    OnAgitEnd2:
    	for ( .@i = 20; .@i < 30; ++.@i )
    		if ( !getmapflag( .castle$[.@i], mf_gvg_castle ) )
    			setmapflag .castle$[.@i], mf_gvg_castle;
    	end;
    
    //OnDebug:
    	switch ( atoi( .@atcmd_parameters$ ) ) {
    	case 0: warp "aldeg_cas01",216,23; end;
    	case 1: warp "aldeg_cas02",213,23; end;
    	case 2: warp "aldeg_cas03",205,31; end;
    	case 3: warp "aldeg_cas04",36,217; end;
    	case 4: warp "aldeg_cas05",27,101; end;
    	case 5: warp "gefg_cas01",197,181; end;
    	case 6: warp "gefg_cas02",176,178; end;
    	case 7: warp "gefg_cas03",244,166; end;
    	case 8: warp "gefg_cas04",174,177; end;
    	case 9: warp "gefg_cas05",194,184; end;
    	case 10: warp "payg_cas01",139,139; end;
    	case 11: warp "payg_cas02",38,25;   end;
    	case 12: warp "payg_cas03",269,265; end;
    	case 13: warp "payg_cas04",270,28;  end;
    	case 14: warp "payg_cas05",30,30;   end;
    	case 15: warp "prtg_cas01",197,197; end;
    	case 16: warp "prtg_cas02",157,174; end;
    	case 17: warp "prtg_cas03",16,220;  end;
    	case 18: warp "prtg_cas04",291,14;  end;
    	case 19: warp "prtg_cas05",266,266; end;
    	case 20: warp "arug_cas01",87,219; end;
    	case 21: warp "arug_cas02",89,256; end;
    	case 22: warp "arug_cas03",141,293; end;
    	case 23: warp "arug_cas04",141,293; end;
    	case 24: warp "arug_cas05",141,293; end;
    	case 25: warp "schg_cas01",120,272; end;
    	case 26: warp "schg_cas02",162,193; end;
    	case 27: warp "schg_cas03",338,202; end;
    	case 28: warp "schg_cas04",120,272; end;
    	case 29: warp "schg_cas05",120,272; end;
    	default:
    	}
    	end;
    }

     

    • Like 1
  10. //quick option to disable all renewal option, used by ./configure
    //#define PRERE

    just uncomment this line, my test server load pre-re npc files instead of my usual npc/re files

     

    if you still think *its not the ragnarok I used to know* then I would say that's unofficial
    try check battle config folders and see what you still can mess around
    https://github.com/rathena/rathena/tree/master/conf/battle

     

    and if that also fails, then I'm sorry, you can still ask in source request, but be specific on what you want

  11. so you also changed the max job level to 90, so its custom I see

    2 hours ago, Seravy said:

    So... short answer, player_skillup_limit: no should fix both the characters and the feature to work as intended as long as I'm careful to not add any jobchangers that work  on players who have leftover skill points, is that right? (also, this means no reset NPCs...)

    yes, exactly what I want to say

  12. conf/battle/player.conf

    // Can a normal player by-pass the skill tree? (Note 1)
    player_skillfree: no
    
    // When set to yes, forces skill points gained from 1st class to be put into 1st class
    // skills, and forces novice skill points to be put into the basic skill. (Note 1)
    player_skillup_limit: yes
    
    // Quest skills can be learned? (Note 1)
    // Setting this to yes can open an exploit on your server!
    quest_skill_learn: no
    
    // When skills are reset, quest skills are reset as well? (Note 1)
    // Setting this to yes can open an exploit on your server!
    // NOTE: If you have quest_skill_learn set to yes, quest skills are always reset.
    quest_skill_reset: no

    note that all these are official settings

    the custom script you used , they have already mess up some of the battle configurations

    so yup, you probably didn't change these settings, and use that script, == mess up your character
    supposedly your characters should spend all the skills points before job changing ...

  13. 1. I'm actually thinking "@reloadnpc" is superior than "@reloadscript"
    "@reloadnpc" only reload 1 single file, but "@reloadscript" will reload all scripts on the server, possibly disrupt other's players playing experience

    actually you have to tell what is your actual idea, I never really heard anything about having to use "@reloadscript" in npc script or items

     

    2.
    well, according to what I heard from Euphy,
    Hercules actually left some footprints in your computer after the server boot up once ( and only cleared when shut down/restart computer )
    after that, after 2nd time boot up your server, it just load the memory directly from the RAM
    ... which according to rathena, that is not very resource friendly

    but think about it ... once a computer is meant to host the server,
    means it supposed to rerun the map-server/char-server/login-server again and again,
    example, if server crash, hercules can restart itself much faster than rathena
    so left some footprints behind make sense
    yes, hercules is also more developer friendly

     

    PS: use Shift+Enter instead of Enter

  14. are you saying that emistry has .... preview item feature that my script lacks ?
    forgive me I have forgotten which stuffs I had fixed on the emistry's script

    I lost emistry's mission board version 1.6, anyone still having that ?

    On 8/31/2014 at 3:20 AM, AnnieRuru said:

    1.6 [paste=ftsocdeysre]
    - fix the getserverdef script command
    - increase sleep time inside OnInit to make lesser chance of getting unsorted ID
    - in commented lines, stop listing the monsters when the kill count reached
    - in commented lines, added listing for the mission name instead of mission ID

    though, type @mission is a preferable choice

    I tested the one floating on the forum, they are mostly filled with bugs

     

    try describe what are the feature you are looking after

     

  15. nonono, I thought you got scam that you bought this script from unknown person

    you know, this happens a lot
    I have a habit that most of my useful scripts are never put to release, and most of my scripts are hidden inside script request section
    and I heard a few story that some scammer has claim my script as theirs and sell them in paid service

    that's why now I have started to reorganize all my past work into my google drive

  16. prontera,155,185,5	script	sjdfkshf	1_F_MARIA,{
    	if ( .cloneid ) {
    		getmapxy .@map$, .@x, .@y, UNITTYPE_MOB, .cloneid;
    		mesf "map -> %s", .@map$;
    		mesf "X -> %d", .@x;
    		mesf "Y -> %d", .@y;
    		mesf "str -> %d", getunitdata( .cloneid, UDT_STR );
    		mesf "agi -> %d", getunitdata( .cloneid, UDT_AGI );
    		mesf "vit -> %d", getunitdata( .cloneid, UDT_VIT );
    		mesf "int -> %d", getunitdata( .cloneid, UDT_INT );
    		mesf "dex -> %d", getunitdata( .cloneid, UDT_DEX );
    		mesf "luk -> %d", getunitdata( .cloneid, UDT_LUK );
    		close;
    	}
    	getmapxy .@map$, .@x, .@y, UNITTYPE_PC;
    	.cloneid = clone( .@map$, .@x, .@y, strnpcinfo(0)+"::OnDead", getcharid(0) );
    	end;
    OnDead:
    	.cloneid = 0;
    	end;
    }

     

  17. if anyone interested looking for Epoque's past bonuses project, members has mirror it
    http://herc.ws/board/topic/933-epoque-expansion-pack/

     

    but actually, everyone now has learned how to use GIT, so commit to a side branch in rAthena repo is unnecessary
    most of us use fork from rathena, and we develop our own stuffs on the fork

     

    oh and, hercules supports plugin, if you actually code it, I could transfer it into plugin format
    should look something like this
    https://github.com/AnnieRuru/Release/blob/master/plugins/bonus sample/bAddMaxWeight_0.3.c

×
×
  • Create New...