Jump to content

Recommended Posts

Posted

Salve pessoal. Estou com esse problema 

E na linha 519 diz [Error]:  Loading NPC file: npc/personalizado/casas/Vilas_Configuracoes.txt
script error on npc/personalizado/casas/Vilas_Configuracoes.txt line 519
    parse_line: need ';'

eu tentei de tudo, mas n consegui corrigir alguém da um help por favor?

//===== Cronus Script ========================================
//= Funções Compartilhadas - Casas Para Aluguel
//===== Por: =================================================
//= Zephyrus
//=====Tradução Português - BR Por: ==========================
//= Nosyel
//===== Verção Atual: ===================================== 
//= 1.0 - Iniciado por Zephyrus
//= 1.1 - Corrigido Bugs nos Mapas por Zephyrus
//= 2.0 - Tradução e Adaptação Para o Cronus por Nosyel
//===== Compatível com: ===================================== 
//= eAthena SVN Stable & Cronus SVN Stable e Trunck
//===== Descrição: ========================================= 
//= Contém as funções nescessárias para o sistema de Aluguel de Casas
//===== Comentários Adicionais: ================================= 
//= 1.0 Versão Inicial
//============================================================ 
//= Função para o npc, entrada das casas de campo 
//= (Número de casa de campo, custo da propriedade, número de casas)
//============================================================ 

function	script	rent_villas	{
	set @t, getarg(3);
	show "^FF0000[Vila " + getarg(0) + "]^000000";
	show "O melhor lugar para se morar...";
	show "" + @t + " Casas Para Aluguel.";
	show "Custo da propriedade: ^0000FF" + getarg(1) + " zeny^000000";
	set @j, 22;
	for (set @i, 1; @i <= @t; set @i, @i + 1) {
		if (getd("$house" + getarg(2) + @i + "_rent") == 1) set @j, @j - 1;
	}
	if (@j == 0) show "Não há nenhuma propriedade disponível.";
	else show "Propriedades disponíveis: ^0000FF" + @j + "^000000.";
	close;
}

//============================================================ 
//= Funções do quadro indicador que mostra os proprietários e as opções de GM 
//= (identificação da casa de campo, e a quantidade de casas)
//============================================================ 

function	script	rent_letrero	{
	show "[Informação de Aluguel]";
	show "Proprietários Atuais:";
	set @t, getarg(1);
	for (set @i, 1; @i <= @t; set @i, @i + 1) {
		if (getd("$house" + getarg(0) + @i + "_rent") == 1) {
			if (@Color$ == "^0000FF")
				set @Color$, "^FF0000";
			else
				set @Color$, "^0000FF";
			// Detalhes da Casa
			show @Color$ + "Casa Nº " + @i + " Alugada para " + getd("$house" + getarg(0) + @i + "_user$") + ".";
			if (getgmlevel())
				show "Alcançado " + getd("$house" + getarg(0) + @i + "_accesos") + " tempo da última restauração";
			show "Fim: " + getd("$house" + getarg(0) + @i + "_buy_day") + "-" + getd("$house" + getarg(0) + @i + "_buy_month") + "-" + getd("$house" + getarg(0) + @i + "_buy_year") + ".^000000";
		}
	}
	if (getgmlevel()) goto L_GMmenu;
	close;

L_GMmenu:
	next;
	menu "Liberar uma casa",L_Liberar,"Liberar Todas as Casas",L_Limpiar,"Cancelar",-;

L_Salir:
	show "^FF0000[Informação de Aluguel]^000000";
	show "Função para acesso adiministrativo";
	show "Até Logo...";
	close;

L_Limpiar:
	show "^FF0000[Informação de Aluguel]^000000";
	for (set @i, 1; @i <= @t; set @i, @i + 1) {
		setd "$house" + getarg(0) + @i + "_access", 0;
	}
	show "Casa Resetada.";
	close;

L_Liberar:
	show "^FF0000[Informação de Aluguel]^000000";
	show "Você quer liberar uma casa?(1 - " + @t + ")";
	show "Entre com o número da casa que você quer liberar. (0 ou maior que " + @t + " para cancelar).";
	next;
	input @house;
	if (@house < 1) goto L_Salir;
	if (@house > @t) goto L_Salir;

	if (getd("$house" + getarg(0) + @house + "_rent") == 1) {
		show "^FF0000[Informação de Aluguel]^000000";
		setd "$house" + getarg(0) + @house + "_rent", 0;
		show "A Casa " + @house + " Foi Liberada.";
		killmonsterall "rentin" + getarg(0) + @house + ".gat"; // Mata os monstro pequenos
	} else {
		show "^FF0000[Informação de Aluguel]^000000";
		show "Desculpe-me, mais esta Casa ja tem Locatário";
		show "Por Favor selecione um número diferente.";
	}
	close;
}

