Jump to content

Kido

Members
  • Posts

    1445
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Kido

  1. so basiclly the whole script is bugged? the script works fine except for the reward part ): well, better start looking for another one, thanks anyways !
  2. aw stills no working x_x this should be impossible ):?
  3. @Patskie that will delete the item D:! why not trying to make the script tell you "you can not carry more than 5." and then the script will just don't let you have more of that item D:?!
  4. thanks! already did it, check my edit !
  5. yeah i noticed too and i delete it but the problem persist ): //================================= //= Created by -SkittleNugget- //= Email : [email protected] //================================= //= Hourly Points Script. //================================= //= Version 1.2 //================================= //= Notes: //= 1.0 - Initial Working Script. //- 1.1 - Removed messages. //- 1.2 - Added Easy Changeable Options as Requested by "Lil Troll~" (rAthena) //================================= - script Hourly -1,{ OnInit: set .TimeInMinutes,5; //Check at 5 Minutes set .WhatRewardHour,1; //Reward at 1 Hour set .ItemIDReward,12103; //Reward ID, 5012 set .ItemRewardAmount,1; //Reward Amount end; OnPCLoginEvent: dispbottom "Premio por Hora Online inicia, no te pognas AFK."; while(1) //Must Leave it run constantly. { sleep2 60000*.TimeInMinutes; //5 Minutes == Will Check Players activity after this time in milliseconds. if ( checkidle() > 300) //Check if player has been active or not. { if ( checkvending() == 2 ) end; //Check if Auto Vending. while ( checkidle() > 1 ) //Pause count while player is inactive, also checks for activity. sleep2 1000; } else { set .@ActiveTime, .@ActiveTime + .TimeInMinutes; //Count Total Time Active Within the hour. if ( .@ActiveTime == .WhatRewardHour ) //Player has been active for .WhatRewardHour throughout the login time. { mes "Por jugar mas de una hora continua has ganado un premio!."; close2; getitem .ItemIDReward,.ItemRewardAmount; //When Player has been active for One Hour set .@ActiveTime,0; //Reset Time Active. } } } OnPCLogoutEvent: end; } i still dont know why D:! Edit: now working! i had to delete the existing .txt and create a new one without the "?" thing at the start and then worked, thank you so much!
  6. here is the picture if the error ): //================================= ?//= Created by -SkittleNugget- //= Email : [email protected] //================================= //= Hourly Points Script. //================================= //= Version 1.2 //================================= //= Notes: //= 1.0 - Initial Working Script. //- 1.1 - Removed messages. //- 1.2 - Added Easy Changeable Options as Requested by "Lil Troll~" (rAthena) //================================= - script Hour_Reward_Points -1,{ OnInit: set .TimeInMinutes,5; //Check at 5 Minutes set .WhatRewardHour,1; //Reward at 1 Hour set .ItemIDReward,12103; //Reward ID, 5012 set .ItemRewardAmount,1; //Reward Amount end; OnPCLoginEvent: dispbottom "Premio por Hora Online inicia, no te pognas AFK."; while(1) //Must Leave it run constantly. { sleep2 60000*.TimeInMinutes; //5 Minutes == Will Check Players activity after this time in milliseconds. if ( checkidle() > 300) //Check if player has been active or not. { if ( checkvending() == 2 ) end; //Check if Auto Vending. while ( checkidle() > 1 ) //Pause count while player is inactive, also checks for activity. sleep2 1000; } else { set .@ActiveTime, .@ActiveTime + .TimeInMinutes; //Count Total Time Active Within the hour. if ( .@ActiveTime == .WhatRewardHour ) //Player has been active for .WhatRewardHour throughout the login time. { mes "Por jugar mas de una hora continua has ganado un premio!."; close2; getitem .ItemIDReward,.ItemRewardAmount; //When Player has been active for One Hour set .@ActiveTime,0; //Reset Time Active. } } } OnPCLogoutEvent: end; } any idea D:?
  7. well i'm trying to make a pvp with no customs however the way i did it is not working i don't know why here if how i made the mapflag trunk/npc/mapflag/restricted.txt //===== rAthena Script ======================================= //= Mapflag: Restricted. //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Disables items configured in item_noequip.txt //= and skills configured in skill_nocast_db.txt. //===== Additional Comments: ================================= //= 1.0 Initial script. [Komurka] //= 1.1 Added WoE:SE Map restrictions. [L0ne_W0lf] //= 1.2 Added Endless Tower Restrictions. (bugreport:4707) [L0ne_W0lf] //= 1.3 Added Orc's Memory, Nidhoggur's Nest and towns restrictions. [Daegaladh] //= 1.4 Renewal split. [Euphy] //============================================================ //Aldebaran Turbo Track alde_tt02 mapflag restricted 1 turbo_n_1 mapflag restricted 1 turbo_n_4 mapflag restricted 1 turbo_n_8 mapflag restricted 1 turbo_n_16 mapflag restricted 1 turbo_e_4 mapflag restricted 1 turbo_e_8 mapflag restricted 1 turbo_e_16 mapflag restricted 1 //Jail sec_pri mapflag restricted 2 //Izlude Battle Arena force_1-1 mapflag restricted 3 force_2-1 mapflag restricted 3 force_3-1 mapflag restricted 3 force_4-1 mapflag restricted 3 force_5-1 mapflag restricted 3 force_1-2 mapflag restricted 3 force_1-3 mapflag restricted 3 prt_are_in mapflag restricted 3 //WoE:SE Maps schg_cas01 mapflag restricted 4 schg_cas02 mapflag restricted 4 schg_cas03 mapflag restricted 4 schg_cas04 mapflag restricted 4 schg_cas05 mapflag restricted 4 arug_cas01 mapflag restricted 4 arug_cas02 mapflag restricted 4 arug_cas03 mapflag restricted 4 arug_cas04 mapflag restricted 4 arug_cas05 mapflag restricted 4 //Sealed Shrine ================== 1@cata mapflag restricted 5 2@cata mapflag restricted 5 //Endless Tower ================== 1@tower mapflag restricted 6 2@tower mapflag restricted 6 3@tower mapflag restricted 6 4@tower mapflag restricted 6 5@tower mapflag restricted 6 6@tower mapflag restricted 6 //Orc's Memory =================== 1@orcs mapflag restricted 6 2@orcs mapflag restricted 6 // Nidhoggr's Instance =========== 1@nyd mapflag restricted 6 2@nyd mapflag restricted 6 //Towns alberta mapflag restricted 7 aldebaran mapflag restricted 7 amatsu mapflag restricted 7 ayothaya mapflag restricted 7 brasilis mapflag restricted 7 comodo mapflag restricted 7 einbroch mapflag restricted 7 einbech mapflag restricted 7 geffen mapflag restricted 7 gonryun mapflag restricted 7 izlude mapflag restricted 7 jawaii mapflag restricted 7 hugel mapflag restricted 7 lighthalzen mapflag restricted 7 louyang mapflag restricted 7 manuk mapflag restricted 7 mid_camp mapflag restricted 7 moc_ruins mapflag restricted 7 morocc mapflag restricted 7 moscovia mapflag restricted 7 niflheim mapflag restricted 7 prontera mapflag restricted 7 payon mapflag restricted 7 pay_arche mapflag restricted 7 rachel mapflag restricted 7 splendide mapflag restricted 7 umbala mapflag restricted 7 veins mapflag restricted 7 xmas mapflag restricted 7 yuno mapflag restricted 7 //no custom guild_vs1 mapflag restricted 32 prtg_cas03 mapflag restricted 32 there i want to make guild_vs1 and prtg_cas03 to NOT wear custom items then i went to, and made this trunk/db/pre-re/item_noequip.txt // The equipment/items/cards restriction file // here you define which items may not be used at PvP / GvG // format: <item id>,<mode> // mode // 1 - restricted in normal maps // 2 - restricted in PVP // 4 - restricted in GVG // 8 - restricted in Battlegrounds // Restricted zones - they're configured by 'restricted <number>' mapflag // 32 - restricted in zone 1 // 64 - restricted in zone 2 // 128 - restricted in zone 3 // 256 - restricted in zone 4 // 512 - restricted in zone 5 // 1024 - restricted in zone 6 // 2048 - restricted in zone 7 //Examples: //1201,1 you can't use KNIFE(ID 1201) on normal maps //608,4 you can't use Yggdrasil Seed(ID 608) on both GvG and WoE Castles //4174,6 Forbid Deviling Card in every PVP or GVG map, and during woes. //501,32 you can't use Red Potion on map marked as 'restricted zone 1' //502,64 you can't use Orange Potion on map marked as 'restricted zone 2' //503,128 you can't use Yellow Potion on map marked as 'restricted zone 3' // you can even mix modes //519,322 (256+64+2) you can't use Milk on PVP, and maps marked as 'restricted zone 2' and 'restricted zone 4' //PVP 14529,2 //Greed Scroll 607,2 //GVG 12218,4 //LV5 Assumptio Scroll 14529,4 //Greed Scroll 14590,4 //Party Assumptio 5 Scroll //BATTLEGROUND 12218,8 //LV5 Assumptio Scroll 14590,8 //Party Assumptio 5 Scroll 11500,8 11501,8 11502,8 //Zone 1 - Aldebaran Turbo Track 601,32 //Fly Wing 605,32 //Anodyne 506,32 //Green Potion 525,32 //Panacea //Zone 2 - Jail 601,64 //Fly Wing - not really needed here but ... 602,64 //Butterfly Wing - also not needed 12212,64 //Giant Fly Wing 14582,64 14583,64 14584,64 14585,64 //Zone 3 - Izlude Battle Arena 601,128 //Fly Wing //Zone 7 - Towns 14529,2048 //Greed Scroll //no custom 26335,32 26140,32 26141,32 26142,32 26143,32 26144,32 26145,32 26146,32 26147,32 26148,32 26149,32 26150,32 26151,32 26152,32 26173,32 26174,32 26175,32 26176,32 26177,32 26178,32 26179,32 26180,32 26181,32 26182,32 26183,32 26184,32 26194,32 26195,32 26196,32 26197,32 26198,32 26199,32 26822,32 26823,32 26824,32 26340,32 26171,32 31911,32 26202,32 26798,32 26804,32 26809,32 26810,32 26816,32 26817,32 26818,32 26819,32 26836,32 26811,32 26789,32 26334,32 26338,32 26339,32 26342,32 16506,32 16507,32 16508,32 16509,32 16510,32 16511,32 16512,32 16526,32 16527,32 16528,32 16529,32 3171,32 3174,32 3177,32 31801,32 31851,32 20007,32 19999,32 20000,32 20001,32 20003,32 20004,32 20005,32 26327,32 26341,32 16533,32 31697,32 26416,32 26417,32 26418,32 26419,32 26420,32 26421,32 26422,32 26423,32 26424,32 26425,32 26426,32 26427,32 26792,32 26793,32 26794,32 26795,32 26796,32 26797,32 20042,32 20072,32 20073,32 20043,32 26347,32 26352,32 26805,32 26332,32 3175,32 20045,32 31815,32 31905,32 20044,32 26329,32 26799,32 20046,32 26331,32 26119,32 26120,32 26121,32 26122,32 26123,32 26124,32 26125,32 26445,32 26446,32 26447,32 26448,32 26449,32 26450,32 26451,32 26452,32 26075,32 26336,32 25112,32 20029,32 20006,32 20100,32 20101,32 27000,32 27001,32 27002,32 27003,32 27004,32 27005,32 27006,32 27007,32 27008,32 27009,32 27010,32 27011,32 27012,32 27013,32 27014,32 27015,32 27016,32 27017,32 27018,32 27019,32 27020,32 27021,32 27022,32 27023,32 27024,32 27025,32 27026,32 27027,32 27028,32 27029,32 27030,32 27031,32 27032,32 27033,32 27034,32 27035,32 27036,32 27037,32 27038,32 27039,32 27040,32 27041,32 27042,32 27043,32 27044,32 27045,32 27046,32 27047,32 27048,32 27049,32 27050,32 27051,32 27052,32 27053,32 27054,32 27055,32 27056,32 27057,32 27058,32 27059,32 27060,32 27061,32 27062,32 27063,32 27064,32 27065,32 27066,32 27067,32 27068,32 27069,32 27070,32 27071,32 27072,32 27073,32 27074,32 27075,32 27076,32 27077,32 27078,32 27079,32 27080,32 27081,32 27082,32 27083,32 27084,32 27085,32 27086,32 27087,32 27088,32 27089,32 27090,32 27091,32 27092,32 27093,32 27094,32 27095,32 27096,32 27097,32 27098,32 27099,32 27100,32 27101,32 27102,32 27103,32 27104,32 27105,32 27106,32 27107,32 27108,32 27109,32 27110,32 27111,32 27112,32 27113,32 27114,32 27115,32 27116,32 27117,32 27118,32 27119,32 27120,32 27121,32 27122,32 27123,32 27124,32 27125,32 27126,32 27127,32 27128,32 27129,32 27130,32 27131,32 27132,32 27133,32 27134,32 27135,32 27136,32 27137,32 27138,32 27139,32 27140,32 27141,32 27142,32 27143,32 27144,32 27145,32 27146,32 27147,32 27148,32 27149,32 27150,32 27151,32 27152,32 27153,32 27154,32 27155,32 27156,32 27157,32 27158,32 27159,32 27160,32 27161,32 27162,32 27163,32 27164,32 27165,32 27166,32 27167,32 27168,32 27169,32 27170,32 my customs are these ones ID,32 hm what's wrong? i know this is so basic but the last time i forbided an item was kinda long time thanks in advance!
  8. I have this script but is not working ): // ------------------------------------------------------------------------------------------ // ------ rAthena Script Release // Title: Simple 4 versus 4 PVP Gateway // Author: jTynne - [email protected] // Modified by: Scene - [email protected] // Version: 0.1 (Beta) // ------------------------------------------------------------------------------------------ izlude,91,153,6 script Party Battle Recruiter 416,{ set .@n$,"[^FF0000Party Battle Recruiter^000000]"; set .@charid,getcharid(0); mes .@n$; mes "Would you like to register for a 4 versus 4 Party Battle?"; next; menu "Yes",-,"No",L_cancel; if(getmapusers("guild_vs3") > 0) { mes .@n$; mes "There appears to be a match currently in session. Check back momentarily."; close; end; } mes .@n$; mes "Which side of the arena would you like to join?"; next; menu "Odin ("+$pvp4nA+"/4)",L_odin,"Freya ("+$pvp4nB+"/4)",L_freya; L_odin: if(.@charid == $pvp4nAchar1 || .@charid == $pvp4nAchar2 || .@charid == $pvp4nAchar3 || .@charid == $pvp4nAchar4 || .@charid == $pvp4nBchar1 || .@charid == $pvp4nBchar2 || .@charid == $pvp4nBchar3 || .@charid == $pvp4nBchar4) { mes .@n$; mes "You may only register once per round."; close; end; } if($pvp4nA < 4) { set $pvp4nA,$pvp4nA+1; if($pvp4nA == 1) { set $pvp4nAchar1,getcharid(0); } if($pvp4nA == 2) { set $pvp4nAchar2,getcharid(0); } if($pvp4nA == 3) { set $pvp4nAchar3,getcharid(0); } if($pvp4nA == 4) { set $pvp4nAchar4,getcharid(0); } if($pvp4nA == 1 || $pvp4nB == 1) { if($pvp4timer == 0 ) { initnpctimer; set $pvp4timer,1; } } mes .@n$; mes "You've joined the selected team. Once the other team have filled up, you'll automatically be transferred into the Colosseum. If the other team do not fill up within the next 30 seconds, this session will be cleared."; npctalk strcharinfo(0)+" has entered the round on Odin's Side."; if($pvp4nA == 4 && $pvp4nB == 4) { stopnpctimer; goto L_begin;} close; end; } L_freya: if(.@charid == $pvp4nAchar1 || .@charid == $pvp4nAchar2 || .@charid == $pvp4nAchar3 || .@charid == $pvp4nAchar4 || .@charid == $pvp4nAchar5 || .@charid == $pvp4nAchar6 || .@charid == $pvp4nAchar7 || .@charid == $pvp4nBchar1 || .@charid == $pvp4nBchar2 || .@charid == $pvp4nBchar3 || .@charid == $pvp4nBchar4 || .@charid == $pvp4nBchar5 || .@charid == $pvp4nBchar6 || .@charid == $pvp4nBchar7) { mes .@n$; mes "You may only register once per round."; close; end; } if($pvp4nB < 4) { set $pvp4nB,$pvp4nB+1; if($pvp4nB == 1) { set $pvp4nBchar1,getcharid(0); } if($pvp4nB == 2) { set $pvp4nBchar2,getcharid(0); } if($pvp4nB == 3) { set $pvp4nBchar3,getcharid(0); } if($pvp4nB == 4) { set $pvp4nBchar4,getcharid(0); } if($pvp4nA == 1 || $pvp4nB == 1) { if($pvp4timer == 0 ) { initnpctimer; set $pvp4timer,1; } } mes .@n$; mes "You've joined the selected team. Once the other team have filled up, you'll automatically be transferred into the Colosseum. If the other team do not fill up within the next 30 seconds, this session will be cleared."; npctalk strcharinfo(0)+" has entered the round on Freya's Side."; if($pvp4nA == 4 && $pvp4nB == 4) { stopnpctimer; goto L_begin;} close; end; } goto L_full; L_full: mes .@n$; mes "Sorry, but this team is full. Try another team, please."; close; end; L_begin: npctalk "Both teams have been filled. All participants currently logged in will be transferred to the arena in ten seconds."; sleep2 10000; set .@x,0; L_warploop: while (.@x < 7) { if (.@x == 0) { warpchar "guild_vs3",18,50,$pvp4nAchar1; } else if (.@x == 1) { warpchar "guild_vs3",18,50,$pvp4nAchar2; } else if (.@x == 2) { warpchar "guild_vs3",18,50,$pvp4nAchar3; } else if (.@x == 3) { warpchar "guild_vs3",18,50,$pvp4nAchar4; } else if (.@x == 4) { warpchar "guild_vs3",83,50,$pvp4nBchar1; } else if (.@x == 5) { warpchar "guild_vs3",83,50,$pvp4nBchar2; } else if (.@x == 6) { warpchar "guild_vs3",83,50,$pvp4nBchar3; } else if (.@x == 7) { warpchar "guild_vs3",83,50,$pvp4nBchar4; } else { npctalk "A round is now in session."; goto L_clear;} set .@x, .@x + 1; } goto L_warploop; end; L_cancel: mes .@n$; mes "Do come back if you change your mind."; close; end; OnTimer10000: npctalk "Ten seconds have passed. Entry to the round ends in 20 seconds."; end; OnTimer20000: npctalk "Twenty seconds have passed. Entry to the round ends in 10 seconds."; end; OnTimer30000: npctalk "Thirty seconds have passed and thus I have canceled the round."; stopnpctimer; goto L_clear; L_clear: set $pvp4timer,0; set $pvp4nA,0; set $pvp4nB,0; set $pvp4nAchar1,0; set $pvp4nAchar2,0; set $pvp4nAchar3,0; set $pvp4nAchar4,0; set $pvp4nBchar1,0; set $pvp4nBchar2,0; set $pvp4nBchar3,0; set $pvp4nBchar4,0; end; } - script pvp4vs4#1 -1,{ OnPCDieEvent: getmapxy (.@map$, .@x, .@y, 0); if(.@map$ == "guild_vs3") { warp "SavePoint",0,0;} end; OnPCKillEvent: getmapxy (.@map$, .@x, .@y, 0); if( .@map$ == "guild_vs3") { set .@tempn1$,strcharinfo(0); set .@tempn2$,rid2name(killedrid); mapannounce "guild_vs3",""+.@tempn1$+" has killed "+.@tempn2$+".",1,0xD6A4E6;} end; } This is like a little battleground, it will make a party for the players who choose a side of the gods, then when that players are up to make a team, the npc teleports them to X map and then when one team finishes the other team, the wining team gains something my players are getting kinda bored for the normal pvp mode and well i tought this would be a cool npc since my BG are not working properly i tryied to fix it but i had no luck x_x i saved a clean copy of the original script and it's this one does anyone can guide me how to make it work ):? thanks in advance!
  9. yeah but i did not want the merchants oversell the coins, that's why i needed the npc hehe, thanks !
  10. thanks for the suggestion, but i would just add a different no_item so the npc may say something different if the player tryied to claim more zeny by giving more than 10,000 coins, like this: quiz_02,49,386,4 script Coin Buyer 790,{ set @sPrice,10000; set @coins,countitem(675); mes "Hello, i can trade your silver coins for 10k of zeny. Wanna deal?"; next; menu "Sure, lets get rich",Cfz,"No thanks.",nothx; Cfz: if(@coins)<1)goto no_item; input @amount; if(@amount > @coins)goto over_item; delitem 675,@amount; set Zeny,Zeny+(@amount*@sPrice); close; //added this when trying to give more than the maxium amount you want to trade no_item: mes "You dont have enough coins."; close; over_item: mes "You have too many coins, im not rich to give you that great amount of zeny..." close; nothx: mes "You are welcome anyway"; close; } Thanks again
  11. Well based on some scripts tha i found on google i made my own coin excanger and goues like this quiz_02,49,386,4 script Coin Buyer 790,{ set @sPrice,10000; mes "Hello, i can trade your silver coins for 10k of zeny. Wanna deal?"; next; menu "Sure, lets get rich",Cfz,"No thanks.",nothx; Cfz: if(countitem(675)<1)goto no_item; input @amount; delitem 675,1*@amount; set Zeny,Zeny+(@amount*@sPrice); close; no_item: mes "You dont have enough coins."; close; nothx: mes "You are welcome anyway"; close; } everything works fine, or it looks like it, BUT when a player types 100,000 the coiner gives 1B of zeny DDD:! so may i ask how to make the max value to input be 10,000 and no more D:?! thanks in advance edit: i tryied with input_max_value: 10000 but it did not work ): second edit: i fixed, the script ended like this, i just added the min and max value to the input instead, i got it from scripts_eathena.ttx quiz_02,49,386,4 script Coin Buyer 790,{ set @sPrice,10000; mes "Hello, i can trade your silver coins for 10k of zeny. Wanna deal?"; next; menu "Sure, lets get rich",Cfz,"No thanks.",nothx; Cfz: if(countitem(675)<1)goto no_item; input @amount,0,10000; delitem 675,1*@amount; set Zeny,Zeny+(@amount*@sPrice); close; no_item: mes "You dont have enough coins."; close; nothx: mes "You are welcome anyway"; close; } Now this is how it will work iIf player deals: 1 Silver = 10,000z 10 Silver = 100,000z 100 Silver = 1,000,000z 1,000 Silver = 10,000,000z 10,000 Silver = 100,000,000z >10,000 Will take only 10,000 coins and give the proper amount (100,000,000z) of zeny. Even no one readed/see this before i fix it, i will say thanks anyways !
  12. // Eypheria RO // Manipulado por LinoBH // Este NPC esta siendo usado en Eypheria RO Server // Web del Server: http://forostotalro.awardspace.com prontera,164,161,4 script WoE-King 108,{ doevent "WOE_CONTROL::OnMenu"; end; OnAgitStart: while(agitcheck()) { misceffect 990; sleep 425; } end; } - script WOE_CONTROL -1,{ function Disp_Owner; function Add_Zero; OnInit: // -------------------------------------------------------------------------------------------------------------------------- set .CastleWarp,0; // 1: Always enable all castle warps. | 0: Warp only to active castles. set .AutoKick,1; // Automatically kick players from inactive castles during WOE? (1:yes / 0:no) set .ExitWarp,1; // Warp all players from castles when WOE ends? (1:yes / 0:no) set .GMAccess,99; // GM level required to access Session Manager (cannot be 0) setarray .Reward[1],675,1000; // Reward for all members of conquering guilds, per castle: <ID>,<Count>{,...} (0 to disable) // -------------------------------------------------------------------------------------------------------------------------- set .Size, getarraysize($WOE_CONTROL); setarray .Castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; setarray .EndLabel$[0],"aru01","aru02","aru03","aru04","aru05","sch01","sch02","sch03","sch04","sch05"; setarray .Days$[0],"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"; setarray .Regions$[0],"Prontera","Payon","Geffen","Aldebaran","Arunafeltz","Schwaltzvalt"; setarray .Map$[0],"prt_gld","pay_gld","gef_fild13","alde_gld","aru_gld","sch_gld"; setarray .MapX[0],134,240,153,111,208,121,295,317,140,204,214,308,143,193,305,48, 95,142,239,264,158,83, 68,299,292,293,288, 97,137, 71; setarray .MapY[0], 65,128,137,240,240,233,116,293,160,266, 75,240,240,278, 87,83,249, 85,242, 90,272,47,155,345,107,100,252,196, 90,315; if (!agitcheck() && !agitcheck2()) sleep 4000; set .Init,1; OnMinute00: if (agitcheck() || agitcheck2()) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)==$WOE_CONTROL[.@i+2]) { OnWOEEnd: announce "The War Of Emperium is over!",bc_all|bc_woe; AgitEnd; AgitEnd2; sleep 1000; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1); else if (.AutoKick) removemapflag .Castles$[.@j], mf_loadevent; if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; } if (.Reward[0] && .Active[0] && .ForceEnd != 2) callsub OnReward, .Active[0]; deletearray .Active[0],2; if (.ForceEnd) { set .ForceEnd,0; end; } break; } } sleep 5; if ((!agitcheck() && !agitcheck2()) || .Init) { if (!agitcheck() && !agitcheck2()) set .Init,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)>=$WOE_CONTROL[.@i+1] && gettime(3)<$WOE_CONTROL[.@i+2]) { deletearray .Active[0],2; set .Active[0], $WOE_CONTROL[.@i+3]; if (.Init) { AgitEnd; AgitEnd2; } else announce "The War Of Emperium has begun!",bc_all|bc_woe; sleep 1000; AgitStart; AgitStart2; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) { if (!.Init) Disp_Owner(.Castles$[.@j],0); set .Active[1], .Active[1] | (1<<((.@j/5)+1)); } else { if (.AutoKick) setmapflag .Castles$[.@j], mf_loadevent; if (.@j<20) { donpcevent "Agit#"+.Castles$[.@j]+"::OnAgitEnd"; killmonster .Castles$[.@j], "Agit#"+.Castles$[.@j]+"::OnAgitBreak"; } else { donpcevent "Manager#"+.Castles$[.@j]+"_02::OnAgitEnd2"; killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; } } } break; } } set .Init,0; end; function Disp_Owner { set .@o, getcastledata(getarg(0),1); if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe; else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe; return; } function Add_Zero { return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00"; } OnReward: for(set .@i,0; .@i<30; set .@i,.@i+1) if (getarg(0)&(1<<.@i)) { set .@guild, getcastledata(.Castles$[.@i],1); if (.@guild) { deletearray .@acc[0], getarraysize(.@acc); deletearray .@char[0], getarraysize(.@char); query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@guild+"'", .@acc, .@char); for(set .@j,0; .@j<getarraysize(.@acc); set .@j,.@j+1) if (isloggedin(.@acc[.@j],.@char[.@j])) { for(set .@k,0; .@k<getarraysize(.Reward); set .@k,.@k+2) getitem .Reward[.@k], .Reward[.@k+1], .@acc[.@j]; message rid2name(.@acc[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; } sleep 1; } } return; OnPCLoadMapEvent: if (!compare(strcharinfo(3),"g_cas")) end; sleep2 1000; message strcharinfo(0), getcastlename(strcharinfo(3))+" is inactive during this WOE session."; sleep2 5000; if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0; end; OnMenu: while(1) { mes "[WOE Information]"; if (agitcheck() || agitcheck2()) { if (!.Size) mes "The War of Emperium is ^0055FFactive^000000."; else { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)>=$WOE_CONTROL[.@i+1] && gettime(3)<$WOE_CONTROL[.@i+2]) { set .@i, $WOE_CONTROL[.@i+2]; break; } mes "The War of Emperium is ^0055FFactive^000000 until ^FF0000"+Add_Zero(.@i)+"^000000 in the following regions:"; mes " "; for(set .@i,0; .@i<6; set .@i,.@i+1) if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; } } else { set .@j,0; set .@k,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((gettime(4)==$WOE_CONTROL[.@i] && gettime(3)<=$WOE_CONTROL[.@i+1]) || gettime(4)<$WOE_CONTROL[.@i]) { set .@j, $WOE_CONTROL[.@i]; set .@k, $WOE_CONTROL[.@i+1]; break; } if (!.@j && !.@k) { set .@j, $WOE_CONTROL[0]; set .@k, $WOE_CONTROL[1]; } mes "The War of Emperium is ^777777inactive^000000."; if (.Size) { mes " "; mes "The next session will begin"; mes "on ^0055FF"+.Days$[.@j]+"^000000 at "+Add_Zero(.@k)+"^000000."; } } next; switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) { case 1: set .@menu$,""; for(set .@i,0; .@i<6; set .@i,.@i+1) { if (.CastleWarp || .Active[1]&(1<<(.@i+1))) set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?"^0055FF":"^777777")+.Regions$[.@i]+" Castles^000000"; set .@menu$, .@menu$+":"; } set .@i, select(.@menu$)-1; set .@menu$,""; for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) { if (.CastleWarp || .Active[0]&(1<<.@j)) set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?"^0055FF":"^777777")+getcastlename(.Castles$[.@j])+"^000000"; set .@menu$, .@menu$+":"; } set .@j, select(.@menu$)-1; warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j]; close; case 2: mes "[Schedule]"; if (.Size) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) { mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000"; for(set .@j,0; .@j<30; set .@j,.@j+1) if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes " ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000"; if (.@i+4<.Size) mes " "; sleep2 1; } } else mes "No times are configured."; next; break; case 3: mes "[Castle Ownership]"; for(set .@i,0; .@i<6; set .@i,.@i+1) { set .@k, .@i*5; mes "> ^FF0000"+.Regions$[.@i]+"^000000"; for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { set .@t, getcastledata(.Castles$[.@j],1); mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; } if (.@i<5) mes " "; } next; break; case 4: while(1) { mes "[Session Manager]"; mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured."; mes "What would you like to do?"; next; switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) { case 1: mes "[New Session]"; if (.Size > 127) { mes "You have already reached the maximum of 32 sessions."; next; break; } mes "Select a day."; next; set .@menu$,""; for(set .@i,0; .@i<7; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+.Days$[.@i]+":"; set .@Day, select(.@menu$)-1; mes "[New Session]"; mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,0; .@i<23; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@Start, select(.@menu$)-1; mes "[New Session]"; mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@End, select(.@menu$)+.@Start; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (.@Day==$WOE_CONTROL[.@i] && ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) || (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) || (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) { mes "[New Session]"; mes "The chosen times overlap with an existing session."; next; set .@d,1; break; } if (.@d) { set .@d,0; break; } set .@Castle,0; while(1) { mes "[New Session]"; mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000"; mes " > Castles:"; if (!.@Castle) mes " ~ ^777777(none selected)^000000"; else for(set .@i,0; .@i<30; set .@i,.@i+1) if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")"; next; set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":"; for(set .@i,0; .@i<30; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:"; set .@i, select(.@menu$)-1; if (.@i) set .@Castle, .@Castle^(1<<(.@i-1)); else { mes "[New Session]"; mes "Are you sure?"; next; switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) { case 1: for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((.@Day==$WOE_CONTROL[.@i] && .@End<=$WOE_CONTROL[.@i+1]) || .@Day<$WOE_CONTROL[.@i]) { set .@d,1; break; } if (!.@d) { set .@d,1; set .@i,.Size; } copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i; setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle; set .Size, getarraysize($WOE_CONTROL); case 3: mes "[New Session]"; mes ((.@d)?"Session added.":"Cancelled."); next; set .@d,1; case 2: break; } if (.@d) { set .@d,0; break; } } } break; case 2: mes "[Remove Session]"; if (!.Size) { mes "There are no sessions configured."; next; break; } mes "Select a session to remove."; next; set .@menu$,""; for(set .@i,0; .@i<.Size; set .@i,.@i+4) set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; set .@i, select(.@menu$)-1; if (.@i==(.Size/4)) break; mes "[Remove Session]"; mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?"; mes "This action cannot be undone."; next; set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000"); mes "[Remove Session]"; if (.@j==2) mes "Cancelled."; else { deletearray $WOE_CONTROL[.@i*4],4; set .Size, getarraysize($WOE_CONTROL); mes "Session deleted."; } next; break; case 3: mes "[Reload Settings]"; mes "This will trigger all events related to new session configurations, if any."; if (agitcheck() || agitcheck2()) { mes " "; mes "Be aware that this will disrupt the current WOE session."; } next; set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000"); mes "[Reload Settings]"; if (.@i==2) mes "Cancelled."; else { set .Init,1; donpcevent "WOE_CONTROL::OnMinute00"; mes "Variables have been re-initialized."; } next; break; case 4: mes "[Force Agit End]"; if (!agitcheck() && !agitcheck2()) { mes "WOE has already ended."; next; break; } mes "This command will safely execute all AgitEnd events."; mes " "; mes "Kill the current WOE session?"; next; set .@i, select(" ~ ^FF0000End session...^000000:"+((.Reward[0])?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000"); mes "[Force Agit End]"; if (.@i==3) mes "Cancelled."; else { set .ForceEnd, .@i; donpcevent "WOE_CONTROL::OnWOEEnd"; mes "WOE session terminated."; } next; break; case 5: set .@d,1; break; } if (.@d) { set .@d,0; break; } } break; case 5: close; } } } payon.gat,162,221,4 duplicate(WoE-King) WoE-King#payon1 108 niflheim,186,187,4 duplicate(WoE-King) WoE-King#payon1 108 i found that woe controller on google and it is suposed to give a prize for every player on guild at the end of woe but it is not giving any prize. Is something wrong with the script? i can not see it ):
  13. i think that will be, i just came to think, my friends that can't see the page are from mexico and i'm too from mexico, maybe that will be why D:! because other players and friend whore from other countries can see the page, thanks emistry i will ask them to unblick us
  14. i just bought a hosting service for 3 years thanks to may donators but, some of my friends can see the page and others can not, i can not see the page, i don't know if it's forbbiden or not, but i will say that it was a web page from ipage and my web is http://tairyu-ro.net/ does anyone one why that happens? it's abouy 3 days that i bough the thing and i jsut can't see it ): ):?
  15. already did it and im not getting any error but the jobs does not get the skill ):
  16. Well, Sou Destroyer is bypassing Pneuma but i want it to make it not bypass Pneuma because at the end Soul Destroyer is a ranged attack and should not bypass pneuma, also my players and i want need it, because it is dealing a lot of damage and there is no way to totally protect agains it. i know the modification should be around db, maybe skill_db.txt but im not like to touching it because i have the hability to bug everything i touch x_x help please to change soul destroyer bac to normal ):
  17. ow nope it is still not working, do i have to reboot my server sir?
  18. sorry to bother again, but it did not work sir ):
  19. it is not working D:! i job does not get the skills ):
  20. aw thanks for the repply :3 so the script would go like this? function script loginjob { OnPCLoginEvent: if ( BaseClass == Job_X ) { skill "TF_HIDING"",1; } end: } else if ( BaseClass == Job_Y ) { skill "AL_HEAL",1; } end; } else if ( BaseClass == Job_Z ) { skill "MG_SIGHT",1; } end; } } o:!
  21. huh no one? just asking, if not i will stop multi post ): maybe the script can go like this? function script bonus_parametr1 { OnPCLoginEvent: if(BaseJob==Job_X) { skill "TF_HIDING",1; end; } else if(BaseJob==Job_Y) { skill "MG_SIGHT",1; end; } else if(BaseJob==Job_Z) { skill "AL_HEAL",1; end; } } ¿? help there please
  22. I woul like to request a script that triggers an effect when a job logs on the server, the effect will be that that job will have a new skill, like when equiped with a smokie card, and when the job logs out then the skills vanish. I would like to make this for 3 jobs, thanks in adnvanced!
  23. what about to create a function that gives those skills to the job? function script jobXYZskillsIDs { //here goes the script that makes the job learns skill when the novice jobchange to that job if(BaseJob==Job_Job_X_Example||BaseJob==Job_Y_Example) { skill "TF_HIDING",1; end; } if(BaseClass==Job_Z_Example||BaseClass==Job_A_Example) { skill "SM_BASH",10; end; } } I got a better idea, i was waiting to be able to @bump why not create a script that will trigger when X job logs on the server and then the script just adds the skills to the job, and when the job logs out the skills added by this script wearsoff?
  24. huh is there any existing guide to do that? i have the feeling that it will be hard to do just by reading that i will have to touch the luas x_X
×
×
  • Create New...