Jump to content
  • 0
Sign in to follow this  
Syuel

Script error pls help me

Question

I throw an error in the map server, if it is possible for someone to help me I would appreciate the gesture.

 

//===== eAthena Script =====================================
//= Servicio
//===== Por ================================================
//= Slacker 
//===== Versión ============================================
//= 2.0
//=========Log==============================================
//= Cambiado de SQL a CashPoint XD!...
//==========================================================
prontera,157,190,4	script	Servicios Especiales	4_M_CATMAN1,{
set .nombre$,"[^148b08Servicios Especiales^000000]";
setarray @sexveces[0], 4; //Cantidad de veces para cambiar de sexo.
setarray @presex[0], 10; //Precio del cambio de sexo.
setarray @reset[0], 4; //Cantidad de veces de reset
setarray @prestat[0], 20; //Precio de reset stat
setarray @preskill[0], 20; //Precio de reset skill
setarray @cambnomb[0], 1; //cantidad de veces para cambiar el nombre
setarray @prenomb[0], 40; //precio para el cambio de nombre
	mes .nombre$;
	mes "Hola "+strcharinfo(0)+", este es el servicio premium, ¿que deseas hacer?";
	switch(select("Reset Service:Cambio de sexo:Cambio de nombre")){
		case 1:
		if (res != 0)goto L_RESEUSA;
				L_RESEUSA:
				if (res == @reset[0]){
				mes "Disculpa pero ya no puedes seguir usando este servicio contacta a la Administracion";
				close;
				break;
				}else{
				set .@restante, @reset - res;
				mes "Aun te quedan "+.@restante+" opotunidades para usar este servicio";
				next;
				mes .nombre$;
				goto L_RESET;
				}
					mes "Recuerda que este servicio solo se puede hacer "+@reset[0]+" veces.";
			L_RESET:
			mes "Que deseas Hacer";
			switch(select("Reset Stat:Reset Skill")){
				case 1:
					if (#CASHPOINTS <= @prestat[0]) goto L_NOPER;
					mes "El Precio de este sercicio es de "+@prestat+" CashPoint, Deseas Continuar?";
					switch(select("No:Si")){
						case 1:
							close;
							break;
						case 2:
							ResetStatus;
							set #CASHPOINTS,#CASHPOINTS - @prestat;
							next;
							mes .nombre$;
							set res, res +1;
							mes "Gracias por usar el Servicio";
							logmes "El usuario "+strcharinfo(0)+" reseteo Status";
							close;
							break;
						}
				case 2:
					if (#CASHPOINTS < @preskill) goto L_NOPER;
					mes "El precio de este servicio es de "+@preskill+" CashPoint, Deseas Continuar?";
					switch(select("No:Si")){
						case 1:
							close;
							break;
						case 2:
							ResetSkill;
							set #CASHPOINTS,#CASHPOINTS - @preskill;
							set res, res +1;
							mes "Gracias por usar el Servicio";
							logmes "El usuario "+strcharinfo(0)+" reseteo Skills";
							close;
							break;
							}
						}
			L_NOPER:
				mes "Disculpa pero tus CashPoint no alcanzan para este servicio.";
				mes "...........";
				mes "Este servicio cuesta "+@preskill+" cashpoint.";
				close;		
		

		case 2:
			if (#CASHPOINTS <= @presex[0])goto L_NOPER;
				if (secam != 0){
					set .@restante, @sexveces[0] - secam;
					if (.@restante == 0){
					mes "Disculpa pero ya no puedes utilizar este servicio, contactacta a la administracion";
						close;
						break;
						}else{
					mes "Aun te quedan "+.@restante+" oportunidades para utilizar este servicio";
					mes "El valor de cada uso cuesta "+@presex[0]+" CashPoint por cambio.";
					next;
					goto L_SEXCAM;
					}
						}else{
					mes "Recuerda que solo puedes hacer "+@sexveces+" cambios.";
					mes "El valor de cada uso cuesta "+@presex[0]+" CashPoint por cambio.";
					next;
					goto L_SEXCAM;
				}
			L_SEXCAM:
					mes .nombre$;
					mes "Estas Seguro?";
					switch(select("No:Si")){
						case 1:
							close;
							break;
						case 2:
							set #CASHPOINTS, #CASHPOINTS - @presex[0];
							mes "Se desconectara para Realizar el Cambio";
							set secam, secam +1;
							logmes "El usuario "+strcharinfo(0)+" Cambio SEXO";
						next;
							atcommand "@changesex";
							break;
						}
		case 3:
		 if (#CASHPOINTS <= @prenom[0])goto L_NOPER;
			if (chnam != 0){
			set .@restante, @sexveces[0] - chnam;
			if (.@restante == 0){
			mes "Disculpa pero ya no puedes utilizar este servicio, Contacta a la Administracion";
			close;
			break;
		}else{
			mes "Aun te quedan "+.@restante+" oportunidades para usar este servicio";
			mes "El valor de cada uso cuesta "+@prenomb[0]+" CashPoint por cambio.";
			next;
			mes .nombre$;
			goto L_CHNOM;
		}
			}else{
			mes "Recuerda que este servicio solo se puede usar "+@cambnomb+" veces.";
			mes "El valor de cada uso cuesta "+@prenomb[0]+" CashPoint por cambio.";
				goto L_CHNOM;
			}
			
			L_CHNOM:
				mes "Tu nombre actual es "+strcharinfo(0)+".";
				switch(select("Cambiar Nombre:Cerrar")){
				case 1:
					next;
					mes .nombre$;
					mes "Ingresa el nuevo nombre";
					input @nuevonomb$;
						query_sql "UPDATE `char` SET `name` = '"+ @nuevonomb$ +"' WHERE `char`.`char_id` ="+getcharid(0, strcharinfo(0));
					mes "Nombre cambiado debes Reloguear apara aplicar los cambios";
						set #CASHPOINTS, #CASHPOINTS - @prenomb;
						set chnam, chnam +1;
						logmes "El usuario de char_id "+getcharid(0)+" cambio su nombre de "+strcharinfo(0)+" a "+@nuevonomb$+"";
						close;
						break;
				case 2:
					close;
					break;
					}
				
		
		}

}

 

cc35a20ef77644d19a9121f04249549f.png

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

resetstatus() should be lowercase however the script uses a lot of goto (deprecated command) and its not recommended to use it.

 

I always wondered what are people supposed to use instead of goto :o

Share this post


Link to post
Share on other sites
  • 0

 

resetstatus() should be lowercase however the script uses a lot of goto (deprecated command) and its not recommended to use it.

 

I always wondered what are people supposed to use instead of goto :o

Depended on the situation it could be replaced with callsub/while/switch.... 

Edited by Asheraf

Share this post


Link to post
Share on other sites
  • 0

resetstatus() should be lowercase however the script uses a lot of goto (deprecated command) and its not recommended to use it.

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.