Jump to content

ayuda con mi primer script


angelwarrior

Recommended Posts


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  29
  • Reputation:   0
  • Joined:  02/21/16
  • Last Seen:  

Hice un script mirando otros de ejemplos para que al llegar a el nivel 15 este te diera algo. En caso contrario te diga que te faltan algunos niveles:

prontera,154,173,5    script    Capitán    657,{
    set @BaseLevel,15;
    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    mes "Necesitas ser sobre nivel 15";
    next;

    if(BaseLevel >= @BaseLevel){
        getitem 12622,1;
    }
    else{                                                
    set @blvlfalta, @BaseLevel - BaseLevel;
mes "Lo siento te faltan "+blvlfalta+" niveles";
    mes "ve a entrenar";
    next;
    }

    close;
}


Pero el problema es que en el caso contrario me dice siempre que me faltan 0 niveles. No sé como solucionarlo.

 

EDIT: Solucionado me faltaba un @  a blvlfalta

Edited by angelwarrior
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  37
  • Reputation:   11
  • Joined:  11/10/11
  • Last Seen:  


prontera,154,173,5    script    Capitán    657,{

OnInit:

setarray .Level, 15;

end;

    mes "Ando en busca de aventureros para";

    mes "adentrarse en el dungeon de La Ciudad";

    mes "de los Inicios";

    next;

    mes "Necesitas ser sobre nivel 15";

    if (BaseLevel => 15) {

    getitem 12622,1;

                                                      }

    else {

    mes "Lo siento te faltan "+.Level - BaseLevel+" niveles";

    mes "ve a entrenar";

    close;

             }

Edited by Tragedy
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  45
  • Reputation:   3
  • Joined:  06/29/15
  • Last Seen:  

prontera,154,173,5    script    Capitán    657,{

   OnInit: 
   set .@Level, 15;
   end;

    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    next;
    mes "Necesitas ser sobre nivel 15";
    if (BaseLevel => 15) {
    getitem 12622,1;
    }
    else {
    mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles";
    mes "ve a entrenar";
    }
    close;
}

Cada vez que hablen con el NPC les dara el item, no se si eso quieras.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  29
  • Reputation:   0
  • Joined:  02/21/16
  • Last Seen:  

prontera,154,173,5    script    Capitán    657,{

   OnInit: 
   set .@Level, 15;
   end;

    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    next;
    mes "Necesitas ser sobre nivel 15";
    if (BaseLevel => 15) {
    getitem 12622,1;
    }
    else {
    mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles";
    mes "ve a entrenar";
    }
    close;
}

Cada vez que hablen con el NPC les dara el item, no se si eso quieras.

 

de que manera se podria hacer que lo diera una vez y luego nunca más?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  45
  • Reputation:   3
  • Joined:  06/29/15
  • Last Seen:  

 

prontera,154,173,5    script    Capitán    657,{

   OnInit: 
   set .@Level, 15;
   end;

    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    next;
    mes "Necesitas ser sobre nivel 15";
    if (BaseLevel => 15) {
    getitem 12622,1;
    }
    else {
    mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles";
    mes "ve a entrenar";
    }
    close;
}

Cada vez que hablen con el NPC les dara el item, no se si eso quieras.

 

de que manera se podria hacer que lo diera una vez y luego nunca más?

 

prontera,154,173,5    script    Capitán    657,{

   OnInit: 
   set .@Level, 15;
   end;

    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    next;
    mes "Necesitas ser sobre nivel 15";
    if (BaseLevel => 15) {
          if(itemEntregado != 1){
                getitem 12622,1;
                set itemEntregado,1;
           }else{
                mes "Ya te hemos dado el item";
           }
    }
    else {
          mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles";
          mes "ve a entrenar";
    }
    close;
}

Variables permanentes de player, no lo probe pero deberia de funcionar, cuando lo pruebes haz un segundo reloadscript para checar que la variable permanece. Suerte Edit para que salga un dialogo de entregado, cambia los espacios de indentacion por Tabuladores

Edited by vomaito
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  29
  • Reputation:   0
  • Joined:  02/21/16
  • Last Seen:  

 

 

prontera,154,173,5    script    Capitán    657,{

   OnInit: 
   set .@Level, 15;
   end;

    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    next;
    mes "Necesitas ser sobre nivel 15";
    if (BaseLevel => 15) {
    getitem 12622,1;
    }
    else {
    mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles";
    mes "ve a entrenar";
    }
    close;
}

Cada vez que hablen con el NPC les dara el item, no se si eso quieras.

 

de que manera se podria hacer que lo diera una vez y luego nunca más?

 

prontera,154,173,5    script    Capitán    657,{

   OnInit: 
   set .@Level, 15;
   end;

    mes "Ando en busca de aventureros para";
    mes "adentrarse en el dungeon de La Ciudad";
    mes "de los Inicios";
    next;
    mes "Necesitas ser sobre nivel 15";
    if (BaseLevel => 15) {
          if(itemEntregado != 1){
                getitem 12622,1;
                set itemEntregado,1;
           }else{
                mes "Ya te hemos dado el item";
           }
    }
    else {
          mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles";
          mes "ve a entrenar";
    }
    close;
}

Variables permanentes de player, no lo probe pero deberia de funcionar, cuando lo pruebes haz un segundo reloadscript para checar que la variable permanece. Suerte Edit para que salga un dialogo de entregado, cambia los espacios de indentacion por Tabuladores

 

Por alguna razón no me carga

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  45
  • Reputation:   3
  • Joined:  06/29/15
  • Last Seen:  

Cambiaste los espacios por tabuladores?

Tambien estos:

prontera,154,173,5<*TAB*>script<*TAB*>Capitán<*TAB*>657,

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  155
  • Reputation:   5
  • Joined:  03/30/13
  • Last Seen:  

Perdón por colgarme al post, pero este código podría funcinarte:

prontera,154,173,5	script	Capitán	657,{

	mes "Ando en busca de aventureros para";
	mes "adentrarse en el dungeon de La Ciudad";
	mes "de los Inicios";
	next;
	mes "Necesitas ser sobre nivel 15";
	if(BaseLevel >= .Level){
		if(itemEntregado != 1){
			getitem 12622,1;
			set itemEntregado,1;
			close;
		}else{
			mes "Ya te hemos dado el item";
			close;
		}
	}else{
		mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles";
		mes "ve a entrenar";
		close;
	}
	
OnInit:
	set .Level,15;
	end;
}

Edité algunas partes y ordené sentencias.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  45
  • Reputation:   3
  • Joined:  06/29/15
  • Last Seen:  

Perdón por colgarme al post, pero este código podría funcinarte:

prontera,154,173,5	script	Capitán	657,{

	mes "Ando en busca de aventureros para";
	mes "adentrarse en el dungeon de La Ciudad";
	mes "de los Inicios";
	next;
	mes "Necesitas ser sobre nivel 15";
	if(BaseLevel >= .Level){
		if(itemEntregado != 1){
			getitem 12622,1;
			set itemEntregado,1;
			close;
		}else{
			mes "Ya te hemos dado el item";
			close;
		}
	}else{
		mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles";
		mes "ve a entrenar";
		close;
	}
	
OnInit:
	set .Level,15;
	end;
}

Edité algunas partes y ordené sentencias.

Hola, como pusiste los Tab?  #Offtopic

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  155
  • Reputation:   5
  • Joined:  03/30/13
  • Last Seen:  

Hola, como pusiste los Tab?  #Offtopic

 

Cómo que cómo? con el tabulador en algún editor de .txt y luego lo pegué en la opción código q te da el foro o.o

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  29
  • Reputation:   0
  • Joined:  02/21/16
  • Last Seen:  

 

Perdón por colgarme al post, pero este código podría funcinarte:

prontera,154,173,5	script	Capitán	657,{

	mes "Ando en busca de aventureros para";
	mes "adentrarse en el dungeon de La Ciudad";
	mes "de los Inicios";
	next;
	mes "Necesitas ser sobre nivel 15";
	if(BaseLevel >= .Level){
		if(itemEntregado != 1){
			getitem 12622,1;
			set itemEntregado,1;
			close;
		}else{
			mes "Ya te hemos dado el item";
			close;
		}
	}else{
		mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles";
		mes "ve a entrenar";
		close;
	}
	
OnInit:
	set .Level,15;
	end;
}

Edité algunas partes y ordené sentencias.

Hola, como pusiste los Tab?  #Offtopic

 

Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas?

saludos

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  45
  • Reputation:   3
  • Joined:  06/29/15
  • Last Seen:  

 

 

Perdón por colgarme al post, pero este código podría funcinarte:

prontera,154,173,5	script	Capitán	657,{

	mes "Ando en busca de aventureros para";
	mes "adentrarse en el dungeon de La Ciudad";
	mes "de los Inicios";
	next;
	mes "Necesitas ser sobre nivel 15";
	if(BaseLevel >= .Level){
		if(itemEntregado != 1){
			getitem 12622,1;
			set itemEntregado,1;
			close;
		}else{
			mes "Ya te hemos dado el item";
			close;
		}
	}else{
		mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles";
		mes "ve a entrenar";
		close;
	}
	
OnInit:
	set .Level,15;
	end;
}

Edité algunas partes y ordené sentencias.

Hola, como pusiste los Tab?  #Offtopic

 

Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas?

saludos

 

Son labels, digamos en programacion son como Lisenners, cuando pasa una accion se activa

OnInit: Cuando se carga el NPC (se inicia la variable con ese valor en el caso del script).

https://rathena.org/wiki/Basic_Scripting#Labels.2C_Goto.2C_and_Endaqui estan algunas, busca en la wiki ahi estan documentadas

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  155
  • Reputation:   5
  • Joined:  03/30/13
  • Last Seen:  

Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas?

 

En resumen, las etiquetas (o labels en inglés) sirven como puntos de referencia para tu script.

 

En este ejemplo, OnInit, todo lo que va en esta referencia se ejecutará cuando la carga de script de tu emulador se haya completado.. Algo así como que siempre que hagas @reloadscript o inicies de 0 tu emulador, cargará la información de esta etiqueta.

 

Para las demás etiquetas, pueden ser On o no. Hay algunas que ya existen en el código de RO que se usan para cosas específicas, como es el caso de OnInit, pero hay otras que puedes inventar tu, también con prefijo On o no, dependiendo de lo que buscas.

 

No te olvides poner +1 si te sirvió (?)

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  29
  • Reputation:   0
  • Joined:  02/21/16
  • Last Seen:  

 

 

 

Perdón por colgarme al post, pero este código podría funcinarte:

prontera,154,173,5	script	Capitán	657,{

	mes "Ando en busca de aventureros para";
	mes "adentrarse en el dungeon de La Ciudad";
	mes "de los Inicios";
	next;
	mes "Necesitas ser sobre nivel 15";
	if(BaseLevel >= .Level){
		if(itemEntregado != 1){
			getitem 12622,1;
			set itemEntregado,1;
			close;
		}else{
			mes "Ya te hemos dado el item";
			close;
		}
	}else{
		mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles";
		mes "ve a entrenar";
		close;
	}
	
OnInit:
	set .Level,15;
	end;
}

Edité algunas partes y ordené sentencias.

Hola, como pusiste los Tab?  #Offtopic

 

Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas?

saludos

 

Son labels, digamos en programacion son como Lisenners, cuando pasa una accion se activa

OnInit: Cuando se carga el NPC (se inicia la variable con ese valor en el caso del script).

https://rathena.org/wiki/Basic_Scripting#Labels.2C_Goto.2C_and_Endaqui estan algunas, busca en la wiki ahi estan documentadas

 

Amigo puedes responderme por acá lo de el script del warp matando al mvp, que lo han borrado allá en la otra parte.

saludos

Link to comment
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
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

×
×
  • Create New...