Tdi123
Members-
Posts
192 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Tdi123
-
Guild emblem does not appear on the castle flag, how to solve?
Tdi123 posted a question in General Support
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. -
Request for a script that enchants the equipment through callfunc
Tdi123 posted a question in Script Requests
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! -
How to create the effect to remove the expense of ninja stones?
Tdi123 replied to Tdi123's question in Source Support
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! -
How to create the effect to remove the expense of ninja stones?
Tdi123 posted a question in Source Support
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! -
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!
-
Thank you very much! It works too, putting # in front of bar_delay, so it looks like this: #bar_delay
-
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; }
-
Is it possible to create a script to level up all guild skills?
Tdi123 posted a question in General Support
And also another script to use a command to recall the guild during the emperium war? I appreciate the help in advance -
If you have a tutorial, thank you, anyone who knows how to do it, please get in touch via pv!
-
Okay, thank you very much!
-
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
-
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
-
-
How do I place a unique_id gepard check on this npc?
Tdi123 replied to Tdi123's question in Scripting Support
Thank you very much! -
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!
-
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; }
-
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.
-
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