//============================================================ 
//= Função das Kafras (Teleporte para outras vilas).
//============================================================ 

function	script	rent_kafra	{
	cutin "kafra_007.bmp",2;
	show "^FF0000[Kafra]^000000";
	show "Olá, Seja Bem Vindo!";
	show "Eu posso teleportá-lo a uma vila diferente por 2000z.";
	if (Zeny < 2000) {
		show "Oh. .parece que você não tem bastante dinheiro. Você precisa de pagar-me ^FF00002000 zeny^000000 para que eu possa teleportá-lo ^^";
		cutin "", 255;
		close;
	}
	show "Onde você quer ir? Todos os preços são os mesmos.";
	next;
	menu "Prontera",L_Prontera,"Vila Prontera",L_VProntera,"Vila Geffen",L_VGeffen,"Vila Morroc",L_VMorroc,"Vila Payon",L_VPayon,"Vila Alberta",L_VAlberta,"Vila Izlude",L_VIzlude,"Vila Aldebaran",L_VAldebaran,"Nenhuma",-;
	show "^FF0000[Kafra]^000000";
	show "Volte Quando Você Precisar de Meus Serviços, Tenha Um Bom Dia ^^";
	cutin "", 255;
	close;

L_Prontera:   set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "prontera.gat",156,191; end;
L_VProntera:  set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_mb.gat",133,113; end;
L_VGeffen:    set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_md.gat",50,28; end;
L_VMorroc:    set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_mc.gat",50,28; end;
L_VPayon:     set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_ma.gat",50,28; end;
L_VAlberta:   set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_me.gat",50,28; end;
L_VIzlude:    set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_mf.gat",50,28; end;
L_VAldebaran: set Zeny, Zeny - 2000; show "^FF0000[Kafra]^000000"; show "Boa Viagem ;)!"; close2; warp "rent_mg.gat",50,28; end;

}

//============================================================ 
//= Função dos quadros indicadores (Fala as opções dos Proprietários e as opções de GM)
//= (identificação da casa de campo, propriedade custo, uma quantidade de casas)
//============================================================ 

