mybitch 9 Posted May 26, 2013 Currently using this script made by Taku //===== eAthena Script =======================================//= Guarantee Refine Ticket//===== By: ==================================================//= Euphy / GM Takumirai//===== Current Version: =====================================//= 1.1a//===== Description: =========================================//= Uses [Guarantee Refine Ticket] to refine weapons/armor.//============================================================ function script GuaranteeRefine { set .@CleanEquip,1; // Only refine +0 equipment? (1:yes / 0:no) if (!getarg(1)) { message strcharinfo(0)," ~~ Guarantee Refine Ticket +"+getarg(0)+" ~~ "; for(set .@i,1; .@i<=10; set .@i,.@i+1) { if (getequipisequiped(.@i) && !getiteminfo(getequipid(.@i),13)) set .@menu$, .@menu$+getequipname(.@i); set .@menu$, .@menu$+":"; } set .@s, select(.@menu$); } else set .@s, getarg(1); if (!getequipisequiped(.@s)) { dispbottom "Nothing is equipped!"; close; } if (!getequipisenableref(.@s)) { dispbottom getequipname(.@s)+" cannot be refined."; close; } if (getequiprefinerycnt(.@s) >= 10 || (.@CleanEquip && getequiprefinerycnt(.@s))) { dispbottom "+"+getequiprefinerycnt(.@s)+" "+getequipname(.@s)+" cannot be refined any further."; close; } if (getarg(1)) message strcharinfo(0)," ~~ Guarantee Refine Ticket +"+getarg(0)+" ~~ "; if(select("^0055FFRefine +"+getequiprefinerycnt(.@s)+" "+getequipname(.@s)+":^777777Cancel^000000")==2) close; //pcblockmove getcharid(3),1; //specialeffect2 348; //progressbar "",2; if (!countitem(getarg(2))) { dispbottom "Refine failed. Ticket not found."; close; } for(set .@i,0; .@i<getarg(0); set .@i,.@i+1) { if (getequiprefinerycnt(.@s) >= 10) break; successrefitem .@s; } delitem getarg(2),1; //pcblockmove getcharid(3),0; close;} /*Copy the following into dbitem_db2.txt:6228,Guarantee_Weapon_9Up,Guarantee Weapon 9Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",9,4,6228; },{},{}6229,Guarantee_Weapon_8Up,Guarantee Weapon 8Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",8,4,6229; },{},{}6230,Guarantee_Weapon_7Up,Guarantee Weapon 7Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",7,4,6230; },{},{}6231,Guarantee_Weapon_6Up,Guarantee Weapon 6Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",6,4,6231; },{},{}6232,Guarantee_Armor_9Up,Guarantee Armor 9Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",9,0,6232; },{},{}6233,Guarantee_Armor_8Up,Guarantee Armor 8Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",8,0,6233; },{},{}6234,Guarantee_Armor_7Up,Guarantee Armor 7Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",7,0,6234; },{},{}6235,Guarantee_Armor_6Up,Guarantee Armor 6Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",6,0,6235; },{},{}6238,Guarantee_Weapon_10Up,Guarantee Weapon 10Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",10,4,6238; },{},{}6239,Guarantee_Armor_10Up,Guarantee Armor 10Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",10,0,6239; },{},{}*/ After using the script or using the item, player can't move. I removed the pcblockmove and still it happens. Quote Share this post Link to post Share on other sites
0 jaBote 438 Posted May 26, 2013 Problem isn't in the pcblockmove script command. In fact, I'd leave it. Problem is caused by using close; when no message window is present. This way of using close is deficient; and has been deprecated and unsupported recently. Try a script with that correction: //===== eAthena Script =======================================//= Guarantee Refine Ticket//===== By: ==================================================//= Euphy / GM Takumirai//===== Current Version: =====================================//= 1.1a//===== Description: =========================================//= Uses [Guarantee Refine Ticket] to refine weapons/armor.//============================================================ function script GuaranteeRefine { set .@CleanEquip,1; // Only refine +0 equipment? (1:yes / 0:no) if (!getarg(1)) { message strcharinfo(0)," ~~ Guarantee Refine Ticket +"+getarg(0)+" ~~ "; for(set .@i,1; .@i<=10; set .@i,.@i+1) { if (getequipisequiped(.@i) && !getiteminfo(getequipid(.@i),13)) set .@menu$, .@menugetequipname(.@i); set .@menu$, .@menu":"; } set .@s, select(.@menu$); } else set .@s, getarg(1); if (!getequipisequiped(.@s)) { dispbottom "Nothing is equipped!"; end; } if (!getequipisenableref(.@s)) { dispbottom getequipname(.@s)+" cannot be refined."; end; } if (getequiprefinerycnt(.@s) >= 10 || (.@CleanEquip && getequiprefinerycnt(.@s))) { dispbottom "+"+getequiprefinerycnt(.@s)+" "+getequipname(.@s)+" cannot be refined any further."; end; } if (getarg(1)) message strcharinfo(0)," ~~ Guarantee Refine Ticket +"+getarg(0)+" ~~ "; if(select("^0055FFRefine +"+getequiprefinerycnt(.@s)+" "+getequipname(.@s)+":^777777Cancel^000000")==2) end; //pcblockmove getcharid(3),1; //specialeffect2 348; //progressbar "",2; if (!countitem(getarg(2))) { dispbottom "Refine failed. Ticket not found."; end; } for(set .@i,0; .@i<getarg(0); set .@i,.@i+1) { if (getequiprefinerycnt(.@s) >= 10) end; successrefitem .@s; } delitem getarg(2),1; //pcblockmove getcharid(3),0; end;} /*Copy the following into dbitem_db2.txt:6228,Guarantee_Weapon_9Up,Guarantee Weapon 9Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",9,4,6228; },{},{}6229,Guarantee_Weapon_8Up,Guarantee Weapon 8Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",8,4,6229; },{},{}6230,Guarantee_Weapon_7Up,Guarantee Weapon 7Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",7,4,6230; },{},{}6231,Guarantee_Weapon_6Up,Guarantee Weapon 6Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",6,4,6231; },{},{}6232,Guarantee_Armor_9Up,Guarantee Armor 9Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",9,0,6232; },{},{}6233,Guarantee_Armor_8Up,Guarantee Armor 8Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",8,0,6233; },{},{}6234,Guarantee_Armor_7Up,Guarantee Armor 7Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",7,0,6234; },{},{}6235,Guarantee_Armor_6Up,Guarantee Armor 6Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",6,0,6235; },{},{}6238,Guarantee_Weapon_10Up,Guarantee Weapon 10Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",10,4,6238; },{},{}6239,Guarantee_Armor_10Up,Guarantee Armor 10Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",10,0,6239; },{},{}*/ This should work. Sorry if I left over any close; just change them for end; Tell me if this works. Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 26, 2013 Problem isn't in the pcblockmove script command. In fact, I'd leave it. Problem is caused by using close; when no message window is present. This way of using close is deficient; and has been deprecated and unsupported recently. Try a script with that correction: //===== eAthena Script =======================================//= Guarantee Refine Ticket//===== By: ==================================================//= Euphy / GM Takumirai//===== Current Version: =====================================//= 1.1a//===== Description: =========================================//= Uses [Guarantee Refine Ticket] to refine weapons/armor.//============================================================ function script GuaranteeRefine { set .@CleanEquip,1; // Only refine +0 equipment? (1:yes / 0:no) if (!getarg(1)) { message strcharinfo(0)," ~~ Guarantee Refine Ticket +"+getarg(0)+" ~~ "; for(set .@i,1; .@i<=10; set .@i,.@i+1) { if (getequipisequiped(.@i) && !getiteminfo(getequipid(.@i),13)) set .@menu$, .@menugetequipname(.@i); set .@menu$, .@menu":"; } set .@s, select(.@menu$); } else set .@s, getarg(1); if (!getequipisequiped(.@s)) { dispbottom "Nothing is equipped!"; end; } if (!getequipisenableref(.@s)) { dispbottom getequipname(.@s)+" cannot be refined."; end; } if (getequiprefinerycnt(.@s) >= 10 || (.@CleanEquip && getequiprefinerycnt(.@s))) { dispbottom "+"+getequiprefinerycnt(.@s)+" "+getequipname(.@s)+" cannot be refined any further."; end; } if (getarg(1)) message strcharinfo(0)," ~~ Guarantee Refine Ticket +"+getarg(0)+" ~~ "; if(select("^0055FFRefine +"+getequiprefinerycnt(.@s)+" "+getequipname(.@s)+":^777777Cancel^000000")==2) end; //pcblockmove getcharid(3),1; //specialeffect2 348; //progressbar "",2; if (!countitem(getarg(2))) { dispbottom "Refine failed. Ticket not found."; end; } for(set .@i,0; .@i<getarg(0); set .@i,.@i+1) { if (getequiprefinerycnt(.@s) >= 10) end; successrefitem .@s; } delitem getarg(2),1; //pcblockmove getcharid(3),0; end;} /*Copy the following into dbitem_db2.txt:6228,Guarantee_Weapon_9Up,Guarantee Weapon 9Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",9,4,6228; },{},{}6229,Guarantee_Weapon_8Up,Guarantee Weapon 8Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",8,4,6229; },{},{}6230,Guarantee_Weapon_7Up,Guarantee Weapon 7Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",7,4,6230; },{},{}6231,Guarantee_Weapon_6Up,Guarantee Weapon 6Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",6,4,6231; },{},{}6232,Guarantee_Armor_9Up,Guarantee Armor 9Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",9,0,6232; },{},{}6233,Guarantee_Armor_8Up,Guarantee Armor 8Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",8,0,6233; },{},{}6234,Guarantee_Armor_7Up,Guarantee Armor 7Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",7,0,6234; },{},{}6235,Guarantee_Armor_6Up,Guarantee Armor 6Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",6,0,6235; },{},{}6238,Guarantee_Weapon_10Up,Guarantee Weapon 10Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",10,4,6238; },{},{}6239,Guarantee_Armor_10Up,Guarantee Armor 10Up,11,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "GuaranteeRefine",10,0,6239; },{},{}*/ This should work. Sorry if I left over any close; just change them for end; Tell me if this works. Didn't work after changing every close to end still the character can't move after using it. Quote Share this post Link to post Share on other sites
0 jaBote 438 Posted May 26, 2013 Don't know what's happening then. You see any console errors or so? Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 26, 2013 Don't know what's happening then. You see any console errors or so? I don't see any console error which is weird. The character just don't move. It only moves after reconnecting. Quote Share this post Link to post Share on other sites
0 jaBote 438 Posted May 26, 2013 Maybe you can cheapily solve this error adding an atcommand "@refresh"; Just before any of the ends? This is a cheap and unclassy fix, but I can't think of anything better at the moment. Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted May 26, 2013 Maybe you can cheapily solve this error adding an atcommand "@refresh"; Just before any of the ends? This is a cheap and unclassy fix, but I can't think of anything better at the moment. Could be possible thanks! Quote Share this post Link to post Share on other sites
0 Joseph 6 Posted May 27, 2013 I think it's better if you add a message window instead of using @refresh. Quote Share this post Link to post Share on other sites
0 mybitch 9 Posted June 7, 2013 I think it's better if you add a message window instead of using @refresh. How will I do that? Quote Share this post Link to post Share on other sites
0 jaBote 438 Posted June 8, 2013 Well, he means using 'mes' commands instead of 'dispbottom', which would make a message window appear. Quote Share this post Link to post Share on other sites
0 Capuche 9 Posted June 9, 2013 http://herc.ws/board/tracker/issue-7328-close-and-end/ It should be fixed now Quote Share this post Link to post Share on other sites
Currently using this script made by Taku
After using the script or using the item, player can't move. I removed the pcblockmove and still it happens.
Share this post
Link to post
Share on other sites