Jump to content

Yukaiii

Members
  • Posts

    110
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Yukaiii

  1. How would I do this to myself? I don't have much knowledge..
  2. [Erro]: script_rid2sd: erro fatal! no associated players! [Depurar]: Function: getcharid (1 parametro): [Depurar]: Dado: number value=1 [Depurar]: Source (NPC): 3 vs 3 Party on arena_room (105,93) I'm having this error and these warnings as soon as a game ends... Then when I register again, only the party leaders enter.. I added all the code to the sorce... everything is fine, the only problem I've been encountering is this...
  3. ¿Pusiste todos los privilegios en phpmyadmin?
  4. Answering the solution in case anyone ever runs into this problem.. \conf\import\char_conf I'm answering this old topic because I went through this and couldn't find a solution, until I racked my brains and found out where to solve it.
  5. I tried it without success my friend..
  6. Good night friends. Guys, I did a search on the forum, but I couldn't find a detailed explanation. If someone could tell me how I can reduce the freezing time based on luk. Would the modification be done right here? Example: Normal freezing lasts an average of 10 seconds. with 100 luk it would reduce it to 4 seconds frozen. I've already tried a few ways here but none with success. Thank you very much in advance!!
  7. I'll be testing it later, thanks for the tip friend.
  8. Guys, I wanted some tips or even some help from you... I know this is rathena, in fact I use it and have a rathena server too.. but I'm trying to put another project of mine online, a very old project. And I would like to ask for your help so I can fix this script. Error: when both parties register, everything goes well in the first match, but then when you register again, instead of teleporting the entire party in case 3, you end up teleporting only 1 player, the leader. Thank you very much for any help you may have!! 24_03_2024 21_20_42.mp4 24_03_2024 21_22_17.mp4
  9. I tried every way... unfortunately it doesn't work.
  10. Good morning guys!!! I wish someone could explain to me how this works. I usually change the damage of skills in src, here I tried every way, but I never managed to make it work. I wanted to increase Magic Crash's damage here and reduce Asura by 100% on MVP's. I've tried it several times and I don't know if it's really working. MO_EXTREMITYFIST,2,1,-100 If anyone can give me a more concrete explanation... thank you very much.
  11. Thank you very much friend!!
  12. What's up guys!! Guys, could anyone help me with this script? it simply does not present any errors in the emulator. It shows the message that mob will appear to help and but it doesn't appear, could anyone tell me how I can fix this?
  13. src/map/map.hpp define MAX_LEVEL 255 db/pre-re/job_exp
  14. Firstly, you need to know if your server is configured for which level. After changing it however you see fit. conf\battle\exp // Rate at which exp. is given. (Note 2) base_exp_rate: 1000000 // Rate at which job exp. is given. (Note 2) job_exp_rate: 1000000
  15. resolved friend.thanks!!
  16. Pessoal, como vocês estão? Sei que é um anti bot bem antigo... mas acho muito interessante, estou fazendo alguns testes aqui no meu servidor e estão aparecendo esses erros... alguém poderia me dizer como consertar? este é o Antibot - Matador de Bots 6
  17. Could someone explain to me the reason for these errors? I installed the map correctly but I'm getting these two errors. Does anyone have the missing files? ERROR. event/summer_k_01.bpm model/groty/round_cycle.rsm
  18. How are you guys? Guys, how can I fix this bug in my patch? the skills are appearing in this weird language. my patch is all PT-BR. If anyone can give me some advice I would really appreciate it!!
  19. Thanks for sharing.. Merry Christmas
  20. Hello everybody! Guys, I'm having a problem with my emulator. In fact, the error only appears when the player hits the punching bag. the script does not present any type of error in the emulator, only when it is used does it indicate this error. Could anyone tell me how to resolve this error? "These are the two errors that appear in the server's cmd" [Error]:Value for setting 'mob_max_skilllvl': 150 is invalid (min:1 max:100)! Defaulting to 100 [Error]: clif_send: Unrecognized type 81 // Advance Punching Bag with Parameter settings // by pajodex // Video preview : https://www.youtube.com/watch?v=RoLhYx-Iny8 prontera,224,79,0 script Set Parameters#0 844,{ function get_size_name; function get_race_name; function get_ele_name; ignoretimeout 1; mes "Current punching bag info:"; .@dupid = atoi(strnpcinfo(2)); getunitdata .gid[.@dupid], .@data; mes "Size : "+ get_size_name(.@data[UMOB_SIZE]); mes "Level : "+ .@data[UMOB_LEVEL]; mes "Race : "+ get_race_name(.@data[UMOB_RACE]); mes "Element : "+ get_ele_name(.@data[UMOB_ELETYPE]) +" Lv. "+ .@data[UMOB_ELELEVEL]; mes "Stats : "; mes "=============================="; mes "Str - "+ .@data[UMOB_STR] +" Agi - "+ .@data[UMOB_AGI] +" Vit - "+ .@data[UMOB_VIT]; mes "Int - "+ .@data[UMOB_INT] +" Dex - "+ .@data[UMOB_DEX] +" Luk - "+ .@data[UMOB_LUK]; mes "Def - "+ .@data[UMOB_DEF] +" Mdef - "+ .@data[UMOB_MDEF]; next; if ( select("> Set parameter:Cancel") == 2 ) { mes "Bye"; close; } do { mes "Select which parameter to change."; next; switch(select("> Size [ ^ff0000"+(.@UMOB_SIZE ? get_size_name(.@UMOB_SIZE):get_size_name(.UMOB_SIZE))+"^000000 ]:> Level [ ^ff0000"+(.@UMOB_LEVEL ? .@UMOB_LEVEL:.UMOB_LEVEL)+"^000000 ]:> Race [ ^ff0000"+(.@UMOB_RACE ? get_race_name(.@UMOB_RACE):get_race_name(.UMOB_RACE))+"^000000 ]:> Element [ ^ff0000"+(.@UMOB_ELETYPE ? get_ele_name(.@UMOB_ELETYPE):get_ele_name(.UMOB_ELETYPE))+" Lv "+(.@UMOB_ELELEVEL ? .@UMOB_ELELEVEL:.UMOB_ELELEVEL)+"^000000 ]:> Stats:> Enter Mob ID:^0000ffDone^000000")) { case 1: .@UMOB_SIZE = select("- Small:- Medium:- Large")-1; break; case 2: mes "Input level (1-"+.maxlv+"):"; next; input .@UMOB_LEVEL, 1, .maxlv; break; case 3: .@UMOB_RACE = select("- Formless:- Undead:- Brute:- Plant:- Insect:- Fish:- Demon:- Demihuman:- Angel:- Dragon:- Player") - 1; break; case 4: mes "Select Element:"; next; .@UMOB_ELETYPE = select("- Neutral:- Water:- Earth:- Fire:- Wind:- Poison:- Holy:- Shadow:- Ghost:- Undead") - 1; mes "Select Level:"; next; .@UMOB_ELELEVEL = select("Lv 1:Lv 2:Lv 3:Lv 4"); break; case 5: mes "Select:"; next; switch(select("> STR [ ^ff0000"+(.@UMOB_STR ? .@UMOB_STR:.UMOB_STR)+"^000000 ]:> AGI [ ^ff0000"+(.@UMOB_AGI ? .@UMOB_AGI:.UMOB_AGI)+"^000000 ]:> VIT [ ^ff0000"+(.@UMOB_VIT ? .@UMOB_VIT:.UMOB_VIT)+"^000000 ]:> INT [ ^ff0000"+(.@UMOB_INT ? .@UMOB_INT:.UMOB_INT)+"^000000 ]:> DEX [ ^ff0000"+(.@UMOB_DEX ? .@UMOB_DEX:.UMOB_DEX)+"^000000 ]:> LUK [ ^ff0000"+(.@UMOB_LUK ? .@UMOB_LUK:.UMOB_LUK)+"^000000 ]:> DEF [ ^ff0000"+(.@UMOB_DEF ? .@UMOB_DEF:.UMOB_DEF)+"^000000 ]:> MDEF [ ^ff0000"+(.@UMOB_MDEF ? .@UMOB_MDEF:.UMOB_MDEF)+"^000000 ]")) { case 1: .@data$ = "STR"; break; case 2: .@data$ = "AGI"; break; case 3: .@data$ = "VIT"; break; case 4: .@data$ = "INT"; break; case 5: .@data$ = "DEX"; break; case 6: .@data$ = "LUK"; break; case 7: .@data$ = "DEF"; break; case 8: .@data$ = "MDEF"; break; } mes "Value (1-"+.max_stat+":"; next; input .@val, 1, .max_stat; setd ".@UMOB_"+.@data$, .@val; break; case 6: mes "Enter Monster ID to simulate:"; next; input .@val; if ( (.@name_english$ = getmonsterinfo(.@val, MOB_NAME)) == "null" ) { mes "Cannot find Monster ID "+.@val+" on the database!"; next; break; } query_sql("SELECT `element_level` FROM `"+(checkre(0) ? "mob_db_re":"mob_db")+"` WHERE `id` = '"+.@val+"'", .@UMOB_ELELEVEL); .@UMOB_LEVEL = getmonsterinfo(.@val, MOB_LV); .@UMOB_SIZE = getmonsterinfo(.@val, MOB_SIZE); .@UMOB_RACE = getmonsterinfo(.@val, MOB_RACE); .@UMOB_ELETYPE = getmonsterinfo(.@val, MOB_ELEMENT); .@UMOB_DEF = getmonsterinfo(.@val, MOB_DEF); .@UMOB_MDEF = getmonsterinfo(.@val, MOB_MDEF); .@UMOB_STR = getmonsterinfo(.@val, MOB_STR); .@UMOB_AGI = getmonsterinfo(.@val, MOB_AGI); .@UMOB_VIT = getmonsterinfo(.@val, MOB_VIT); .@UMOB_INT = getmonsterinfo(.@val, MOB_INT); .@UMOB_DEX = getmonsterinfo(.@val, MOB_DEX); .@UMOB_LUK = getmonsterinfo(.@val, MOB_LUK); mes "Fetching and applying data of monster '"+.@name_english$+"("+.@val+")' on punching bag..."; next; break; default: // Finalize .@done = true; break; } } while ( !.@done ); mes "Please review before I spawn:"; mes "Size : "+ get_size_name((.@UMOB_SIZE ? .@UMOB_SIZE:.UMOB_SIZE)); mes "Level : "+ (.@UMOB_LEVEL ? .@UMOB_LEVEL:.UMOB_LEVEL); mes "Race : "+ get_race_name((.@UMOB_RACE ? .@UMOB_RACE:.UMOB_RACE)); mes "Element : "+ get_ele_name((.@UMOB_ELETYPE ? .@UMOB_ELETYPE:.UMOB_ELETYPE)) +" Lv. "+ (.@UMOB_ELELEVEL ? .@UMOB_ELELEVEL:.UMOB_ELELEVEL); mes "Stats : "; mes "=============================="; mes "Str - "+ (.@UMOB_STR ? .@UMOB_STR:.UMOB_STR) +" Agi - "+ (.@UMOB_AGI ? .@UMOB_AGI:.UMOB_AGI) +" Vit - "+ (.@UMOB_VIT ? .@UMOB_VIT:.UMOB_VIT); mes "Int - "+ (.@UMOB_INT ? .@UMOB_INT:.UMOB_INT) +" Dex - "+ (.@UMOB_DEX ? .@UMOB_DEX:.UMOB_DEX) +" Luk - "+ (.@UMOB_LUK ? .@UMOB_LUK:.UMOB_LUK); mes "Def - "+ (.@UMOB_DEF ? .@UMOB_DEF:.UMOB_DEF) +" Mdef - "+ (.@UMOB_MDEF ? .@UMOB_MDEF:.UMOB_MDEF); next; if (select("> Finalize!:> Cancel")==2) close; mes "Done!"; close2; .UMOB_SIZE = (.@UMOB_SIZE) ? .@UMOB_SIZE:.UMOB_SIZE; .UMOB_LEVEL = (.@UMOB_LEVEL) ? .@UMOB_LEVEL:.UMOB_LEVEL; .UMOB_RACE = (.@UMOB_RACE) ? .@UMOB_RACE:.UMOB_RACE; .UMOB_ELETYPE = (.@UMOB_ELETYPE) ? .@UMOB_ELETYPE:.UMOB_ELETYPE; .UMOB_ELELEVEL = (.@UMOB_ELELEVEL) ? .@UMOB_ELELEVEL:.UMOB_ELELEVEL; .UMOB_STR = (.@UMOB_STR) ? .@UMOB_STR:.UMOB_STR; .UMOB_AGI = (.@UMOB_AGI) ? .@UMOB_AGI:.UMOB_AGI; .UMOB_VIT = (.@UMOB_VIT) ? .@UMOB_VIT:.UMOB_VIT; .UMOB_INT = (.@UMOB_INT) ? .@UMOB_INT:.UMOB_INT; .UMOB_DEX = (.@UMOB_DEX) ? .@UMOB_DEX:.UMOB_DEX; .UMOB_LUK = (.@UMOB_LUK) ? .@UMOB_LUK:.UMOB_LUK; .UMOB_DEF = (.@UMOB_DEF) ? .@UMOB_DEF:.UMOB_DEF; .UMOB_MDEF = (.@UMOB_MDEF) ? .@UMOB_MDEF:.UMOB_MDEF; killmonster strnpcinfo(4),strnpcinfo(0)+"::OnMyMobDead"; donpcevent strnpcinfo(0)+"::OnMyMobDead"; end; OnInit: // Max level players can input .maxlv = 99; // Max stats players can input .max_stat = 999; // Max hp - don't change if you dont know what you are doing .UMOB_MAXHP = 2000000000; // Default values on initial spawn .UMOB_SIZE = 1; .UMOB_LEVEL = 10; .UMOB_RACE = 3; .UMOB_ELETYPE = 1; .UMOB_ELELEVEL = 1; .UMOB_STR = 5; .UMOB_AGI = 5; .UMOB_VIT = 5; .UMOB_INT = 5; .UMOB_DEX = 5; .UMOB_LUK = 5; .UMOB_DEF = 10; .UMOB_MDEF = 10; OnMyMobDead: getunitdata(getnpcid(0), .@d); monster strnpcinfo(4),.@d[UNPC_X],.@d[UNPC_Y],"Punching Bag",(!checkre(0))?1905:2411,1,strnpcinfo(0)+"::OnMyMobDead"; .@dupid = atoi(strnpcinfo(2)); .gid[.@dupid] = $@mobid[0]; .mhp[.@dupid] = .UMOB_MAXHP; setunitdata .gid[.@dupid],UMOB_MODE,.@d[UMOB_MODE]|0x4000000|0x0200000; // Set MD_STATUS_IMMUNE (0x4000000) because EDP/burn/%MHP based status can skew the DPS counter so much. setunitdata .gid[.@dupid],UMOB_MAXHP,.UMOB_MAXHP; setunitdata .gid[.@dupid],UMOB_SIZE,.UMOB_SIZE; setunitdata .gid[.@dupid],UMOB_LEVEL,.UMOB_LEVEL; setunitdata .gid[.@dupid],UMOB_RACE,.UMOB_RACE; setunitdata .gid[.@dupid],UMOB_ELETYPE,.UMOB_ELETYPE; setunitdata .gid[.@dupid],UMOB_ELELEVEL,.UMOB_ELELEVEL; setunitdata .gid[.@dupid],UMOB_STR,.UMOB_STR; setunitdata .gid[.@dupid],UMOB_AGI,.UMOB_AGI; setunitdata .gid[.@dupid],UMOB_VIT,.UMOB_VIT; setunitdata .gid[.@dupid],UMOB_INT,.UMOB_INT; setunitdata .gid[.@dupid],UMOB_DEX,.UMOB_DEX; setunitdata .gid[.@dupid],UMOB_LUK,.UMOB_LUK; setunitdata .gid[.@dupid],UMOB_DEF,.UMOB_DEF; setunitdata .gid[.@dupid],UMOB_MDEF,.UMOB_MDEF; initnpctimer; end; OnTimer5000: .@dupid = atoi(strnpcinfo(2)); if(unitexists(.gid[.@dupid])){ getunitdata(.gid[.@dupid],.@d); .@diff = (.mhp[.@dupid] - .@d[UMOB_HP]); if(.@diff > 0){ npctalk "Punching Bag : I've taken " + F_InsertComma(.@diff/5) + " DPS in last 5 seconds."; setunitdata .gid[.@dupid],UMOB_HP,.mhp[.@dupid]; specialeffect EF_HEAL, .gid[.@dupid]; } } initnpctimer; function get_size_name { switch ( getarg(0) ) { case 0 : .@val$ = "Small"; break; case 1 : .@val$ = "Medium"; break; case 2 : .@val$ = "Large"; break; } return .@val$; } function get_race_name { switch ( getarg(0) ) { case 0: .@val$ = "Formless"; break; case 1: .@val$ = "Undead"; break; case 2: .@val$ = "Brute"; break; case 3: .@val$ = "Plant"; break; case 4: .@val$ = "Insect"; break; case 5: .@val$ = "Fish"; break; case 6: .@val$ = "Demon"; break; case 7: .@val$ = "Demihuman"; break; case 8: .@val$ = "Angel"; break; case 9: .@val$ = "Dragon"; break; case 10: .@val$ = "Player"; break; } return .@val$; } function get_ele_name { switch ( getarg(0) ) { case 0: .@val$ = "Neutral"; break; case 1: .@val$ = "Water"; break; case 2: .@val$ = "Earth"; break; case 3: .@val$ = "Fire"; break; case 4: .@val$ = "Wind"; break; case 5: .@val$ = "Poison"; break; case 6: .@val$ = "Holy"; break; case 7: .@val$ = "Shadow"; break; case 8: .@val$ = "Ghost"; break; case 9: .@val$ = "Undead"; break; } return .@val$; } } prontera,216,79,0 duplicate(Set Parameters#0) Set Parameters#1 844 prontera,224,70,0 duplicate(Set Parameters#0) Set Parameters#2 844 prontera,216,58,0 duplicate(Set Parameters#0) Set Parameters#3 844 prontera,224,58,0 duplicate(Set Parameters#0) Set Parameters#4 844 Dimension-RO 2023-12-13 10-52-51.mp4
  21. Thank you very much friend. worked perfectly... Grateful!!!
  22. Good morning guys! Guys, how do I put a physical NPC in this script? I even got it but it doesn't work. I'm sorry, I'm really bad at scripting. I even tried haha //===== rAthena Script ============================================ //= Party vs Party //===== By: ======================================================= //= AnnieRuru //===== Current Version: ========================================== //= 0.2 //===== Compatible With: ========================================== //= rathena 2020-09-23 //===== Description: ============================================== //= GM has to manually pick which 2 party to fight //===== Topic ===================================================== //= https://rathena.org/board/topic/125939-looking-for-a-tournament-npc-sytem-pt-vs-pt/ //===== Additional Comments: ====================================== //= came over to rathena forum for a while, glad to see potential members on the other side //================================================================= - script PartyVsParty FAKE_NPC,{ OnInit: .eventlasting = 60; // 60 seconds .partysize = 1; bindatcmd "startmatch", strnpcinfo(3)+"::OnWarStart", 99,99; setarray .available_type$, " ^00FF00Available^000000", " ^FF0000Unavailable^000000", " ^FF0000Offline^000000"; setmapflag "guild_vs3", mf_battleground, 2; setmapflag "guild_vs3", mf_nosave; setmapflag "guild_vs3", mf_nomemo; setmapflag "guild_vs3", mf_nowarp; setmapflag "guild_vs3", mf_nowarpto; setmapflag "guild_vs3", mf_noteleport; setmapflag "guild_vs3", mf_nopenalty; end; OnWarStart: if (.start) { mes "The match is in progress ..."; mes "The current score is "+ .partyAscore +":"+ .partyBscore; mes "Terminate ?"; next; if (select("No", "Yes") == 1) close; if (select("Yes", "No") == 2) close; .skip = true; awake strnpcinfo(0); close; } mes "Welcome, what do you want to do?"; callsub L_display_party_members, .partyA, "A"; callsub L_display_party_members, .partyB, "B"; next; switch(select("Set Party Size", "Select Party A", "Select Party B", "Start Match")) { case 1: mes "input exact party size"; mes "if 3vs3, input 3"; next; input .partysize, 1, 12; goto OnWarStart; case 2: .partyA = callsub(L_select_party, "A", .partyA, .partyB); goto OnWarStart; case 3: .partyB = callsub(L_select_party, "B", .partyB, .partyA); goto OnWarStart; case 4: .@conditions = 0; .@conditions += callsub(L_check_party_conditions, .partyA, "A"); .@conditions += callsub(L_check_party_conditions, .partyB, "B"); if (.@conditions < 2 || .start) goto OnWarStart; else goto L_start; } close; L_display_party_members: if (!getarg(0)) mes "Party "+ getarg(1) +" = ^FF0000None^000000"; else { getpartymember getarg(0), 0; getpartymember getarg(0), 1; getpartymember getarg(0), 2; .@origin = getcharid(3); .@online = .@unavailable = 0; for (.@i = 0; .@i < $@partymembercount; ++.@i) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { attachrid $@partymemberaid[.@i]; if (getmapflag(strcharinfo(3), mf_nowarp)) { .@type[.@i] = 1; ++.@online; ++.@unavailable; } else { .@type[.@i] = 0; ++.@online; } } else .@type[.@i] = 2; } attachrid .@origin; mes "Party "+ getarg(1) +" = ["+ getpartyname(.partyA) +"] "+( ($@partymembercount == .partysize && .@online == .partysize && !.@unavailable)? "^00FF00Ready": "^FF0000Not Qualify" )+"^000000"; mes "Online = "+ .@online +((.@unavailable)? ", Unavailable = "+ .@unavailable : ""); for (.@i = 0; .@i < $@partymembercount; ++.@i) mes "- "+ $@partymembername$[.@i] + .available_type$[.@type[.@i]]; } return; L_select_party: mes "input a player name"; input .@tmp$; if (getcharid(3, .@tmp$) == 0) { mes "player not available"; next; return getarg(1); } .@partyid = getcharid(1, .@tmp$); if (!.@partyid) { mes "that player doesn't have a party"; next; return getarg(1); } if (.@partyid == getarg(2)) { mes "that player is a member on the other party"; next; return getarg(1); } mes "are you sure you want the party"; mes getpartyname(.@partyid) +" as Party "+ getarg(0) +"?"; next; if (select("Yes","No") == 2) return getarg(1); return .@partyid; L_check_party_conditions: if (!getarg(0)) { mes "Party"+ getarg(1) +" hasn't been configure"; next; return false; } getpartymember getarg(0), 0; getpartymember getarg(0), 1; getpartymember getarg(0), 2; .@origin = getcharid(3); for (.@i = 0; .@i < $@partymembercount; ++.@i) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { attachrid $@partymemberaid[.@i]; ++.@online; if (getmapflag(strcharinfo(3), mf_nowarp)) .@index[.@c++] = .@i; } } attachrid .@origin; if ($@partymembercount != .partysize) { mes "Party"+ getarg(1) +" has changed its party size"; next; return false; } if (!.@online) { mes "Party"+ getarg(1) +" don't have any players online at the moment"; next; return false; } if (.@online != .partysize) { mes "Party"+ getarg(1) +" has a few members gone offline"; next; return false; } if (.@c > 0) { mes "Party"+ getarg(1) +" has "+ .@c +" party members not ready, still attending on other event maps"; for (.@i = 0; .@i < .@c; ++.@i) mes "- "+ $@partymembername$[.@index[.@i]]; next; return false; } return true; L_register_bg_party: getpartymember getarg(0), 1; getpartymember getarg(0), 2; for (.@i = 0; .@i < $@partymembercount; ++.@i) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { bg_join getarg(4), "guild_vs3", getarg(2), getarg(3), $@partymembercid[.@i]; set getarg(1), getarg(1) +1; } } return; L_start: .start = true; announce "Party Vs Party : ["+ getpartyname(.partyA) +"] VS ["+ getpartyname(.partyB) +"]", bc_all; .partyAid = bg_create( "guild_vs3", 13,50, strnpcinfo(0)+"::OnpartyAQuit", strnpcinfo(0)+"::OnpartyADead" ); .partyBid = bg_create( "guild_vs3", 86,50, strnpcinfo(0)+"::OnpartyBQuit", strnpcinfo(0)+"::OnpartyBDead" ); callsub L_register_bg_party, .partyA, .partyAscore, 13,50, .partyAid; callsub L_register_bg_party, .partyB, .partyBscore, 86,50, .partyBid; bg_updatescore "guild_vs3", .partyAscore, .partyBscore; setwall "guild_vs3", 19,55, 12, DIR_SOUTH, false, "partyvspartyA"; setwall "guild_vs3", 80,55, 12, DIR_SOUTH, false, "partyvspartyB"; sleep 3000; for (.@i = 5; .@i > 0; --.@i) { mapannounce "guild_vs3", "["+ .@i +"]", bc_map; if (!.skip) sleep 1000; } mapannounce "guild_vs3", "Start!", bc_map; delwall "partyvspartyA"; delwall "partyvspartyB"; if (!.skip) sleep .eventlasting * 1000; if ( .partyAscore > .partyBscore ) { mapannounce "guild_vs3", "Party ["+ getpartyname(.partyA) +"] is victorious!", bc_map; callsub L_Reward, .partyAid; } else if ( .partyBscore > .partyAscore ) { mapannounce "guild_vs3", "Party ["+ getpartyname(.partyB) +"] is victorious!", bc_map; callsub L_Reward, .partyBid; } else mapannounce "guild_vs3", "- The match has ended in a draw! -", bc_map; bg_warp .partyAid, "prontera",152,178; bg_warp .partyBid, "prontera",154,178; bg_destroy .partyAid; bg_destroy .partyBid; .start = .skip = false; .partyAscore = .partyBscore = 0; end; L_Reward: bg_get_data getarg(0), 1; for ( .@i = 0; .@i < $@arenamemberscount; ++.@i ) getitem 512, 1, $@arenamembers[.@i]; return; OnpartyADead: callsub L_Dead, .partyAscore; OnpartyBDead: callsub L_Dead, .partyBscore; L_Dead: set getarg(0), getarg(0) -1; bg_updatescore "guild_vs3", .partyAscore, .partyBscore; bg_leave; if (!getarg(0)) { .skip = true; awake strnpcinfo(0); } end; OnpartyAQuit: callsub L_Quit, .partyAscore; OnpartyBQuit: callsub L_Quit, .partyBscore; L_Quit: set getarg(0), getarg(0) -1; bg_updatescore "guild_vs3", .partyAscore, .partyBscore; percentheal 100, 100; if (!getarg(0)) { .skip = true; awake strnpcinfo(0); } end; }
  23. How to solve this friend? I'm weak at scripts haha
×
×
  • Create New...