function	script	rent_propietario	{
	cutin "proprietario.bmp",2;
	show "^0000FF[Proprietário]^000000";
	show "Olá, Seja Bem Vindo a Agência de Alugueis de Casa!";
	show "Eu Alugo Casas!";
	show "Você esta interessado em alguma?";
	next;
	set @t, getarg(2);

L_next1:
	menu "Sim, Concerteza!",L_rent,"Poderia Me Dar Mais Informações?",L_Info,"Não, Obrigado.",-;
	show "^0000FF[Proprietário]^000000";
	show "Sinta-se livre para retornar quando você tiver interessado.";
	cutin "", 255;
	close;

L_Info:
	show "^0000FF[Proprietário]^000000";
	show "Eu Tenho" + @t + " Casas e Propriedades.";
	show "Bem, você pode alugar uma casa de mim.";
	show "A fixação do preço depende do tempo que você quer a casa.";
	show "O custo mensal é de " + getarg(1) + " zenys.";
	show "Quando o contrato se acaba, você pode estendê-lo ou sair da casa para outros poderem alugar.";
	next;
	goto L_next1;

L_rent:
	show "^0000FF[Proprietário]^000000";
	show "Quantos meses você quer alugar?";
	show "(Maximo é 3 Meses)";
	next;

L_next2:
	input @mo;
	if (@mo < 1) goto L_next2;
	if (@mo > 3) goto L_next2;
	menu @mo + " meses esta bom",-,"Change the number of months",L_next2,"Voltar ao Menu Anterior",L_next1;
	set @costo, @mo * getarg(1);

	show "^0000FF[Proprietário]^000000";
	show "Para entrar em sua casa, você precisa de cadastrar uma senha.";
	show "Por favor insira sua senha de usuário da casa.";
	next;

L_next3:
	input @pwg$;
	if(@pwg$ == "") goto L_next3;
	menu @pwg$ + " -Esta Correto.",-,"Tentar de Novo",L_next3,"Voltar ao Menu Anterior",L_next1;

	show "^0000FF[Proprietário]^000000";
	show "Entre por favor com a senha que seus convidados podem usar.";
	next;

L_next4:
	input @pwb$;
	if(@pwb$ == "") goto L_next4;
	menu @pwb$ + "-Esta Correto.",-,"Tentar de Novo",L_next4,"Voltar ao Menu Anterior",L_next1;

	show "^0000FF[Proprietário]^000000";
	show "Deixe-me rever o contrato...";
	show "Para alugar uma casa nesta vila,";
	show "Custa: " + @costo + " Por " + @mo + " month(s).";
	show "Senha: " + @pwg$;
	show "Senha de Convidados: " + @pwb$;
	show "Você quer a casa?";
	next;
	menu "Sim",-,"Não, Eu Desisti",L_Salir;
	set @current,0;
	for (set @current, 1; @current <= @t; set @current, @current + 1) {
		if (getd("$house" + getarg(0) + @current + "_rent") != 1) goto L_Alquilar;
	}
	show "^0000FF[Proprietário]^000000";
	show "Desculpe-me amigo mais eu não tenho mais nenhuma casa disponível.";
	show "Volte por favor um outro dia.";
	cutin "", 255;
	close;

L_Alquilar:
	if (Zeny < @costo) goto L_NoZeny;
	set Zeny, Zeny - @costo;
	setd "$house" + getarg(0) + @current + "_rent", 1;
	setd "$house" + getarg(0) + @current + "_user$",strcharinfo(0);
	setd "$house" + getarg(0) + @current + "_passwort$",@pwg$;
	setd "$house" + getarg(0) + @current + "_userps$",@pwb$;
	setd "$house" + getarg(0) + @current + "_buy_day",gettime(5);
	setd "$house" + getarg(0) + @current + "_buy_month",gettime(6) + @mo;
	setd "$house" + getarg(0) + @current + "_buy_year",gettime(7);
	setd "$house" + getarg(0) + @current + "_accesos",0;

	if (getd("$house" + getarg(0) + @current + "_buy_month") > 12) {
		setd "$house" + getarg(0) + @current + "_buy_year", getd("$house" + getarg(0) + @current + "_buy_year") + 1;
		setd "$house" + getarg(0) + @current + "_buy_month", getd("$house" + getarg(0) + @current + "_buy_month") - 11;
	}
	
	show "^0000FF[Proprietário]^000000";
	show "Parabéns " + strcharinfo(0)+"!";
	show "Você alugou com sucesso uma casa!";
	show "O Número de Sua Casa é " + @current + ".";
	show "Faça Bom Proveito!";
	cutin "", 255;
	close;

L_Salir:
	show "^0000FF[Proprietário]^000000";
	show "Sem Problemas, Retorne Quando Mudar de Idéia.";
	cutin "", 255;
	close;

L_NoZeny:
	show "^0000FF[Proprietário]^000000";
	show "Hein? Desculpe mais você não tem zeny suficiente para alugar uma de minhas Casas.";
	show "Por favor retorne quando tiver o suficiente.";
	cutin "", 255;
	close;
}

//============================================================ 
//= Função do quadro indicador (proprietários das casas e opções do gm)
//= (identificação da casa, custo da propriedade, X, Y)
//============================================================ 

