Jump to content

Tdi123

Members
  • Posts

    192
  • Joined

  • Last visited

Everything posted by Tdi123

  1. I am setting up a ragnarok server, using the rathena emulator, hexed 2018-06-21aRagexeRE, and date of the compatible, but I have yet to discover the source of this error, could someone help me? Basically the guild emblem after conquering the castle, does not appear on the flags.
  2. Example, ITEM_DB: 30452,Enchant_Elmo,Enchant Elmo,2,30,,1,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_Encantment"; },{},{} 30453,Enchant_Auras,Enchant Auras,2,30,,1,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_Encantment1"; },{},{} 30454,Enchant_Asas,Enchant Asas,2,30,,1,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_Encantment2"; },{},{} SCRIPT: function script F_Encantment { end; } function script F_Encantment1 { end; } function script F_Encantment2 { end; } Thank you in advance for your help!
  3. I still don't know how to make this type of modification, could you help me? I am wanting to add a bonus to the queen bee card to nullify the consumption of ninja stones as well. Who can help me, thank you in advance!
  4. Just like the queen bee card that nullifies the spending of gems, I wanted to create the effect to nullify the spending of ninja stones. Thank you in advance for your help!
  5. I've tried a few things, but I believe the problem is in the server grf, inside the sprite, I find it very difficult to be in the script, but anyone who can solve it, thank you very much!
  6. Thank you very much! It works too, putting # in front of bar_delay, so it looks like this: #bar_delay
  7. I'm trying to put some delay to use npc again, but it only works for the character, I wanted to put it on the account, how do I do it? Example: if( .@now < barenamvp_delay ) { mes .prc$; mes "Aguarde ^0000ff"+(bar_delay - .@now)+"s^000000 para usar o npc novamente"; close2; cutin "",255; end; }
  8. And also another script to use a command to recall the guild during the emperium war? I appreciate the help in advance
  9. If you have a tutorial, thank you, anyone who knows how to do it, please get in touch via pv!
  10. My server is pre-renewal, this item exists in the renewal version, I would like if it is possible to use it in pre-re
  11. I was seeing some examples, but I don't know how to create this item, could someone help me? Example: https://www.divine-pride.net/database/item/25793/inventory-expansion-coupon
  12. I have already solved the script problem, it is a little more complex than that, you need to do queue checks, etc ...
  13. SCRIPT: function script F_ShuffleNumbers { deletearray getarg(2); .@static = getarg(0); .@range = getarg(1) +1 - .@static; .@count = getarg(3, .@range); if (.@range <= 0 || .@count <= 0) return 0; if (.@count > .@range) .@count = .@range; for (.@i = 0; .@i < .@range; ++.@i) .@temparray[.@i] = .@i; for (.@i = 0; .@i < .@count; ++.@i) { .@rand = rand(.@range); set getelementofarray( getarg(2), .@i ), .@temparray[.@rand] + .@static; .@temparray[.@rand] = .@temparray[--.@range]; } return .@count; } - script RegistroBG -1,{ OnJoinBG: .@name$ = strcharinfo(0); .@minplayer2start = getvariableofnpc(.minplayer2start, "fortress#bg"); .@start = getvariableofnpc(.start, "fortress#bg"); if(.@start == 1) { dispbottom "Batalha Campal : Desculpe, a bg está em andamento."; end; } while ( .aid[.@i] != getcharid(3) && .@i < .size ) ++.@i; if ( .@i < .size ) { dispbottom "Batalha Campal : Por favor, aguarde a batalha começar."; end; } if (BaseLevel < 300) { dispbottom "Batalha Campal : Apenas jogadores de nível 300 podem participar da Batalha Campal!"; end; } if( agitcheck() || agitcheck2() ){ dispbottom "Batalha Campal : Neste momento a Guerra do Emperium está ativa e não é possível se inscrever na Batalha Campal!"; end; } dispbottom "Batalha Campal : Por favor, permaneça no mapa atual para participar!"; .aid[ .size++ ] = getcharid(3); for ( .@i = 0; .@i < .size; ++.@i ) { if ( !isloggedin( .aid[.@i] ) ) { deletearray .aid[.@i], 1; --.@i; --.size; } else { attachrid .aid[.@i]; if ( strcharinfo(3) != strnpcinfo(4) ) { deletearray .aid[.@i], 1; --.@i; --.size; } } } detachrid; if ( .size == .@minplayer2start * 2 ) { copyarray getvariableofnpc( .aid_, "fortress#bg" ), .aid, .size; donpcevent "fortress#bg::OnStart"; deletearray .aid; .size = 0; } else announce .@name$ +" se inscreveu na Batalha Campal... ainda restam "+ .size +"/"+ .@minplayer2start * 2 +" vagas para começar.", bc_npc | bc_all; end; OnInit: bindatcmd("joinbg",strnpcinfo(0)+"::OnJoinBG",0,99); end; } - script fortress#bg -1,{ OnInit: // ============= // Game Settings // ============= // Minimum players per team to start // default : 5 ( 5v5 ) .minplayer2start = 1; // Event duration in minutes.. // default : 5 mins .duration = 5; // Reward settings setarray .rwd[0], 7773, 5, // win team reward 7773, 1; // lose team reward end; OnStart: .start = 1; .red = bg_create ( strnpcinfo(4), 58, 123, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDie" ); .blue = bg_create ( strnpcinfo(4), 141, 60, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDie" ); callfunc "F_ShuffleNumbers", 0, .minplayer2start *2 -1, .@r; for ( .@i = 0; .@i < .minplayer2start * 2; ++.@i ) { attachrid .aid_[.@r[.@i]]; bg_join ( .@i % 2 )? .red : .blue; } detachrid; sleep 5000; announce "Destruam a Fortaleza Principal!", bc_npc | bc_map | bc_blue; sleep 5000; announce "A Batalha durará 5 minutos!", bc_npc | bc_map | bc_blue; bg_monster 0, "bat_c01", 99, 92, "Fortaleza Principal", 1911, strnpcinfo(3)+"::OnEmpDown"; sleep .duration * 60000; if(.owner) callsub L_reward, (.owner == .red) ? .red : .blue, (.owner == .red) ? .blue : .red, (.owner == .red) ? "Red" : "Blue"; else announce "A batalha terminou em empate!", bc_npc | bc_map | bc_blue; .owner = .start = 0; bg_destroy .red; bg_destroy .blue; mapwarp strnpcinfo(4),"prontera",150,150,0; end; L_reward: announce getarg(2) +" team venceu!", bc_npc | bc_map | bc_blue; bg_get_data getarg(0), 1; for ( .@i = 0; .@i < $@arenamemberscount; ++.@i ) getitem .rwd[0],.rwd[1], $@arenamembers[.@i]; sleep 1; bg_get_data getarg(1), 1; for ( .@i = 0; .@i < $@arenamemberscount; ++.@i ) getitem .rwd[2],.rwd[3], $@arenamembers[.@i]; return; OnEmpDown: .owner = getcharid(4); announce ((getcharid(4) == .red) ? "Red": "Blue") +" Team conquistou a Fortaleza Principal!", bc_npc | bc_map | bc_blue; bg_warp .red, strnpcinfo(4), 58, 123; bg_warp .blue, strnpcinfo(4), 141, 60; bg_monster .owner, "bat_c01", 99, 92, "Fortaleza Principal", (getcharid(4) == .red) ? 1912 : 1913, strnpcinfo(3)+"::OnEmpDown"; //setnpcdisplay("#mainfort", "Fortaleza Principal", (getcharid(4) == .red) ? 1912 : 1913 ); end; OnRedQuit: callsub L_Quit, .red, "Red"; OnBlueQuit: callsub L_Quit, .blue, "Blue"; L_Quit: if ( bg_get_data( getarg(0), 0 ) ) end; announce "Todos "+ getarg(2) +" team membros saíram!", bc_npc | bc_map | bc_blue; sleep 1000; callsub L_reward, ( getarg(0) == .red ) ? .red : .blue, ( getarg(0) == .red ) ? .blue : .red, ( getarg(0) == .red ) ? "Red" : "Blue"; awake instance_npcname( strnpcinfo(0) ); end; OnRedDie: OnBlueDie: sleep2 1250; percentheal 100, 100; end; } bat_c01,99,92,0 script #mainfort -1,5,5,{ end; OnTouch: getmapxy(.@mapname$, .@mapx, .@mapy, BL_NPC, strnpcinfo(3)); setarray .@n_mapx[0], .@mapx-5, .@mapx+5; setarray .@n_mapy[0], .@mapy-5, .@mapy+5; @ontouch = 1; .@owner = getvariableofnpc( .owner, "fortress#bg" ); while ( @ontouch && strcharinfo(3) == strnpcinfo(4) ) { if( .@owner != getcharid(4) ) { if ( Hp > 1 ) percentheal -10, 0; else percentheal -100, 0; specialeffect2 49; } else if ( .@owner == getcharid(4) ) { if ( Hp != MaxHP ) specialeffect2 EF_HEAL; percentheal 10, 10; } sleep2 1000; getmapxy(@mapname$, @mapx, @mapy, BL_PC); if ( @mapx < .@n_mapx[0] || @mapx > .@n_mapx[1] || @mapy < .@n_mapy[0] || @mapy > .@n_mapy[1]) { @ontouch = 0; } } end; } bat_c01,55,126,0 script #redminifort 1915,5,5,{ end; OnTouch: getmapxy(.@mapname$, .@mapx, .@mapy, BL_NPC, strnpcinfo(3)); setarray .@n_mapx[0], .@mapx-5, .@mapx+5; setarray .@n_mapy[0], .@mapy-5, .@mapy+5; .@owner = getvariableofnpc( .red, "fortress#bg" ); @ontouch = 1; while ( @ontouch && strcharinfo(3) == strnpcinfo(4) ) { if ( .@owner != getcharid(4) ) { if ( Hp > 10 ) percentheal rand(-20,-40), 0; else percentheal -100, 0; specialeffect2 49; } else { if( HP != MaxHP ) specialeffect2 EF_HEAL; percentheal 10, 10; } sleep2 1000; getmapxy(@mapname$, @mapx, @mapy, BL_PC); if ( @mapx < .@n_mapx[0] || @mapx > .@n_mapx[1] || @mapy < .@n_mapy[0] || @mapy > .@n_mapy[1]) { @ontouch = 0; } } end; } bat_c01,144,57,0 script #blueminifort 1914,5,5,{ end; OnTouch: getmapxy(.@mapname$, .@mapx, .@mapy, BL_NPC, strnpcinfo(3)); setarray .@n_mapx[0], .@mapx-5, .@mapx+5; setarray .@n_mapy[0], .@mapy-5, .@mapy+5; .@owner = getvariableofnpc( .blue, "fortress#bg" ); @ontouch = 1; while ( @ontouch && strcharinfo(3) == strnpcinfo(4) ) { if ( .@owner != getcharid(4) ) { if ( Hp > 10 ) percentheal rand(-20,-40), 0; else percentheal -100, 0; specialeffect2 49; } else { if( HP != MaxHP ) specialeffect2 EF_HEAL; percentheal 10, 10; } sleep2 1000; getmapxy(@mapname$, @mapx, @mapy, BL_PC); if ( @mapx < .@n_mapx[0] || @mapx > .@n_mapx[1] || @mapy < .@n_mapy[0] || @mapy > .@n_mapy[1]) { @ontouch = 0; } } end; } bat_c01 mapflag battleground 2 bat_c01 mapflag nosave SavePoint bat_c01 mapflag nowarp bat_c01 mapflag nowarpto bat_c01 mapflag noteleport bat_c01 mapflag nomemo bat_c01 mapflag nopenalty bat_c01 mapflag nobranch bat_c01 mapflag noicewall If I put the map name + the coordinate, the npc works only on the npc map, example: prontera,0,0,0 script RegistroBG 100,{ OnJoinBG: So, it will only work on the prontera map I wanted to release the command for all maps Thank you for your help now!
  14. I created a simple npc pack guild, but I don’t know how to do a unique_id check, could someone help me? poring_w02,172,178,3 script Pack Guild#1 446,{ mes "^FF7F00[ Pack Guild ]^000000"; mes (gettime(3)>= 6&&gettime(3)<= 12?"Bom dia":(gettime(3)>=13&&gettime(3)<=18?"Boa tarde":"Boa noite"))+" ^0000ff"+strcharinfo(0)+"^000000"; mes "Aqui você poderá escolher qualquer ^0000ffElmo^000000 quest do Servidor."; next; if(#packguild > 0){ mes "^FF7F00[ Pack Guild ]^000000"; mes "Você já recebeu seu Elmo!"; close; } mes "^FF7F00[ Pack Guild ]^000000"; mes "Vale lembrar que o Pack Guild será válido por ^0000ff30 dias^000000."; close2; callfunc "pgshop"; end; }
  15. Não sei afirmar isso também, esse problema foi relatado por um jogador mono mestre-ferreiro, então acredito que as cartas aumentam o dano tbm, no bRO wiki está escrito isso. LINK: https://browiki.org/wiki/Choque_do_Carrinho Pode ser aumentada por equipamentos que aumentam o ATQ e dano físico, como a carta Andre, a carta General Tartaruga e por cartas de aumento de dano contra uma raça.
  16. Tentei equipar 4 cartas general tartaruga para testar, mas o dano não aumenta, equipei uma primeiro, depois 2, 3 e 4 o dano continua o mesmo, vale notar que o carrinho do mestre ferreiro está em 10k urgente, alguém pode me ajudar?
  17. The cart shock skill is not increasing the damage with the race cards, example: General turtle card, hydra and etc ...
  18. Yes, and the program allowed it! I can replace a file or add it, the program allows it, even if I don't have the password
×
×
  • Create New...