Jump to content
  • 0
Sign in to follow this  
mybitch

Guarantee ticket won't let character move

Question

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.

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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.

Share this post


Link to post
Share on other sites
  • 0

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!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.