function	script	rent_entrada	{
	if (getd("$house" + getarg(0) + "_rent") == 1) 
		goto L_Inicio;

	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Esta casa está disponível para aluguel!";
	close;

L_Inicio:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Esta Casa Pertence a ^0000FF'" + getd("$house" + getarg(0) + "_user$") + "'.^000000";
	
	if (getgmlevel())
		show "Acesado ^0000FF" + getd("$house" + getarg(0) + "_accesos") + "^000000 tempo.";
		
	show "Você deseja entrar?";
	next;
	
	menu "Sim",L_Accesar,"Manutenção",L_Conf,"Não",-;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "....";
	close;
	
L_Accesar:
	if (getgmlevel()) 
		goto L_Acceso; // Access for GMs without the key

	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Entre por favor com a senha de proprietário ou de convidado.";
	next;
	
	input @pw$;
	if ((@pw$ != getd("$house" + getarg(0) + "_passwort$")) && (@pw$ != getd("$house" + getarg(0) + "_userps$")))
		goto L_ErrorClave;

L_Acceso:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Correto, Pode entrar...";
	close2;
	
	setd "$house" + getarg(0) + "_access",getd("$house" + getarg(0) + "_accesos") + 1;
	warp "rent" + getarg(0) + ".gat",getarg(2),getarg(3);
	end;

L_Conf:
	if (getgmlevel()) goto
		L_ConfGM; // Alcance para GMs sem a chave

	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Por favor entre com a Senha da Propriedade.";
	next;
	input @pw$;
	if (@pw$ != getd("$house" + getarg(0) + "_passwort$"))
		goto L_ErrorClave;

L_ConfGM:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "O que você quer fazer?";
	next;

L_MMenu:
	menu "Mudar Minha Senha",L_CambioPW,"Muda senha de convidado",L_CambioGPW,"Extender Contrato",L_Extender,"Mudar Dono",L_Owner,"Liberar Propriedade",L_Liberar,"Nada",-;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Ok, Nos vemos em breve.";
	close;

L_Extender:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Você deseja estender seu contrato para um outro mês? (Costo " + getarg(1) + " zeny)";
	show "Esta Correto?";
	next;
	menu "Sim",L_DExtender,"Não",-;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Bem...";
	next;
	goto L_MMenu;

L_DExtender:
	if (zeny < getarg(1)) 
		goto L_NoZeny;

	if (gettime(6) < (getd("$house" + getarg(0) + "_buy_month") - 1))
		goto L_NoExt;

	setd "$house" + getarg(0) + "_buy_month", getd("$house" + getarg(0) + "_buy_month") + 1;
	if (getd("$house" + getarg(0) + "_buy_month") > 12) {
		setd "$house" + getarg(0) + "_buy_month", getd("$house" + getarg(0) + "_buy_month") - 12;
		setd "$house" + getarg(0) + "_buy_year", getd("$house" + getarg(0) + "_buy_year") + 1;
	}
	set Zeny, Zeny - getarg(1);
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Seu contrato foi extendido com sucesso.";
	close;

L_NoZeny:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Você não tem zeny suficiente!";
	show "Por favor volte quando tiver zeny suficiente.";
	close;

L_NoExt:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Você esta com um contrato máximo. Por favor volte quando faltar menos de 1 mês.";
	close;

L_CambioPW:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Por favor entre com sua senha nova";
	next;
	input @pw$;
	setd "$house" + getarg(0) + "_passwort$", @pw$;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Sua senha nova é: " + @pw$ + ".";
	next;
	goto L_MMenu;

L_CambioGPW:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Por favor entre com a senha nova de convidado.";
	next;
	input @pw$;
	setd "$house" + getarg(0) + "_userps$", @pw$;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Sua senha nova de convidado é: " + @pw$ + ".";
	next;
	goto L_MMenu;

L_ErrorClave:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "A senha esta incorreta!";
	close;

L_Owner:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Locatário Recente: '" + getd("$house" + getarg(0) + "_user$") + "'";
	show "Novo Locatário: '" + strcharinfo(0) + "'";
	show "Esta Correto?";
	next;
	menu "Sim, Mude",L_DOwner,"Não...",-;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Bem...";
	next;
	goto L_MMenu;
	
L_DOwner:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	setd "$house" + getarg(0) + "_user$",strcharinfo(0);
	show "A casa agora tem um novo locatário.";
	show "Por favor mude as senhas.";
	next;
	goto L_MMenu;

L_Liberar:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Você quer reincidir o contrato e liberar a casa?";
	show "Não terá seu dinheiro de volta.";
	next;
	menu "Sim, quero liberar a casa",L_DLiberar,"Não...",-;
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "Bem...";
	next;
	goto L_MMenu;

L_DLiberar:
	show "^0000FF[Propriedade " + getarg(0) + "]^000000";
	show "A propriedade foi liberada para um novo locatário.";
	setd "$house" + getarg(0) + "_rent", 0;
	killmonsterall "rentin" + getarg(0) + ".gat";
	close;
}

