Some scripts will crash the maps in SVN 13836.

安赫尔

New member
Messages
163
Points
0
Location
Shanghai
Github
stacksnet
Emulator
I am testing in clean SVN. 13836

1st. Script

Use our svn Herculestrunknpcrequestscupet.txt

QQ图片20140216030819.jpg

QQ图片20140216030753.jpg

When NPC loading pet menu, The map is crash.

close; } callfunc "cute_pet_manager",.@tame_id,.@tame_amount,.@hunt_id,.@hunt_amount,.@mob_id,cpm_three,.@tame_gets,.@hunt_id2,.@hunt_amount2;}
Code:
	// Create Menu System	for (set .@a, 0; .@a < getarraysize(getarg(0)); set .@a, .@a + 1) { 		set .@menu$, .@menu$ + (.@menu$ == "" ? "" : ":") + getitemname(getelementofarray(getarg(0), .@a));	}	// Query Player Choice
2nd/3th. Scripts

And other scripts is SQL_Mission_Board 1.3 by Emistry & 1.4 by Annie

When NPC loading any GM menu, The map is crash.

break; Case 4: // get info from SQL. do{ mes "^0055FF[ "+.@npc_name$+" ]^000000"; deletearray .@id; query_sql( "SELECT `id`,`title`,`min_lv`,`max_lv` FROM `mission_board` WHERE `npc_id` LIKE '%|"+.@mission_npc_num+"|%' LIMIT "+.max_page_size+" OFFSET "+.@offset,.@id,.@title$,.@min_lv,.@max_lv ); .@offset += .max_page_size; .@size = getarraysize( .@id ); if( !.@size ){


I use old SVN 13776, These 3 scripts is work fine.

 
1.my test server also crashed hahahayes this is a bugreported -> http://herc.ws/board/index.php?app=tracker&showissue=80252.seems like different issueprobably because of maximum string lengthhttp://www.eathena.ws/board/index.php?s=&showtopic=241133&view=findpost&p=1318395

// max amount of mission per page .max_page_size = 30;what's your value here ?its client crash of server crash actually ?
I change this to 7,30 is too long not pretty ^ ^

 
upon further test, yeah, is same issue as above

case 5: sleep2 1; debugmes "1"; sleep2 1; // OK do{ sleep2 1; debugmes "2"; sleep2 1; // OK mes "^0055FF[ "+.@npc_name$+" ]^000000"; // display the information of mission sleep2 1; debugmes "3"; sleep2 1; // OK callsub( OnDisplayMissionInfo, .@new_mission_id, .@title$, .@description$, .@level_range, .@repeatable, ( .@timelimit + gettimetick(2) ), .@monster_list, .@monster_qty, .@item_list, .@item_qty, .@base_job_bitmask, .@job_branch_bitmask, .@baseexp, .@jobexp, .@cash, .@zeny, .@reward_list, .@reward_qty, .@selected_npc_array$, .@time_update$, .@redo_delay, 0 ); sleep2 1; debugmes "4"; sleep2 1;// Not display.......OnDisplayMissionInfo: .@mission_id = getarg(0); .@title$ = getarg(1); .@description$ = getarg(2); .@repeatable = getarg(4); .@timelimit = getarg(5); sleep2 1; debugmes "3.1"; sleep2 1; // stuck here .@monster_size = getarraysize( getarg(6) ); sleep2 1; debugmes "3.2"; sleep2 1; // this one not display .@item_size = getarraysize( getarg(8) ); .@base_job_bitmask = getarg(10); .@job_branch_bitmask = getarg(11); .@baseexp = getarg(12); .@jobexp = getarg(13);somehow I feel this script not compatible with hercules, ( because getarraysize throws error inside callfunc/callsub )but it works on rathena =/

 
Last edited by a moderator:
upon further test, yeah, is same issue as above

case 5: sleep2 1; debugmes "1"; sleep2 1; // OK do{ sleep2 1; debugmes "2"; sleep2 1; // OK mes "^0055FF[ "+.@npc_name$+" ]^000000"; // display the information of mission sleep2 1; debugmes "3"; sleep2 1; // OK callsub( OnDisplayMissionInfo, .@new_mission_id, .@title$, .@description$, .@level_range, .@repeatable, ( .@timelimit + gettimetick(2) ), .@monster_list, .@monster_qty, .@item_list, .@item_qty, .@base_job_bitmask, .@job_branch_bitmask, .@baseexp, .@jobexp, .@cash, .@zeny, .@reward_list, .@reward_qty, .@selected_npc_array$, .@time_update$, .@redo_delay, 0 ); sleep2 1; debugmes "4"; sleep2 1;// Not display.......OnDisplayMissionInfo: .@mission_id = getarg(0); .@title$ = getarg(1); .@description$ = getarg(2); .@repeatable = getarg(4); .@timelimit = getarg(5); sleep2 1; debugmes "3.1"; sleep2 1; // stuck here .@monster_size = getarraysize( getarg(6) ); sleep2 1; debugmes "3.2"; sleep2 1; // this one not display .@item_size = getarraysize( getarg(8) ); .@base_job_bitmask = getarg(10); .@job_branch_bitmask = getarg(11); .@baseexp = getarg(12); .@jobexp = getarg(13);somehow I feel this script not compatible with hercules, ( because getarraysize throws error inside callfunc/callsub )but it works on rathena =/
maybe this change  https://github.com/HerculesWS/Hercules/commit/71bd22ac878663f1f0a3e7c605532fd8b6babfdb

 
Back
Top