Jump to content

Racaae

Members
  • Content Count

    21
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

  • Days Won

    1

Racaae last won the day on April 18 2020

Racaae had the most liked content!

Community Reputation

10 Good

1 Follower

About Racaae

  • Rank
    Poring

Profile Information

  • Gender
    Male
  • Location
    Brasil

Recent Profile Visitors

915 profile views
  1. Vai em src/config/core.h, ache essa parte e tira os // da segunda linha. Recompila o servidor, VIP ativado. /// Uncomment to enable VIP system. //#define VIP_ENABLE conf/login_athena.conf, acha essa parte e muda o 5 para 1. // Which group (ID) will be denoted as the VIP group? // Default: 5 vip_group: 5 Em conf/battle/player.conf tem algumas opções de configuração do vip. Por exemplo: rate de EXP e drop, aumentar limite do armazém. Em conf/groups.conf você configura os comandos e algumas outras coisas disponíveis para os VIPs. Em conf/login_athena.conf também dá para aumentar o número de personagens máximo em contas VIP.
  2. Boa noite. Sim, é possível criar um NPC que pede um item em troca de algo. Aí depende do seu sistema VIP se é fácil de criar isso ou não. Aqui tem um exemplo de um NPC que faz exatamente isso, usando o vip oficial do rAthena. prontera,159,170,3 script Moça do VIP 4_F_KAFRA1,{ mes "[" + strnpcinfo(1) + "]"; if (vip_status(VIP_STATUS_ACTIVE)) mes "Olá, você já é VIP."; else { mes "Olá, quer se tornar VIP? São vários benefícios!"; mes "Escolha quanto tempo você quer contratar."; next; for( [email protected] = 0; [email protected] < getarraysize( .day ); [email protected]++ ) [email protected]$ += (.day[[email protected]] + " dia(s):"); [email protected] = select([email protected]$) - 1; mes "[" + strnpcinfo(1) + "]"; mes "O custo de "+.day[[email protected]]+" dia(s) de VIP é:"; if (.cash_cost[[email protected]]) mes "- " + callfunc("F_InsertComma",.cash_cost[[email protected]]) + " CASH"; if (.cash_cost[[email protected]] && .item_qtd[[email protected]]) mes "ou"; if (.item_qtd[[email protected]]) mes "- " + .item_qtd[[email protected]]+"x <ITEM>" + getitemname( .item_id ) + "<INFO>" + .item_id + "</INFO></ITEM>"; if (.zeny_cost[[email protected]] && .item_qtd[[email protected]] || .cash_cost[[email protected]] && .zeny_cost[[email protected]]) mes "ou"; if (.zeny_cost[[email protected]]) mes "- " + callfunc("F_InsertComma",.zeny_cost[[email protected]]) + "z"; next; [email protected]$ = ""; if (.cash_cost[[email protected]]) [email protected]$ += "Pagar com CASH"; [email protected]$ += ":"; if (.item_qtd[[email protected]]) [email protected]$ += "Pagar com "+getitemname(.item_id); [email protected]$ += ":"; if (.zeny_cost[[email protected]]) [email protected]$ += "Pagar com zeny"; switch(select([email protected]$ + ":Deixa pra lá.")) { case 1: mes "[" + strnpcinfo(1) + "]"; if ( #CASHPOINTS < .cash_cost[[email protected]] ) { mes "Você não tem CASH suficiente."; } else { #CASHPOINTS -= .cash_cost[[email protected]]; vip_time ( .day[[email protected]] * 1440 ); mes "VIP adquirido com sucesso!"; mes "Você pode usar o comando ^[email protected]^000000 para ver a duração do seu VIP."; } break; case 2: mes "[" + strnpcinfo(1) + "]"; if ( countitem( .item_id ) < .item_qtd[[email protected]] ) { mes getitemname( .item_id ) + " insuficiente."; } else { delitem .item_id, .item_qtd[[email protected]]; vip_time ( .day[[email protected]] * 1440 ); mes "VIP adquirido com sucesso!"; mes "Você pode usar o comando ^[email protected]^000000 para ver a duração do seu VIP."; } break; case 3: mes "[" + strnpcinfo(1) + "]"; if ( Zeny < .zeny_cost[[email protected]] ) { mes "Você não tem Zeny suficiente."; } else { Zeny -= .zeny_cost[[email protected]]; vip_time ( .day[[email protected]] * 1440 ); mes "VIP adquirido com sucesso!"; mes "Você pode usar o comando ^[email protected]^000000 para ver a duração do seu VIP."; } break; case 4: mes "[" + strnpcinfo(1) + "]"; mes "Até mais."; } } close; OnCheck: if (vip_status(VIP_STATUS_ACTIVE)) dispbottom "SISTEMA: Você é VIP até "+ gettimestr("%d/%m/%Y %H:%M",21,vip_status(VIP_STATUS_EXPIRE)); else dispbottom "SISTEMA: Você não é VIP."; end; OnInit: //== CONFIGURAÇÕES ================== setarray .day,7,14,30; //Opções de dias de VIP //setarray .cash_cost,4000,7000,10000; //Custo em Cash de cada opção (use // para desabilitar CASH) //setarray .zeny_cost,10000000,15000000,30000000; //Custo em Zeny de cada opção (use // para desabilitar Zeny) .item_id = 7929; //ID do item usado para troca setarray .item_qtd,3,5,10; //Custo (em item) para cada opção de tempo (use // para desabilitar item) //=================================== bindatcmd("tempovip", strnpcinfo(3)+"::OnCheck"); end; } O refinador 100% é mais simples que os refinadores comuns já que não tem nenhuma chance de falha. Aqui vai o exemplo: prontera,161,170,3 script Refinador Barra Pesada 4_M_REPAIR,{ disable_items; mes "[" + strnpcinfo(1) + "]"; mes "Olá! Eu aceito CASH para refinar seus equipamentos com 100% de chance de sucesso!"; next; if(select("Informações.:Refinar.") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Eu refino equipamentos ^0000FFaté o nível " + .max + "^000000. O valor em CASH que eu peço depende do nível do equipamento."; mes "Você pode ver a tabela com os preços abaixo."; next; mes "[TABELA DE PREÇOS]"; for( [email protected] = 0; [email protected] < .max; [email protected]++ ) mes "+" + [email protected] + ">+" + ([email protected]+1) + " - " + callfunc("F_InsertComma", .cost[[email protected]]) + " CASH"; close; } mes "[" + strnpcinfo(1) + "]"; mes "Já estou animado!"; mes "Que equipamento você quer refinar?"; next; setarray [email protected]$[1],"Topo","Armadura","Mão esquerda","Mão direita","Capa","Sapatos","Acessório 1","Acesório 2","Cabeça meio","Cabeça baixo"; setarray [email protected][1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for(set [email protected],1; [email protected]<=10; set [email protected],[email protected]+1) set [email protected]$, [email protected]$+((getequipisequiped([email protected][[email protected]]))?"+"+getequiprefinerycnt([email protected][[email protected]])+" "+getequipname([email protected][[email protected]]):[email protected]$[[email protected]]+"- [VAZIO]")+":"; set [email protected], [email protected][ select([email protected]$) ]; if (!getequipisequiped([email protected])) { mes "[" + strnpcinfo(1) + "]"; mes "Você deve equipar o item que quer refinar."; close; } if (!getequipisenableref([email protected])) { emotion ET_OTL; mes "[" + strnpcinfo(1) + "]"; mes "Me desculpe."; mes "É impossível refinar esse item."; close; } [email protected]_refine = getequiprefinerycnt([email protected]); //save refinery count if (getequiprefinerycnt([email protected]) >= .max) { emotion ET_PROFUSELY_SWEAT; mes "[" + strnpcinfo(1) + "]"; mes "Esse item já é poderoso demais até para mim. É melhor deixar para lá."; close; } mes "[" + strnpcinfo(1) + "]"; mes "Refinar ^006400"+getequipname([email protected])+"^8B4513 vai custar " + callfunc("F_InsertComma", .cost[[email protected]_refine]) + " CASH."; mes "Devo continuar?"; next; if(select("Não.:Sim.") == 1) { emotion ET_THINK; mes "[" + strnpcinfo(1) + "]"; mes "Oh, você mudou de ideia."; mes "Ok."; mes "Você pode voltar depois."; close; } if (#CASHPOINTS < .cost[[email protected]_refine]) { mes "[" + strnpcinfo(1) + "]"; mes "Você não tem CASH suficiente."; close; } mes "[" + strnpcinfo(1) + "]"; mes "Ótimo."; mes "Como desejar!"; mes "Eu tenho um jeito especial para refinar..."; mes ".......ka boom!"; specialeffect EF_SUI_EXPLOSION; #CASHPOINTS -= .cost[[email protected]_refine]; successrefitem [email protected]; next; emotion ET_DELIGHT; mes "[" + strnpcinfo(1) + "]"; mes "Certo, aqui está~"; mes "Adeus~!"; close; OnInit: //== CONFIGURAÇÕES ================== .max = 15; //refino máximo //custo de cada nv de refinamento setarray .cost,100,100,100,100,500,1000,2000,4000,5000,6000,10000,18000,19000,20000,21000,22000,40000,50000,70000,100000; //=================================== end; }
  3. Hi. Add this after input [email protected],0,#GOLDPOINTS; if ([email protected] == 0) { mes "Exchange canceled."; close; }
  4. Isso vai de script para script. Você tem que entender como o ranking do script funciona, ou pode compartilhar aqui para eu ver se acho.
  5. Maybe the account you are using is of lowel level. set $VIPs_AdminGmLevel,99; Find this line and change the 99 to the level of your account.
  6. The menu works just fine here. Did you whisper to "npc:vipsystem8806azwan"?
  7. Hi. I didn't test much. The command is @reward.
  8. } else if (getskilllv("GD_APPROVAL") != 1) { mes "Official Guild Approval required to enter."; }
  9. Here's the full script, try it out.
  10. Boa noite, você pode usar o comando hateffect. Ele coloca um efeito continuo no personagem. Exemplo: OnPCLoginEvent: if (verifique aqui se o personagem é o líder do pvp) hateffect(HAT_EF_LEVEL99_SUN_ORANGE, true); end; Nesse exemplo, o efeito LEVEL99_SUN_ORANGE é ativado na hora que o boneco loga. Tem várias "auras" como opção. Você pode ver a lista em src/map/script_constants.hpp
  11. Hi. The variables need to be set when the server starts, so you need to add OnInit before the confs and end after. Like this: OnInit: //**************** VIP SYSTEM CONFIGURATION ************************* set $VIPs_SilverAccLevel,1; // Account Level assigned for VIP Silver * set $VIPs_GoldAccLevel,2; // Account Level assigned for VIP Gold * set $VIPs_PlatinumAccLevel,3; // Account Level assigned for VIP Platinum * set $VIPs_SilverExpRate,50; // VIP Silver Exp Boost in % ( 1 = 1% ) * set $VIPs_GoldExpRate,100; // VIP Gold Exp Boost in % ( 1 = 1% ) * set $VIPs_PlatinumExpRate,200000; // VIP Platinum Exp Boost in % ( 1 = 1% ) * set $VIPs_SilverItemRate,10; // VIP Silver Item Drop Boost in % ( 1 = 1% ) * set $VIPs_GoldItemRate,20; // VIP Gold Item Drop Boost in % ( 1 = 1% ) * set $VIPs_PlatinumItemRate,30; // VIP Platinum Item Drop Boost in % ( 1 = 1%)* set $VIPs_AdminGmLevel,99; // Define GM Level enabled to add, list and * // remove VIP entries. Any GM with access le- * // vel equal or higher than this will be able * // to manage VIP Accounts. * // ******************************************************************** end;
  12. Hi. You can put this before the autoreset so it goes automatically. I did not test. query_sql "SELECT * FROM ladder_mvp ORDER BY kills DESC LIMIT 1", [email protected], [email protected]$, [email protected]; [email protected]$ = "GM Team"; [email protected]$ = "Top MvP Prize"; [email protected]$ = "Congratulations " + [email protected]$ + "! You are the top ranker with " + [email protected] + " kills!"; [email protected] = 0; setarray [email protected][0], 504, 505; // White Potion, Blue Potion setarray [email protected][0], 10, 5; // 10 White Potions, 5 Blue Potions mail [email protected], [email protected]$, [email protected]$, [email protected]$, [email protected], [email protected], [email protected]; You can learn more about how to customize the rodex contents reading the file doc/script_commands.txt.
  13. Hi! Look at your function Chest_Raro, F_Rand just returns a random number from the options. You still need to use getitem to give the item. Example: [email protected]_id = callfunc("F_Rand",1,603,5,617,5); //sets the variable to one of the five options. getitem [email protected]_id, [email protected];
  14. Your system/PetEvolutionCln.lub may be outdated. The server and client data files need to match, check if it has the following lines: InsertEvolutionRecipeLGU(9099, 9108, 23189, 3) InsertEvolutionRecipeLGU(9099, 9108, 7442, 300) InsertEvolutionRecipeLGU(9099, 9108, 724, 50) InsertEvolutionRecipeLGU(9099, 9108, 4340, 1)
  15. no final do arquivo \data\luafiles514\lua files\skillinfoz\skilltreeview.lub, algo parecido com isso: O nome das abas tem que ser curtos o suficiente para a aba ETC aparecer.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.