//============================================================ 
//= Função de controle de arvores de maçãs
//= (id da casa)
//============================================================ 

function	script	rent_manzano	{
	if (getd("$@Manzanas" + getarg(0)) > 0) {
		setd "$@Manzanas" + getarg(0), getd("$@Manzanas" + getarg(0)) - 1;
		specialeffect2 363;
		getitem 512, 1;
	}
	end;
}

//============================================================ 
//= Função para controlar o PvP.
//============================================================ 

function	script	rent_pvp	{
	if (getmapxy(@mapa$,@mapx,@mapy,0,strcharinfo(0)) != 0) end;
	show "[Controle PvP]";
	show "O que você deseja fazer?";
	next;
	menu "Ativar PVP",L_PvpOn,"Desativar PVP",L_PvpOff,"Nada",-;
	show "[Controle PvP]";
	show "Bom Dia.";
	close;

L_PvpOn:
	show "[Controle PvP]";
	show "O PVP esta ativado.";
	pvpon @mapa$;
	close;

L_PvpOff:
	show "[Controle PvP]";
	show "O PVP esta desativado";
	pvpoff @mapa$;
	close;
}

//============================================================ 
//= Cama!!!!
//= (id da casa,X,Y)
//============================================================ 

function	script	rent_camas	{
	show "Desja descançar?";
	menu "Sim",-,"Não",L_No;
	close2;
	sc_start SC_BLIND,500000,1;
	emotion e_yawn,1;
	sleep2(4000);
	
	warp "rentin" + getarg(0) + ".gat",getarg(1),getarg(2);
	percentheal 100,100;
	sc_end SC_BLIND;
	end;
L_No:
	close;
}

//============================================================ 
//= Função do piano
//= (id da casa)
//============================================================ 

function	script	rent_pianoStart	{
	if (getmapxy(@mapa$,@mapx,@mapy,0,strcharinfo(0)) != 0) end;
	show "[Piano Automático]";
	if (getd("$@Piano" + getarg(0)) > 0) {
		show "Espere um pouco até que a canção termine ou que o piano esteja preparado outra vez.";
		close;
	}
	show "[Piano]";
	show "Aviso: Minhas funções ainda não estão completamente implementadas, Aguarde ...";
	show "Escolha por favor uma canção.";
	set @Tema, select ("Música 01","Caos da eternidade","Música 03","Música 04","Bragis Poema","Música 06","Anel de Nibelungen","Música 08","Música 09","Música 10","Não me esqueça não","Ao abismo","Música 13","Assassino do por do sol","Música 15","Música 16","Música 17","Música 18","Música 19","Nada");
	if (@Tema >= 20) close;
	if (@Tema < 10) set @Tema$, "m0" + @Tema + ".wav";
	else set @Tema$, "m" + @Tema + ".wav";
	close2;
	if (getd("$@Piano" + getarg(0)) <= 0) {
		// Tocar o Tema Escolhido
		setd "$@Piano" + getarg(0), 1; // Reproduzindo
		initnpctimer;
		switch (@Tema) {
			case 14: soundeffectall "assassin_of_sunset.wav",0,24,@mapa$,0,0,50,50; break;
			case 12: soundeffectall "in_to_the_abyss.wav",0,24,@mapa$,0,0,50,50; break;
			case 11: soundeffectall "dont_forget_me_not.wav",0,24,@mapa$,0,0,50,50; break;
			case 7:  soundeffectall "ring_of_nibelungen.wav",0,24,@mapa$,0,0,50,50; break;
			case 5:  soundeffectall "bragis_poem.wav",0,24,@mapa$,0,0,50,50; break;
			case 2:  soundeffectall "chaos_of_eternity.wav",0,24,@mapa$,0,0,50,50; break;
			default: soundeffectall @Tema$,0,24,@mapa$,0,0,50,50; break;
		}
	}
	end;
}

