Jump to content

Kassio Felix

Members
  • Posts

    20
  • Joined

  • Last visited

Everything posted by Kassio Felix

  1. Salve pessoal, estou usando esse npc para adicionar o vip, pois o emulador que estou usando é eAmod com rathena, porem é um emulador antigo e n tem suporte ao sistema vip original do rathena. gostaria de saber, se alguém pode fazer o script de dias vip grats, abaixo segue o sistema que estou usando. E tenho esse vip grats aqui. porem com outra tabela.... Porem estou com muita dificuldade de fazer ele funcionar... Consegui fazer funcionar, mas agradeço se alguém conseguir optimizar esse npc =D
  2. Salve pessoal estou com duvida pois n consigo acerta a formula estou usando esse script do Emistry Porem eu não estou conseguindo colocar as placas uma ao lado da outra com 1 espaço de diferença para o lado e para baixo, e quando consigo fica 5 a 10 uma em cima da outra, alguém pode me ensinar essa formula de posicionamento ? Na imagem abaixo consigo colocar quatro com essa configuração do set .map$ porem quando adiciono mais fica tudo em cima uma placa da outra set .map$,"quiz_00"; setcell .map$,0,0,300,300,cell_novending,1; // x and y horizone .. setarray .x_line,50,54,0,0,0,0,0; setarray .y_line,27,17,0,0,0,0,0; Salveeeeee.. Eu entendi o npc, ele é baseado num sistema criado por René Descartes. Sistema de coordenadas cartesiano. Ele vai funcionar da seguinte maneira. x baixo. y reto o npc vai criar 1 placa na celula 118 e 129 vai ser a direção que vou criar as placas então para fazer uma fila de placa eu vou por as celulas 129 em diante 130,131,132 etc. para criar uma novafileira eu vou seleciona a direção por exemplo 122 ai vai ficar assim : setarray .x_line,118,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0; setarray .y_line,129,0,0,0,0,0,0,0; qualquer duvida podem perguntar que eu ajudo tbm, Moderadores, podem fechar o tópico e se puder levar essa explicação para a area adequada de suporte.
  3. Salve pessoal. Estou tendo um erro na Kafra da guild. ela apresenta o erro que esta na imagem abaixo. Pelo que consegui entender lendo o erro, deve ser algo relacionado ao comando ta vindo ta vindo antes dele ser carregado. Porem n sei como arrumar, alguém pode ajudar? vou deixa abaixo da imagem em spoiler/code o npc
  4. Se não me engano isso é um opcional que da para aplicar no diff do hedex.
  5. Eu uso um emulador de 2014 e tá funcionando normal. Pode ser alguma mudança no código do emulador que fez alguma configuração do mooka ficar obsoleta
  6. Show, usei aqui no hedex 2012-04-10 e ta funcional tbm
  7. Esse é ele completo. Edit. Testei seu script agora, mas ao matar 1 mvp ele não da cash porem tbm n apresenta erro. Funcionou sim, eu que fui desatento e não tirei o comentário do script que habilita os npcs. E além de ter tirado uma duvida minha tbm. Pois sempre que uso 1-{ para tornar o npc invisível dava erro. Agora usei o fake_npc,{ e o sv já n tem mais erro. Valeu pela ajuda @DoomSlayer
  8. Boa noite pessoa, estou com esse npc que da 50 de cash para quem matar os mvps listados, porem ao adicionar o script no emulador e ligar, ele apresenta o erro da imagem. Alguém saberia como resolver?
  9. Aberta as portas do modem ? Desligou Firewall ? ta usando o mesmo ip que o hamachi ta lhe dando no seu clientinfo.xml e no conf?
  10. não esta tendo conexão map_athena. tem alguma configuração errada
  11. Boa tarde pessoal queria saber qual é a função no script que alterar uma variável para uma string. pois no cronus usávamos [function implode] porem no rAthena eu não sei qual. Alguém poderia me ajudar? segue o script abaixo
  12. Já descobri.... O diretorio n está como antes. agora fica em data\texture\유저인터페이스 e não mais em data\texture\À¯ÀúÀÎÅÍÆäÀ̽º [MOD] pode fechar o tópico RESOLVIDO.
  13. Boa noite pessoal, estou tentando adicionar 1 login background porem não está saindo dessa imagem Meu hadex é o 2012-04-10RE Sendo que a que eu to querendo usar já ta na pasta data e feita grf. Alguém pode me ajudar com isso?
  14. Boa noite pessoal. Eu estou voltando a ativa com ragnarok depois de ter parado em 2012. Vi que muita coisa mudou. Gostaria de saber como eu consigo a Data para fazer a grf para por em meu servidor. pois estou querendo usar eamod com cliente 2012-04-10 porem n acho nenhum repositorio com data para usar.
  15. pior que já tentei isso tbm e ainda persiste no erro
  16. 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; }
×
×
  • Create New...