-Adding checkweight2 and upgrading chekweight to read list of item tid:59194.
Check npt_chekweight for exemple of usage. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16941 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
805aedeff0
commit
eebeb88cdb
164
doc/sample/npc_test_chekweight.txt
Normal file
164
doc/sample/npc_test_chekweight.txt
Normal file
@ -0,0 +1,164 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Sample: ChekWeight
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team
|
||||
//===== Current Version: =====================================
|
||||
//= 20121113
|
||||
//===== Description: =========================================
|
||||
//= Demonstrates ChekWeight commands.
|
||||
//============================================================
|
||||
|
||||
new_1-1,56,106,5 script ChkSpace 763,{
|
||||
|
||||
function ChkResult;
|
||||
function FinalReport;
|
||||
|
||||
L_RESET:
|
||||
resetlvl(1);
|
||||
getinventorylist;
|
||||
for(set .@i,0; .@i < @inventorylist_count; set .@i,.@i+1){
|
||||
delitem(@inventorylist_id[.@i],@inventorylist_amount[.@i]); //clear inventory
|
||||
}
|
||||
|
||||
|
||||
L_TEST1: //basic backward chk
|
||||
.@testid = 0;
|
||||
.@succes = 0;
|
||||
.@ret = checkweight(512,10);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
.@ret = checkweight("Apple",10);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
.@ret = checkweight(6320,33000);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure too many item amount item weight=0
|
||||
.@ret = checkweight("Premium_Reset_Stone",33000);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure too many item amount
|
||||
.@ret = checkweight(717,500);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success weight based on max weight=2030
|
||||
.@ret = checkweight(717,1000);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure weight based on max weight=2030
|
||||
.@ret = checkweight(2794,100);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
.@ret = checkweight(2794,101);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure (with MAX_INVENTORY = 100)
|
||||
.@ret = checkweight(-1,1);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure invalide item id
|
||||
.@ret = checkweight(512,0);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure invalide amount
|
||||
|
||||
debugmes "End backward test";
|
||||
FinalReport(.@testid,.@succes);
|
||||
|
||||
|
||||
L_TEST2: //update using list test
|
||||
.@testid = 0;
|
||||
.@succes = 0;
|
||||
|
||||
.@ret = checkweight(512,10,513,10);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
.@ret = checkweight("Apple",10,"Banana",10);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
.@ret = checkweight(512,80,513,33000);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure
|
||||
.@ret = checkweight("Apple",80,"Banana",33000);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure too many item amount
|
||||
.@ret = checkweight("Apple",10,"Banana",21,512);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure invalid nb of args
|
||||
.@ret = checkweight(717,500,716,100);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be succes weight 1800/2030
|
||||
.@ret = checkweight(717,500,716,500);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure weight 3000/2030
|
||||
.@ret = checkweight(2794,95,2795,5);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
.@ret = checkweight(2794,95,2795,10);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure (with MAX_INVENTORY = 100)
|
||||
.@ret = checkweight(512,1,-1,1);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure invalide item id
|
||||
.@ret = checkweight(512,1,513,0);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure invalide amount
|
||||
.@ret = checkweight(6320,31000,6320,2000);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure overamount inventory
|
||||
.@ret = checkweight(512,1,513,1,514,1,515,1);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be sucess
|
||||
|
||||
debugmes "End update by list tests";
|
||||
FinalReport(.@testid,.@succes);
|
||||
|
||||
L_TEST3: //update using array tests
|
||||
.@testid = 0;
|
||||
.@succes = 0;
|
||||
|
||||
setarray .@item[0], 512,513,514,515;
|
||||
setarray .@count[0], 1,5,9,12;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be sucess
|
||||
cleararray .@item[0], 0, 4;
|
||||
cleararray .@count[0], 0, 4;
|
||||
setarray .@item[0], 512,513,514,515;
|
||||
setarray .@count[0], 1,5,-1,12;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure, invalide amout
|
||||
cleararray .@item[0], 0, 4;
|
||||
cleararray .@count[0], 0, 4;
|
||||
setarray .@item[0], 512,513,514,-1;
|
||||
setarray .@count[0], 1,5,15,12;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure, invalide id
|
||||
cleararray .@item[0], 0, 4;
|
||||
cleararray .@count[0], 0, 4;
|
||||
setarray .@item[0], 717,715,716,714;
|
||||
setarray .@count[0], 300,300,300,300;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure, total by weight
|
||||
cleararray .@item[0], 0, 4;
|
||||
cleararray .@count[0], 0, 4;
|
||||
setarray .@item[0], 6320,6320;
|
||||
setarray .@count[0], 31000,2000;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure, total by weight
|
||||
cleararray .@item[0], 0, 2;
|
||||
cleararray .@count[0], 0, 2;
|
||||
setarray .@item[0], 2794,2795;
|
||||
setarray .@count[0], 95,5;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,1,.@ret); //should be success
|
||||
setarray .@count[0], 95,10;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure overamount item
|
||||
cleararray .@item[0], 0, 2;
|
||||
cleararray .@count[0], 0, 2;
|
||||
setarray .@item[0], 6320,6320,512;
|
||||
setarray .@count[0], 1,3;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure, size mistmatch
|
||||
cleararray .@item[0], 0, 3;
|
||||
cleararray .@count[0], 0, 2;
|
||||
setarray .@item[0], 6320,6320;
|
||||
setarray .@count[0], 1,3,5;
|
||||
.@ret = checkweight2(.@item,.@count);
|
||||
set .@succes,.@succes+ChkResult(.@testid++,0,.@ret); //should be failure, size mistmatch
|
||||
|
||||
|
||||
debugmes "End update by array tests";
|
||||
FinalReport(.@testid,.@succes);
|
||||
|
||||
L_FINAL:
|
||||
end;
|
||||
|
||||
|
||||
function ChkResult {
|
||||
.@tid = getarg(0);
|
||||
.@expected = getarg(1);
|
||||
.@ret = getarg(2);
|
||||
.@sucess = (.@ret==.@expected);
|
||||
debugmes "Test "+.@tid+" = "+(.@sucess?"Sucess":"Fail");
|
||||
return .@sucess;
|
||||
}
|
||||
|
||||
function FinalReport {
|
||||
.@tdone = getarg(0);
|
||||
.@succes = getarg(1);
|
||||
debugmes "Results = Pass : "+.@succes+"/"+.@tdone+" Fails : "+(.@tdone-.@succes)+"/"+.@tdone;
|
||||
if(.@succes != .@tdone) { debugmes "Some failure as occured, enable chkresult print to found out"; }
|
||||
return;
|
||||
}
|
||||
}
|
796
src/map/script.c
796
src/map/script.c
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user