function	script	rent_pianoStop	{
	emotion e_no1;
	stopnpctimer;
	setd "$@Piano" + getarg(0), 0; // Fim das Músicas
	end;
}

//============================================================ 
//= Armário
//============================================================ 

function	script	rent_armario	{
	show "[Armazem]";
	show "Deseja usar o Armazém?";
	menu "Sim",-,"Não",L_No;
	callfunc("F_CheckKafCode");
	close2;
	openstorage;
	end;
L_No:
	close;
}

//============================================================ 
//= Serviço de Limpesa
//============================================================ 

//============================================================ 
//= Calcule o seguinte ponto X e Y
//= (Posição X o Y)
//============================================================ 

function	script	rent_aliceXY	{
	set .@CP, getarg(0); // Posição X o Y
	set .@DST, rand(1,5); // Distância
	if (rand(2)) // Direção a ser tomada (izq der arr abj)
		set .@CP, .@CP + .@DST;
	else
		set .@CP, .@CP - .@DST;
	if (.@CP < getarg(1))
		set .@CP, .@CP + .@DST; // Se o ponto novo é menor, aquele é o mínimo
	if (.@CP > getarg(2))
		set .@CP, .@CP - .@DST; // Se o ponto novo é maior, aquele é o máximo
	return .@CP;
}

//============================================================ 
//= Esconde Alice quando o usuário é carregado
//= (Id da casa)
//============================================================ 

function	script	rent_serviceInit	{
	disablenpc "AliceR" + getarg(0) + "";
	end;
}

//============================================================ 
//= Função para o pedido de NPC
//= (Id da casa)
//============================================================ 

function	script	rent_serviceCall	{
	set @alicecost,5000;	// Variável para mudar o custo do serviço [Brainstorm]
	show "[Serviço de Limpeza]";
	if (getd("$@house" + getarg(0) + "_alice") == 0) {
		show "Você deseja ter Alice limpando por 8 horas?";
		show "Quando limpar, os insetos cessarão de aparecer.";
		show "O serviço custa 5000z.";
		show "Você gostaria de chamar Alice?";
		next;
		menu "Sim",-,"Não",L_No;
		if (Zeny < @alicecost) goto L_NoZeny;
		if (getd("$@house" + getarg(0) + "_alice") == 1) goto L_Activo;
		setd "$@house" + getarg(0) + "_alice", 1; // Activo
		set Zeny, Zeny - @alicecost;
		// Exterminio de insetos
		setd "$house" + getarg(0) + "_bugs", 0;
		killmonsterall "rentin" + getarg(0) + ".gat";
		show "[Serviço de Limpeza]";
		show "Alice estará em sua casa imediatamente.";
		enablenpc "AliceR" + getarg(0) + ""; // Ativando NPC
		donpcevent "AliceR" + getarg(0) + "::OnEmpezar"; // Iniciando Limpeza
		initnpctimer;
	} else {
		show "Você deseja despachar Alice agora?";
		next;
		menu "Sim",-,"Não",L_No;
		if (getd("$@house" + getarg(0) + "_alice") == 0) goto L_Activo;
		setd "$@house" + getarg(0) + "_alice", 0; // Desativando
		show "[Serviço de Limpeza]";
		show "Alice foi despachada, finalizado o Serviço de Limpeza.";
		stopnpctimer;
		donpcevent "AliceR" + getarg(0) + "::OnTerminar";
		disablenpc "AliceR" + getarg(0) + "";
	}
	close;

L_Activo:
	show "[Serviço de Limpeza]";
	show "Você já pediu uma Alice para limpar, você somente pode pedir uma Alice de cada vez.";
	show "Bom Dia.";
	close;

L_NoZeny:
	show "[Serviço de Limpeza]";
	show "Desculpe, mais você não tem zeny suficiente para pagar uma Alice.";
	close;

L_No:
	show "[Serviço de Limpeza]";
	show "Diga-me outra vez se você precisar de nossos serviços.";
	close;
}

//============================================================ 
//= Serviço de Kafra
//= (Id da casa)
//============================================================ 

function	script	rent_serviceFinish	{
	stopnpctimer;
	setd "$@house" + getarg(0) + "_alice", 0; // Desativado
	donpcevent "AliceR" + getarg(0) + "::OnTerminar";
	disablenpc "AliceR" + getarg(0) + "";
	end;
}

