Jump to content

NPC ZONE QUEST


Josemaaaaa

Recommended Posts


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.56
  • Content Count:  11
  • Reputation:   0
  • Joined:  05/21/25
  • Last Seen:  

Hola quisiera que me ayuden a crear un script npc con las siguientes líneas:

° ubicacion del npc prontera,160,181,5     con letrero que digas cuantos usuario hay en Zona de quest actualmente. (La zona de quest aldebaran 100 120)   ejemplo: Zona Quest Card 10 Usuadios online visitando o algo así breve.

° el npc me envie a esta dirección donde estarán los npc de Quest warp aldebaran 100 120.

° opciones de colores para dejarlos mas bonitos las letras. con // "codigo color"

° De este mismo npc quiero copiar y pegar para proximos NPC Zona de eventos, quest, etc.

° Opciones tambien ejemplo:

aldebaran 100 120 (Zona de quest cartas)

gonryun 120 100 (Zona de quest Set)

Edited by Josemaaaaa
olvido
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  253
  • Reputation:   114
  • Joined:  06/02/12
  • Last Seen:  

Hola. El NPC puede mostrar un letrero encima con el número de usuarios que hay en la zona pero el comando waitingroom no acepta colores en el texto del letrero. Solo muestra texto plano, sin formato ni colores.

//===== rAthena Script =======================================
//= NPC Zone Quest Warper
//===== Current Version: =====================================
//= 1.0 First version. [Racaae]
//============================================================

// Colores ejemplo
// FF0000 = Rojo
// 00FF00 = Verde
// 0000FF = Azul
// FFFF00 = Amarillo
// FF00FF = Rosa
// 00FFFF = Cian

function	script	F_ZoneWarper	{
	// getarg(0) : mapa de destino
	// getarg(1) : coordenada X del destino
	// getarg(2) : coordenada Y del destino
	// getarg(3) : nombre de la zona
	// getarg(4) : color del nombre de la zona (hexadecimal)
	// getarg(5) : rango del área para contar usuarios
	// getarg(6) : nombre del NPC
	.@map$ = getarg(0);
	.@x = getarg(1);
	.@y = getarg(2);
	if (getstrlen(getarg(4)) != 6)
		debugmes "Invalid color hex code in NPC " + getarg(6);
	else
		.@name$ = "^" + getarg(4);
	.@name$ += getarg(3) + "^000000";
	mes "[" + getarg(6) + "]";
	mes F_Hi;
	mes "¿Deseas visitar la " + .@name$ + "?";
	if(select("Ir a la " + .@name$ , "Ir después") == 2) {
		clear;
		mes "[" + getarg(6) + "]";
		mes "Puedes volver cuando quieras.";
		mes F_Bye;
		close3;
	}
	warp(.@map$, .@x, .@y);
	end;
}

prontera,160,181,5	script	Guía de Zona#Cartas	4_F_KAFRA1,{
	cutin "kafra_01",2;
	F_ZoneWarper(.map$,.x,.y,.zone_name$,.color$,.zonerange,strnpcinfo(1));

OnInit:
//============================================
	.zone_name$ = "Zona Quest Cartas";	// Nombre de la zona que aparecerá en el letrero
	.map$ = "aldebaran";		// Mapa de destino donde está la zona			
	.x = 100;	// Coordenada X dentro del mapa de destino
	.y = 120;	// Coordenada Y dentro del mapa de destino
	.color$ = "70CC11";		// Color del nombre de la zona en formato hexadecimal
	.zonerange = 15;		// Rango alrededor del punto (x,y) para contar usuarios presentes
//============================================

	//fallthough
OnTimer5000:
	stopnpctimer;
	delwaitingroom;
	.@p = getareausers(.map$, (.x-.zonerange), (.y-.zonerange), (.x+.zonerange), (.y+.zonerange));
	waitingroom .zone_name$ + " (" + .@p + " visitando)",0;
	initnpctimer;
	end;
}

prontera,160,185,5	script	Guía de Zona#questSet	4_F_KAFRA4,{
	cutin "kafra_04",2;
	F_ZoneWarper(.map$,.x,.y,.zone_name$,.color$,.zonerange,strnpcinfo(1));

OnInit:
//============================================
	.zone_name$ = "Zona de quest Set";	// Nombre de la zona que aparecerá en el letrero
	.map$ = "gonryun";		// Mapa de destino donde está la zona
	.x = 120;	// Coordenada X dentro del mapa de destino
	.y = 100;	// Coordenada Y dentro del mapa de destino
	.color$ = "0000FF";		// Color del nombre de la zona en formato hexadecimal
	.zonerange = 15;		// Rango alrededor del punto (x,y) para contar usuarios presentes
//============================================

	//fallthough
OnTimer5000:
	stopnpctimer;
	delwaitingroom;
	.@p = getareausers(.map$, (.x-.zonerange), (.y-.zonerange), (.x+.zonerange), (.y+.zonerange));
	waitingroom .zone_name$ + " (" + .@p + " visitando)",0;
	initnpctimer;
	end;
}

function	script	F_Hi	{
	return callfunc("F_Rand","¡Hola!","¡Buenas!","¡Buen día!","¿Cómo estás?","¡Hola por ahí!");
}
function	script	F_Bye	{
	return callfunc("F_Rand","Adiós. Hasta luego.","Nos vemos.","Hasta pronto.","¡Buena suerte!","¡Que tengas un buen día!","¡Chao chao!");
}

 

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...