Hi everyone,
Can anyone help me with this script?
PS: This is Goddameit Script
// // // Author Goddameit // Version 2014/05/14 // Web http://goo.gl/0vY9GV // // prontera,150,180,4 script Party Dungeon#fb156df 100,{ if( .NP_GAME_STATUS ) { mes "Sorry, someone is playing."; close; } mes "Hi, do you want to join this game?"; if( select("No","Yes") == 1 ) close; next; if( getcharid(1) == 0 ) { mes "You need to join or create a party."; close; } if( getcharid(0) != getpartyleader(getcharid(1),2) ) { mes "You're not party leader"; close; } if( countitem(.SP_PLAYER_ITEM) == 0 ) { mes "You don't have any "+getitemname(.SP_PLAYER_ITEM); close; } getpartymember getcharid(1),2; getpartymember getcharid(1),1; if( $@partymembercount < .SP_PLAYER_NUM ) { mes "You need at least "+.SP_PLAYER_NUM+" player"; deletearray $@partymembercid[0],$@partymembercount; deletearray $@partymemberaid[0],$@partymembercount; $@partymembercount = 0; close; } .@amount = 0; for( .@i = 0; .@i<$@partymembercount; .@i++ ) { if( !isloggedin($@partymemberaid[.@i],$@partymembercid[.@i]) ) { $@partymemberaid[.@i] = 0; $@partymembercid[.@i] = 0; }else .@amount++; } if( .@amount < .SP_PLAYER_NUM ) { mes "You need at least "+.SP_PLAYER_NUM+" player"; deletearray $@partymembercid[0],$@partymembercount; deletearray $@partymemberaid[0],$@partymembercount; $@partymembercount = 0; close; } if( .NP_GAME_STATUS ) { mes "Sorry, someone is playing."; close; } .@amount = 0; delitem .SP_PLAYER_ITEM,1; .NP_GAME_LPID = getcharid(1); .NP_GAME_LAID = getcharid(3); .NP_GAME_LCID = getcharid(0); .NP_GAME_STATUS = 1; .NP_GAME_TICK = 600; deletearray .p_cid[0],.p_num; deletearray .p_aid[0],.p_num; .p_num = $@partymembercount; copyarray .p_cid[0],$@partymembercid[0],.p_num; copyarray .p_aid[0],$@partymemberaid[0],.p_num; deletearray $@partymembercid[0],$@partymembercount; $@partymembercount = 0; disablenpc "Treasure Chest#ukdfkbp"; Initnpctimer; mes "Done"; warpparty "guild_vs2",55,55,getcharid(1); close; end; OnTimer1000: if( !mobcount("guild_vs2",strnpcinfo(0)+"::OnKill") && .NP_GAME_STATUS == 1 ) { sleep2 5000; monster "guild_vs2",50,50,"--ja--",1002,1,strnpcinfo(0)+"::OnKill"; } if( .NP_GAME_TICK > 0 ) { .NP_GAME_TICK--; .@bool = 0; if( !isloggedin(.NP_GAME_LAID,.NP_GAME_LCID) ) .@bool = 1; if( .@bool == 0 ) { getmapxy(.@map$, .@x, .@y, 0, rid2name(.NP_GAME_LAID)); if( .@map$ != "guild_vs2" ) .@bool = 1; } if( .@bool == 1 ) { .NP_GAME_STATUS = -1; MapAnnounce "guild_vs2","[System]: You're team leader is gone!!",0; sleep2 2000; mapwarp "guild_vs2","prontera",150,180; .NP_GAME_STATUS = 0; }else Initnpctimer; } else { .NP_GAME_STATUS = -1; MapAnnounce "guild_vs2","[System]: Time Out!!",0; sleep2 2000; mapwarp "guild_vs2","prontera",150,180; .NP_GAME_STATUS = 0; donpcevent "Treasure Chest#ukdfkbp::OnCleanVar"; disablenpc "Treasure Chest#ukdfkbp"; } end; OnKill: detachrid; if( .NP_GAME_STATUS == 1 ) { .NP_GAME_STATUS = 2; MapAnnounce "guild_vs2","[System]: You win!!",0; killmonsterall "guild_vs2"; sleep2 2000; enablenpc "Treasure Chest#ukdfkbp"; donpcevent "Treasure Chest#ukdfkbp::OnCleanVar"; .NP_GAME_TICK = 120; $@NP_GAME_LPID = .NP_GAME_LPID; .@j = 0; for( .@i = 0; .@i<.p_num; .@i++ ) { if( !isloggedin(.p_aid[.@i],.p_cid[.@i]) ) continue; getmapxy(.@map$, .@x, .@y, 0, rid2name(.p_aid[.@j])); if( .@map$ != "guild_vs2" ) continue; $@p_aid[.@j] = .p_aid[.@i]; $@p_name$[.@j] = rid2name(.p_aid[.@i]); .@j++; } $@p_num = .@j; } end; OnInit: .SP_PLAYER_NUM = 2; .SP_PLAYER_ITEM = 501; disablenpc "Treasure Chest#ukdfkbp"; mapwarp "guild_vs2","prontera",150,180; end; OnCleanVar: donpcevent "Treasure Chest#ukdfkbp::OnCleanVar"; disablenpc "Treasure Chest#ukdfkbp"; deletearray .p_aid[0], .p_num; deletearray .p_cid[0], .p_num; .p_num = 0; .NP_GAME_LPID = 0; .NP_GAME_LAID = 0; .NP_GAME_LCID = 0; .NP_GAME_TICK = 0; end; } guild_vs2,50,50,0 script Treasure Chest#ukdfkbp 1324,{ function __st ; if( getcharid(0) != getpartyleader($@NP_GAME_LPID,2) ) end; .@item = 5; setarray .@item1max[0],607,10; setarray .@item2max[0],501,10; setarray .@item3max[0],502,10; setarray .@item4max[0],503,10; setarray .@item5max[0],504,10; while( __st() == 2 ) { mes " "; next; mes "------Less------"; for( .@i = 1; .@i<=.@item; .@i++ ) mes ""+getitemname(getd(".@item"+.@i+"max[0]"))+" X "+(getd(".@item"+.@i+"max[1]")-.@useitem[.@i])+""; if( (.@co = prompt(implode($@p_name$,":")+":[Send]")) == 255 ) { mes " "; next; close; } if( .@co > $@p_num ) { close2; detachrid; for( .@j = 0; .@j<$@p_num; .@j++ ) { for( .@i = 1; .@i<=.@item; .@i++ ) { getitem getd(".@item"+.@i+"max[0]"),getd(".@player"+.@j+"item["+.@i+"]"),$@p_aid[.@j]; sleep2 1; } } mapwarp "guild_vs2","prontera",150,180; donpcevent "Party Dungeon#fb156df::OnCleanVar"; end; } mes " "; next; .@co -= 1; if( .@co < 0 ) break; deletearray .@select$[0],.@item; next; mes "--- "+$@p_name$[.@co]+" ---"; for( .@i = 1; .@i<=.@item; .@i++ ) { .@select$[.@i-1] = ""+getitemname(getd(".@item"+.@i+"max[0]"))+" X "+(getd(".@player"+.@co+"item["+.@i+"]"))+""; mes ""+.@select$[.@i-1]; } if( (.@ct = prompt(implode(.@select$,":"))) == 255 ) continue; mes " "; next; mes "Adujust "+$@p_name$[.@co]+""; mes ""+.@select$[.@ct-1]+" to..."; input .@amount; if( .@amount < 0 ) .@amount = 0; if( (.@useitem[.@ct]-getd(".@player"+.@co+"item["+.@ct+"]")+.@amount) > getd(".@item"+.@ct+"max[1]") ) .@amount = getd(".@item"+.@ct+"max[1]")-.@useitem[.@ct]; setd ".@player"+.@co+"item["+.@ct+"]", .@amount; deletearray .@useitem[0], .@item; for( .@i = 1; .@i<=.@item; .@i++ ) for( .@j = 0; .@j<$@p_num; .@j++ ) set .@useitem[.@i], .@useitem[.@i] + getd(".@player"+.@j+"item["+.@i+"]"); } mes " "; next; close; end; OnCleanVar: deletearray $@p_aid[0], $@p_num; deletearray $@p_name$[0], $@p_num; $@p_num = 0; $@NP_GAME_LPID = 0; end; function __st { return getvariableofnpc(.NP_GAME_STATUS,"Party Dungeon#fb156df"); } }
please help on changing the appearance of the items. because in this script the item reward is already fixed meaning whatever is in there those are the only items the player will get. How can I change it to "the item will appear by chances or percentage?
example in this part
setarray .@item1max[0],607,10; //100% chance to show setarray .@item2max[0],501,10; //75% chance to show setarray .@item3max[0],502,10; //50% chance to show setarray .@item4max[0],503,10; //25% chance to show setarray .@item5max[0],504,10; //1% chance to show
those items will only show by chances or percentage to the treasure pool.
I hope someone can help me with this.