//============================================================ 
//= Velocidade de locomoção da Alice
//============================================================ 

function	script	rent_aliceInit	{
	npcspeed 100;
	end;
}

//============================================================ 
//= O começo da função de Alice, ativa o temporizador de NPC e a saudação
//============================================================ 

function	script	rent_aliceStart	{
	npctalk "Eu deixarei este lugar todo em ordem!";
	initnpctimer;
	return 0;
}

//============================================================ 
//= Movimentação da Alice
//============================================================ 

function	script	rent_aliceWalk	{
	emotion e_ho;
	getmapxy .@map$,.@x,.@y,1;
	set .@curX, callfunc("rent_aliceXY",.@x,8,35);
	set .@curY, callfunc("rent_aliceXY",.@y,5,27);
	npcwalkto .@curX, .@curY;
	stopnpctimer;
	initnpctimer;
	end;
}

//============================================================ 
//= Acontece somente quando você fala ou clica na Alice…!
//= Adicione mais dentro se você quiser (Preima)
//============================================================ 

function	script	rent_aliceTalk	{
	switch (rand(1,5)) {
		case 1: npctalk "Sim senhor(a), a limpeza esta quase completa."; break;
		case 2: npctalk "Se você quer comer algo, vá à cozinha que eu lhe prepararei um lanche…"; break;
		case 3: npctalk "Eles não me pagam o bastante por isso!"; emotion e_pif; break;
		case 4: npctalk "Bem, eu tenho muita sorte só precisarei limpar apenas esta casa hoje."; emotion e_heh; break;
		case 5: npctalk "Nossa, sua casa esta repugnante!"; emotion e_wah; break;
	}
	end;
}

//============================================================ 
//= Finalização dos Serviços da Alice
//============================================================ 

function	script	rent_aliceStop	{
	npctalk "Prontinho Senhor(a), esta tudo em ordem agora!";
	stopnpctimer;
	return 0;
}

//============================================================ 
//= Função de trocas de roupas
//= Summer 
//============================================================ 

function	script	rent_cambioropa	{
	show "[Guarda Roupas]";
	show "Escolha o estilo de roupa desejado...";
	menu "Normal",L_Normal,"Formal",L_Formal,"Natalina",L_Abrigo,"Verão",L_summer,"Não Trocar",-;
	close;

L_Normal:
	sc_end SC_Xmas;
	setoption Option_Wedding,0;
	sc_end SC_Summer;
	close;

L_Formal:
	sc_end SC_Xmas;
	sc_end SC_Summer;
	setoption Option_Wedding,1;
	close;

L_Abrigo:
	setoption Option_Wedding,0;
	sc_start SC_Xmas,600000,0;
	close;
L_summer:
	sc_end SC_Xmas;
	setoption Option_Wedding,0;
	sc_start SC_Summer,600000,0;
	close;
}

image.thumb.png.8f7ecca2a1b99a300d44b841b5cf289b.png

  • Like 1
Posted

Talvez o problema seja falta de quebra de linhas.

Aonde está:

		switch (@Tema) {
			case 14: soundeffectall "assassin_of_sunset.wav",0,24,@mapa$,0,0,50,50; break;
			case 12: soundeffectall "in_to_the_abyss.wav",0,24,@mapa$,0,0,50,50; break;
			case 11: soundeffectall "dont_forget_me_not.wav",0,24,@mapa$,0,0,50,50; break;
			case 7:  soundeffectall "ring_of_nibelungen.wav",0,24,@mapa$,0,0,50,50; break;
			case 5:  soundeffectall "bragis_poem.wav",0,24,@mapa$,0,0,50,50; break;
			case 2:  soundeffectall "chaos_of_eternity.wav",0,24,@mapa$,0,0,50,50; break;
			default: soundeffectall @Tema$,0,24,@mapa$,0,0,50,50; break;
		}

 

