Jump to content

fictionx

Members
  • Posts

    122
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by fictionx

  1. i can't patch the bg mod. i have many rejected from tortoise svn.
  2. where can i find this maps ? map: bat_a03 map: bat_a04 map: bat_a05 map: bat_b03 map: bat_b04 map: bat_b05 map: schg_cas06 map: schg_cas07 map: schg_cas08 map: arug_cas06 map: arug_cas07 map: arug_cas08 map: rush_cas01 map: rush_cas02 map: rush_cas03 map: rush_cas04 map: bat_c03 map: bat_c04 map: bat_c05 map: bat_c06 map: bat_c07 map: bat_c08 map: region_8
  3. Thanks for the reply .
  4. ¿Hi how can i add timer invasion? I want a NPC that show when the invasion will be start. There is the scripts : - script invasor -1,{ OnInit: // [========================================================] // [ Configuration: ] // [--------------------------------------------------------] set .t1,2*24; // Minimum time to activate a new invasion event. (h) set .t2,14*24; // Maximum time to activate a new invasion event. (h) set .t3,24*60; // Maximum duration of the invasion event. (min) set .r1,100; // Mob rate. (%) set .pci,7539; // Item reward dropped by mobs and bosses. (Default = Poring Coin) set .pcr1,100; // Rate of item rewards dropped by mobs. (0 = off | %) set .pcr2,100; // Rate of item rewards dropped by bosses. (0 = off | %) set .t4,60; // Duration of the experience event after defeating the invader armies. (0 = off | min) set .r2,100; // Base exp rate increment. (0 = off | %) set .r3,100; // Job exp rate increment. (0 = off | %) set .gm,60; // GM level required to access the Control Panel whispering to NPC:invasor. // Alternative Save Point: // If a player had saved in the map of the current invasion event, his respawn point will be changed to this one. set .s$,"prontera"; // Map. set .sx,156; // x. set .sy,161; // y. // Cities: // getarg(0): Name. // getarg(1): Map. // getarg(2): Intensity. (0 = off | Intensity) callsub Onc0,"Alberta","alberta",11; callsub Onc0,"Al De Baran","aldebaran",14; callsub Onc0,"Amatsu","amatsu",18; callsub Onc0,"Ayothaya","ayothaya",8; callsub Onc0,"Brasilis","brasilis",27; callsub Onc0,"Comodo","comodo",22; callsub Onc0,"Einbech","einbech",11; callsub Onc0,"Einbroch","einbroch",22; callsub Onc0,"El Dicastes","dicastes01",14; callsub Onc0,"Geffen","geffen",10; callsub Onc0,"Gonryun","gonryun",14; callsub Onc0,"Hugel","hugel",9; callsub Onc0,"Izlude","izlude",5; callsub Onc0,"Jawaii","jawaii",0; // 7 callsub Onc0,"Juno","yuno",30; callsub Onc0,"Lighthalzen","lighthalzen",24; callsub Onc0,"Louyang","louyang",27; callsub Onc0,"Lutie","xmas",20; callsub Onc0,"Manuk","manuk",8; callsub Onc0,"Midgarts Expedition Camp","mid_camp",13; callsub Onc0,"Morroc","morocc",26; callsub Onc0,"Moscovia","moscovia",6; callsub Onc0,"Niflheim","niflheim",0; // 20 callsub Onc0,"Payon","payon",19; callsub Onc0,"Prontera","prontera",0; // 30 callsub Onc0,"Rachel","rachel",18; callsub Onc0,"Splendide","splendide",29; callsub Onc0,"Umbala","umbala",4; callsub Onc0,"Veins","veins",20; // Invaders: // getarg(0): Name. // getarg(1 .. 9): Mobs. // getarg(10 .. 12): Bosses. callsub Onc1,"Aqua",1068,1071,1228,1069,1044,1144,1045,1065,1264,2503,2504,2505; callsub Onc1,"Demon",1146,1109,1101,1149,1632,1773,1382,1292,1208,2536,2537,2538; callsub Onc1,"Dragon",1715,1718,1155,1380,1206,1385,1717,1714,1716,2524,2525,2526; callsub Onc1,"Earth",1784,1782,1165,1517,1615,1516,1378,1386,1602,2512,2513,2514; callsub Onc1,"Fire",1836,1367,1383,1072,1384,1381,1318,1837,1366,2500,2501,2502; callsub Onc1,"Ghost",1509,1179,1186,1143,1510,1192,1506,1375,1291,2527,2528,2529; callsub Onc1,"Ice",1243,1789,1776,1778,1323,1317,1775,1515,1319,2506,2507,2508; callsub Onc1,"Insect",1054,1100,1139,1279,1099,1625,1304,1194,1305,2518,2519,2520; callsub Onc1,"Kaos",1140,1508,1163,1276,1504,1132,1698,1505,1507,2539,2540,2541; callsub Onc1,"Machina",1151,1616,1745,1682,1270,1622,1202,1678,1673,2515,2516,2517; callsub Onc1,"Nature",1162,1118,1880,1500,1497,1410,1780,1884,1314,2509,2510,2511; callsub Onc1,"Takeshi",1026,1188,1404,1584,1609,1512,1416,1405,1401,2542,2543,2544; callsub Onc1,"Undead",1403,1169,1041,1196,1197,1117,1297,1866,1098,2533,2534,2535; callsub Onc1,"Venom",1621,1256,1037,1402,1209,1216,1207,1883,1148,2521,2522,2523; callsub Onc1,"Wind",1627,1156,1253,1263,1633,1692,1412,1774,1259,2530,2531,2532; // [--------------------------------------------------------] // [ End of configuration. ] // [========================================================] // Restore experience rates: if(checkcell("prontera",0,0,cell_water)) { setBattleFlag "base_exp_rate",getBattleFlag("base_exp_rate") - $TIbr; setBattleFlag "job_exp_rate",getBattleFlag("job_exp_rate") - $TIjr; set $TIbr,0; set $TIjr,0; setcell "prontera",0,0,0,0,cell_water,0; atcommand "@reloadmobdb"; } // Fix incorrect map cells: setcell "amatsu",314,267,314,314,0,0; setcell "yuno",205,219,205,218,0,0; while(1) { set .a,0; // Stage. set .b,0; // Class. set .c,0; // City. set .@t,gettimetick(2) / 60; if($TIt <= .@t) set $TIt,.@t + rand(.t1 * 60,.t2 * 60); do { if(($TIt - .@t) / (24 * 60)) sleep 24 * 60 * 60 * 1000; else sleep ($TIt - .@t) * 60 * 1000; set .@t,gettimetick(2) / 60; } while(.@t < $TIt); set .a,1; set $TIt,0; set .@t,0; donpcevent "invasor::OnTimer"; if(!. set .b,rand(1,getarraysize(.i)); set .b,.b - 1; if(!.c) set .c,rand(1,getarraysize(.n$)); set .c,.c - 1; set .mf1,getmapflag(.c2$[.b],1); set .mf4,getmapflag(.c2$[.b],4); setmapflag .c2$[.b],1; // noteleport setmapflag .c2$[.b],4; // nopenalty callsub Clrmsg; announce "S.O.S.!! "+.c1$[.b]+" is suffering from a terrible invasion.",bc_all,0xffaa00; while(.a > 0) { if(!.d) { set .d,4 - .a; killmonster .c2$[.b],"invasor::Onm9"; if(.a > 1) callsub Addmsg,"New invader armies comes into the city.","ffaa00",.c2$[.b]; monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + .a + 8)),4 - .a,"invasor::Onm9"; } set .@a,3; while(.@a) { set .@b,(.i[.b] * .r1 / 20) - mobcount(.c2$[.b],"invasor::Onm"+((.a * 3) - .@a)) + 10; if(.@b > 0) { if(.@b > .i[.b]) set .@b,.i[.b]; monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - .@a)),.@b,"invasor::Onm"+((.a * 3) - .@a); } set .@a,.@a - 1; } set .@b,0; sleep 30000; } set .d,0; set .@a,10; while(.@a) { set .@a,.@a - 1; killmonster .c2$[.b],"invasor::Onm"+.@a; } if(!.mf1) removemapflag .c2$[.b],1; if(!.mf4) removemapflag .c2$[.b],4; set .mf1,0; set .mf4,0; if(.a == -1) { callsub Addmsg,"Base and Job experience rates are increased by "+.r2+"%. ("+.t4+" min)","ffaa00"; setBattleFlag "base_exp_rate",getbattleflag("base_exp_rate") + set($TIbr,.r2); setBattleFlag "job_exp_rate",getbattleflag("job_exp_rate") + set($TIjr,.r3); setcell "prontera",0,0,0,0,cell_water,1; atcommand "@reloadmobdb"; sleep .t4 * 60 * 1000; setBattleFlag "base_exp_rate",getbattleflag("base_exp_rate") - .r2; setBattleFlag "job_exp_rate",getbattleflag("job_exp_rate") - .r3; set $TIbr,0; set $TIjr,0; setcell "prontera",0,0,0,0,cell_water,0; atcommand "@reloadmobdb"; announce "The experience rates has been restored.",bc_all,0xffaa00; } } end; Onc0: if(getarg(2) > 0) { set .c1$[.c],getarg(0); set .c2$[.c],getarg(1); set .i[.c],getarg(2); set .c,.c + 1; } return; Onc1: set .@a,getarraysize(.n$); set .n$[.@a],getarg(0); while(.@b < 12) { set getd(".m"+((.@a * 12) + .@),getarg(.@b + 1); set .@b,.@b + 1; } return; OnTimer: sleep .t3 * 60 * 1000; if(.a > 0) { set .a,0; awake "invasor"; callsub Clrmsg; callsub Addmsg,"The defences in "+.c1$[.b]+" have been defeated by the invader armies.","ffaa00"; callsub Addmsg,"Today will be remembered as a black day for the server.","ffaa00"; } end; Onm0: Onm1: Onm2: callsub Onms,1; Onm3: Onm4: Onm5: callsub Onms,2; Onm6: Onm7: Onm8: callsub Onms,3; Onms: if(playerattached() && .pcr1) if(!rand((5 - getarg(0)) * 2500 / .pcr1)) getitem .pci,1; end; Onm9: if(.a > 0) { set .d,.d - 1; if(.a != 3) { setarray .@a$[0],"Sbirro","Hero"; set .@b$,callsub(Grammar_a_an,.n$[.c])+" "+.@a$[.a - 1]; if(playerattached()) { set .@c$,strcharinfo(0)+" has killed a"+.@b$+"."; getitem .pci,(1 + .a) * 10 * .pcr2 / 100; } else set .@c$,"A"+.@b$+" has been killed."; callsub Addmsg,.@c$+" ("+(4 - .a - .d)+"/"+(4 - .a)+")","ffaa00",.c2$[.b]; if(!.d) set .a,.a + 1; } else { if(playerattached()) { set .@a$,strcharinfo(0)+" has killed the "+.n$[.c]+" Deux."; getitem .pci,60 * .pcr2 / 100; } else set .@a$,"The "+.n$[.c]+" Deux has been killed."; callsub Addmsg,.@a$,"ffaa00",.c2$[.b]; callsub Addmsg,"The invader armies in "+.c1$[.b]+" has been defeated.","ffaa00"; if(.t4 && .r2) set .a,-1; else set .a,0; awake "invasor"; } } end; OnPCLoginEvent: if(.a > 0) { sleep2 3000; if(.a > 0) announce "¡¡S.O.S.!! "+.c1$[.b]+" is suffering from a terrible invasion.",bc_self,0xffaa00; } else if(.a == -1) { sleep2 3000; if(.a == -1) announce "Base and Job experience rates are increased by "+.r2+"%.",bc_self,0xffaa00; } end; OnPCDieEvent: if((.a > 0) && (getsavepoint(0) == .c2$[.b])) save .s$,.sx,.sy; end; OnWhisperGlobal: if(getgmlevel() >= .gm) { set .@n$,"^008888The Invasor^000000"; mes .@n$; mes "This is the Control Panel of The Invasor system."; if(!.a) { mes "Currently there isn't any invasion in progress."; set .@t,$TIt - (gettimetick(2) / 60); if(!.@t) set .@t$,"a few seconds"; else if(.@t < 60) set .@t$,.@t+" minutes"; else { set .@t,.@t / 60; if(.@t < 24) set .@t$,.@t+" hours"; else set .@t$,(.@t / 24)+" days"; } mes "Next automatic invasion event will take place in "+.@t$+"."; next; set .@b,select("^880000Exit^000000","Start a new invasion.") - 1; mes .@n$; if(.@ { mes "Select a city."; next; set .@a,select("^880000Random^000000",.c1$[0],.c1$[1],.c1$[2],.c1$[3],.c1$[4],.c1$[5],.c1$[6],.c1$[7],.c1$[8],.c1$[9],.c1$[10],.c1$[11],.c1$[12],.c1$[13],.c1$[14],.c1$[15],.c1$[16],.c1$[17],.c1$[18],.c1$[19],.c1$[20],.c1$[21],.c1$[22],.c1$[23],.c1$[24],.c1$[25],.c1$[26],.c1$[27],.c1$[28],.c1$[29],.c1$[30],.c1$[31],.c1$[32],.c1$[33],.c1$[34],.c1$[35],.c1$[36],.c1$[37],.c1$[38],.c1$[39]) - 1; mes .@n$; mes "Select a class for the invasion."; next; set .@b,select("^880000Random^000000",.n$[0],.n$[1],.n$[2],.n$[3],.n$[4],.n$[5],.n$[6],.n$[7],.n$[8],.n$[9],.n$[10],.n$[11],.n$[12],.n$[13],.n$[14],.n$[15],.n$[16],.n$[17],.n$[18],.n$[19],.n$[20],.n$[21],.n$[22],.n$[23],.n$[24]) - 1; mes .@n$; if(.a) { mes "Right now, you can't start a new invasion event."; mes "Come back in a while."; close; } set $TIt,0; set .b,.@a; set .c,.@b; awake "invasor"; mes "A new invasion event has been started."; close; } } else if(.a > 0) { mes "Currently there is a"+callsub(Grammar_a_an,.n$[.c])+" invasion taking place in "+.c1$[.b]+"."; next; set .@b,select("^880000Exit^000000","Cancel the current invasion.") - 1; mes .@n$; if(.@ { if(.a < 1) { mes "Currently there isn't any invasion in progress."; close; } set .a,0; announce "The invasion in "+.c1$[.b]+" has been canceled.",bc_all,0xffaa00; mes "The invasion in "+.c1$[.b]+" has been canceled."; awake "invasor"; close; } } else { mes "Base and Job experience rates are increased by "+.r2+"% as a reward for the previous invasion."; next; set .@b,select("^880000Exit^000000","Restore the experience rates.") - 1; mes .@n$; if(.@ { if(.a != -1) { mes "Currently the experience rates aren't modified by The Invasor system."; close; } awake "invasor"; mes "The experience rates has been restored."; close; } } mes "See you soon."; close; } end; // Add a new message to the announcement list: // getarg(0): Message. // getarg(1): Color. // getarg(2): Map. (optional) Addmsg: set .@a,getarraysize($@inv_msg0$); if(.@a >= 10) { deletearray $@inv_msg0$[0],.@a - 9; set .@a,9; } set $@inv_msg0$[.@a],getarg(0); set $@inv_msg1$[.@a],getarg(1); set $@inv_msg2$[.@a],getarg(2,""); if(!.@a) donpcevent "inv_msg::On0"; return; // Clear the announcement list: Clrmsg: set .@a,getarraysize($@inv_msg0$); cleararray $@inv_msg0$[0],"",.@a; cleararray $@inv_msg1$[0],"",.@a; cleararray $@inv_msg2$[0],"",.@a; awake "inv_msg"; return; Grammar_a_an: set .@w$," "+getarg(0); setarray .@a$[0],"a","e","i","o","u","h"; set .@a,6; while(.@a && !.@ { set .@a,.@a - 1; set .@b,compare("_"+.@w$,"_ "+.@a$[.@a]); } if(.@ set .@w$,"n"+.@w$; return .@w$; } // Delayed announcements: // Announces a message from the announcement list every 3 seconds. - script inv_msg -1,{ On0: while(getarraysize($@inv_msg0$)) { if($@inv_msg2$[0] == "") announce $@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0]; else mapannounce $@inv_msg2$[0],$@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0]; if(getarraysize($@inv_msg0$)) sleep 3000; deletearray $@inv_msg0$[0],1; deletearray $@inv_msg1$[0],1; deletearray $@inv_msg2$[0],1; } end; } Thanks in advance
  5. what is the guild system?
  6. Hello, i want to request a PvP system with 3vs3 and 5vs5 mode. Explication: Based on PvP points (MMR), if you kill someone you get 10 points and if you die, you get 20. The more points you get will make you able to play in a higher league (Bronze, Silver, Gold), which means a Pvp room with more restrictions and harder every time, making the last one the hardest. Bronze = Allow all Silver = PvP without potions Gold = PvP without potions and party [solo Queue Mode, the system will match with a random party] Greetings !
×
×
  • Create New...