Tente trocar por:

		switch (@Tema) {
			case 14:
			soundeffectall "assassin_of_sunset.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 12:
			soundeffectall "in_to_the_abyss.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 11:
			soundeffectall "dont_forget_me_not.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 7:
			soundeffectall "ring_of_nibelungen.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 5:
			soundeffectall "bragis_poem.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 2:
			soundeffectall "chaos_of_eternity.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			default:
			soundeffectall @Tema$,0,24,@mapa$,0,0,50,50;
			break;
		}

 

Posted
49 minutes ago, luizragna said:

Talvez o problema seja falta de quebra de linhas.

Aonde está:


		switch (@Tema) {
			case 14: soundeffectall "assassin_of_sunset.wav",0,24,@mapa$,0,0,50,50; break;
			case 12: soundeffectall "in_to_the_abyss.wav",0,24,@mapa$,0,0,50,50; break;
			case 11: soundeffectall "dont_forget_me_not.wav",0,24,@mapa$,0,0,50,50; break;
			case 7:  soundeffectall "ring_of_nibelungen.wav",0,24,@mapa$,0,0,50,50; break;
			case 5:  soundeffectall "bragis_poem.wav",0,24,@mapa$,0,0,50,50; break;
			case 2:  soundeffectall "chaos_of_eternity.wav",0,24,@mapa$,0,0,50,50; break;
			default: soundeffectall @Tema$,0,24,@mapa$,0,0,50,50; break;
		}

 

Tente trocar por:


		switch (@Tema) {
			case 14:
			soundeffectall "assassin_of_sunset.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 12:
			soundeffectall "in_to_the_abyss.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 11:
			soundeffectall "dont_forget_me_not.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 7:
			soundeffectall "ring_of_nibelungen.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 5:
			soundeffectall "bragis_poem.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			case 2:
			soundeffectall "chaos_of_eternity.wav",0,24,@mapa$,0,0,50,50;
			break;
			
			default:
			soundeffectall @Tema$,0,24,@mapa$,0,0,50,50;
			break;
		}

 

image.thumb.png.e1b51ff39b8ed85182bcccb1b1615641.pngpior que já tentei isso tbm e ainda persiste no erro

 

  • 1 year later...
Posted
On 10/23/2020 at 11:44 PM, Kassio Felix said:

image.thumb.png.e1b51ff39b8ed85182bcccb1b1615641.pngpior que já tentei isso tbm e ainda persiste no erro

 

 

Provável já ter resolvido, ou desistido.

No caso do rAthena, o erro está no comando soundeffectall, *soundeffectall "<effect filename>",<type>{,"<map name>"}{,<x0>,<y0>,<x1>,<y1>}; 

Segundo o GitHub do rAthena

Onde se vê:

Quote
		switch (@Tema) {
			case 14: soundeffectall "assassin_of_sunset.wav",0,24,@mapa$,0,0,50,50; break;
			case 12: soundeffectall "in_to_the_abyss.wav",0,24,@mapa$,0,0,50,50; break;
			case 11: soundeffectall "dont_forget_me_not.wav",0,24,@mapa$,0,0,50,50; break;
			case 7:  soundeffectall "ring_of_nibelungen.wav",0,24,@mapa$,0,0,50,50; break;
			case 5:  soundeffectall "bragis_poem.wav",0,24,@mapa$,0,0,50,50; break;
			case 2:  soundeffectall "chaos_of_eternity.wav",0,24,@mapa$,0,0,50,50; break;
			default: soundeffectall @Tema$,0,24,@mapa$,0,0,50,50; break;
		}

 

O certo seria:

Quote
		switch (@Tema) {
			case 14: soundeffectall "assassin_of_sunset.wav",24,@mapa$,0,0,50,50; break;
			case 12: soundeffectall "in_to_the_abyss.wav",24,@mapa$,0,0,50,50; break;
			case 11: soundeffectall "dont_forget_me_not.wav",24,@mapa$,0,0,50,50; break;
			case 7:  soundeffectall "ring_of_nibelungen.wav",24,@mapa$,0,0,50,50; break;
			case 5:  soundeffectall "bragis_poem.wav",24,@mapa$,0,0,50,50; break;
			case 2:  soundeffectall "chaos_of_eternity.wav",24,@mapa$,0,0,50,50; break;
			default: soundeffectall @Tema$,24,@mapa$,0,0,50,50; break;
		}

 

 

  • Like 1
  • 1 year later...

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...