Jump to content

Kido

Members
  • Posts

    1445
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Kido

  1. im not sure, but for logic i think that first you will need 2 copies, of your grf, 1 encrypted and one NOT encrypted edit the non encrypted one, when you finish, save it, create a copy, and then encrypt it leaving the safe copy alone then make the actualization with your patcher to use the encrypted one hope i helped a bit :3
  2. No need to apologize so no worries :3 huh but what about platinum skills? hm may i add the desired skills to the skill_three.txt for the jobs that i want to make them old and the use that npc so they will keep the skills? i don't get it at all, i tought that something like this can be used to learn skills for a job that can not normally learn it https://code.google.com/p/eathena/source/browse/trunk/npc/other/gympass.txt?r=14063 ): so what about a special item? an item like a smokie card that will give a skill and while equiped the skill will remain only if that class keeps the item equiped?
  3. Well, i would love to have a npc like the Ripped Cabus, the one that teach players to learn enlarge weight limitd the npc go like this o: -It only works when you are a novice -The novice will have 3 selectable jobs to jobchange (i want to choose that jobs by just adding the ID on the script) -When the novice selects a job, the novice will change to that job and will get 30 skills (i want to choose those skills and at wich level they will get them on the script) those skills will be learned forever like the enlarge weight limit of the gym pass :3 (or like platinum skills too, or when you learn a skill while equiped a Smokie Card for example) Well that's basiclly all what i want to make the npc do. Im not too good at scripting but i can imagine that npc would look like this: gonryun,159,116,6 script TEST 935,50,50,{ mes "hello i can change you to a old job but with new skills, you can only choose 3"; menu "X job",x_job,"Y job",y_job,"Z job",z_job; x_job atcommand jobchange XjobID getskill SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn //etc... y_job atcommand jobchange XjobID getskill SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn //etc z_job atcommand jobchange XjobID getskill SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn SkillID,LevelThatThePlayerWillLearn //etc... mes "there you go adventurer, good luck with those monsters! take care pal"; close; thanks in advance, i really want this npc, my players will love it :3!
  4. oh i see, i thinked that by just adding them to the skill_three.txt was enought, what else shoild i add D:? also how to change their names/sprite D:! well im not sure about the sprite but i found that the swordsman, sage and acolyte sprites are repeated on the grf o:! there are two of them ±â»ç_³².act and ±â»ç_³².spr and then ±â»ç_h_³².act ±â»ç_h_³².spr o: same goes for acolyte and sage
  5. Dark Collector uses Sage on my case hehe question can i just add them to the skill three.txt so they will learns/have skills?
  6. Since i started my server i always wondered what does this jobs do: Gangsi, Dark Collector and Death Knight when i jobchange a normal acc. all of them does not have any skills so that makes me ask to myself some questions may you help me please? How to change the name of these jobs? How to make them learn skills? Where can i find its sprites? thanks to all in advance :3!
  7. huh i don't get it, you mean that i have to add to skill_db this line? 5,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0, SM_BASH,Bash change to 5,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0, NV_BASH,Bash
  8. I was just testing if i can make a novice (just for test purpose) learn the skill Bash acording to this topic http://www.eathena.ws/board/index.php?showtopic=121735 What Lighter said was that i have to open "\db\skill_tree.txt" and then edit there the skills that i want to make the job learn so, i made it, but it did not work the novie is having the same skills this is how i just aded //Novice 0,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 0,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# 0,143,1,0,0,0,0,0,0,0,0,0,0 //NV_TRICKDEAD#Act Dead# 0,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# 0,5,10,0,0,0,0,0,0,0,0,0,0 //SM_BASH#Bash# <<<<<<<This is the novice one //Swordman 1,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 1,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# 1,2,10,0,0,0,0,0,0,0,0,0,0 //SM_SWORD#Sword Mastery# 1,3,10,2,1,0,0,0,0,0,0,0,0 //SM_TWOHAND#Two-Handed Sword Mastery# 1,4,10,0,0,0,0,0,0,0,0,0,0 //SM_RECOVERY#Increase HP Recovery# 1,5,10,0,0,0,0,0,0,0,0,0,0 //SM_BASH#Bash# 1,6,10,0,0,0,0,0,0,0,0,0,0 //SM_PROVOKE#Provoke# 1,7,10,5,5,0,0,0,0,0,0,0,0 //SM_MAGNUM#Magnum Break# 1,8,10,6,5,0,0,0,0,0,0,0,0 //SM_ENDURE#Endure# 1,144,1,0,0,0,0,0,0,0,0,0,0 //SM_MOVINGRECOVERY#Moving HP-Recovery# 1,145,1,0,0,0,0,0,0,0,0,0,0 //SM_FATALBLOW#Attack Weak Point# 1,146,1,0,0,0,0,0,0,0,0,0,0 //SM_AUTOBERSERK#Auto Berserk# 1,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# so, how to make X job able to learn a Y skill? thanks in advance!
  9. thanks sir, i did not knew about that file :3
  10. I want to make some skills forbbiden like back sliding on woe but i do not know where to modify them i need to make some skills not able to cast in woe like body recollection, but not using mapflags or restricted, just editing them like back sliding so it will not work on woe o:
  11. I know sirm, i edited this line 292,Class Change,0:0:0:0:10:10:20:20:30:30 but it did not happen anythings, this is how i have it 292,Class Change,0:0:0:0:1250:1200:1750:2000:2250:2500 but it did not work ):
  12. ded link D:! @Euphy huh i don't get it, but sounds hard to do DDD:!
  13. That script sounds very cool for low rate servers o: i would like to have it for my high rate but, since y do not allow players to @warp dungeonds like biolab, thanaboss or thor, i would like to have it too just for those maps !
  14. thanks sir, that answers everything :3
  15. My players were trying to summon some mvps with hocus pocus at lvl 8 and they did not summoned any around 3 hours, i told them that the skill has that low chance, however since my server is a high rate one, they demand a higher probability to summon mvps. So i went to skill db and tryied to edit it did not work, i also tryied to copy the probability of monocell to hocus pocus but that did not work i even shutted down my server and turned on again but the changes did not take effect i know that this sound kinda easy to configurate but i just can not get over it x_x please i just need the line edited so they will summon mvp at the same chance as monocell appears when using hocus pocus thand in advance, my players and i are very gratefull for all the help that you guys give to us :3
  16. no worry i already edited them, thank you so much for the help it totally works!
  17. ah just asking how to increase the item reward on the bg script and how to change the level restriction for the 80-99 ones hehe
  18. thank you so much! just a question, how can i make it to give 2000 silver coins for each item of the array instead of one? thank you again! Edit: I do not why but for some IDs the npc is not giving silver coins ): jupe_ele,47,49,6 script Coin Trader 510,{ set .npcname$, "[Custom Trader]"; cutin "ep14_nyd04",2; mes .npcname$; mes "Hey i can exchange you some items for silver coins"; menu "Sure!",-,"No thanks", EXIT; next; mes "Allright, for each one you will get close to 2000 silver coins! "; next; mes "Lets start"; next; mes "Hmm"; setarray .@itemlist[0],26140,26141,26142,26143,26144,26145,26146,26147,26148,26149,26150,26151,26152,26173,26174,26175,26176,26177,26178,26179,26180,26181,26182,26183,26184,26194,26195,26196,26197,26198,26199,26822,26824,26171,26202,26798,26809,26817,26789,16527,16528,3174,20000,20001,26341,16533,3169,26416,26417,26418,26419,26420,26421,26422,26423,26424,26425,26426,26427,26792,26793,26794,26795,26796,26797,20072,26119,26121,26123,26446,26447,26448,26449,26450,26451,26452,27001,27003,27004,27005,27007,27008,27009,27010,27011,27012,27015,27017,27019,27020,27021,27025,27026,27027,27030,27033,27034,27037,27038,27039,27041,27043,27046,27048,27049,27050,27051,27052,27055,27056,27058,27062,27063,27064,27066,27069,27070,27071,27072,27074,27075,27076,27080,27082,27083,27084,27095,27096,27097,27099,27100,27109,27111,27112,27114,27115,27117,27118,27119,27124,27126,27127,27128,27130,27131,27132,27133,27135,27140,27143,27144,27145,27146,27147,27149,27150,27151,27154,27155,27157,27160,27161,27162,27163,7164,27165,27167,27168,27169; set .@reward, 0; for( set .@i,0; .@i < getarraysize(.@itemlist); set .@i,.@i + 1 ) { if(countitem(.@itemlist[.@i]) >= 1) set .@count, countitem(.@itemlist[.@i]); set .@reward, .@reward + .@count; } if (.@count > 0) { mes "Here you go!"; for( set .@i,0; .@i < getarraysize(.@itemlist); set .@i,.@i + 1 ) { set .@countdel, countitem(.@itemlist[.@i]); delitem .@itemlist[.@i], .@countdel; } getitem 675,.@reward*18; close2; cutin "",255; end; } else { goto NOITEM; } NOITEM: next; mes .npcname$; mes "aw you do not hace the correct items"; close2; cutin "",255; end; EXIT: next; mes .npcname$; mes "if you ever get more items just tell me n.n"; close2; cutin "",255; end; }
  19. i need a npc that can exchange any id of the array for a specific ammount of silver coins i tryied myself and got stucked like ... well, i was stucked too much time i need a npc like this the player talks to the npc the npc checks if the player has one or more item of the array ids if the player has 1 or more items of the array ids, the player may exchanges all of those items ids for an ammount of silver coins per item exchanged here is my lame script ): jupe_ele,47,49,6 script Coin Trader 123,{ mes "Would you like to exchange Customs for Silver Coins?"; menu "Sure!",-; next; mes "Allright, shall we continue?!"; menu "Ok",-; next; mes "Do you have all items?"; menu "I have them all",-; set .@items$,"26140,26141,26142,26143,26144,26145,26146,26147,26148,26149,26150,26151,26152,26173,26174,26175,26176,26177,26178,26179,26180,26181,26182,26183,26184,26194,26195,26196,26197,26198,26199,26822,26824,26171,26202,26798,26809,26817,26789,16527,16528,3174,20000,20001,26341,16533,3169,26416,26417,26418,26419,26420,26421,26422,26423,26424,26425,26426,26427,26792,26793,26794,26795,26796,26797,20072,26119,26121,26123,26446,26447,26448,26449,26450,26451,26452,27001,27003,27004,27005,27007,27008,27009,27010,27011,27012,27015,27017,27019,27020,27021,27025,27026,27027,27030,27033,27034,27037,27038,27039,27041,27043,27046,27048,27049,27050,27051,27052,27055,27056,27058,27062,27063,27064,27066,27069,27070,27071,27072,27074,27075,27076,27080,27082,27083,27084,27095,27096,27097,27099,27100,27109,27111,27112,27114,27115,27117,27118,27119,27124,27126,27127,27128,27130,27131,27132,27133,27135,27140,27143,27144,27145,27146,27147,27149,27150,27151,27154,27155,27157,27160,27161,27162,27163,7164,27165,27167,27168,2716"; if(countitem(.@items$) < 1) goto Lne; next; mes "Allright here you go!"; delitem .@items$,1*.@items$; getitem 675,2000*.@items$; close; Lne: mes "do not try to fool me, you do not have any items"; close; } please i need a working npc like that one pleasee thanks in adivance!
  20. wo thanks sir that totally helped and ended the error may i ask, how to change max lvl an rewards for the other npcs? thanks a lot!
  21. that is what i idid, u deleted the edited battleground and when i putted the original one those errores appeared D:! i did that too, i turned of the server and then turned on again and they are still the same ):
  22. I was trying to edit my battleground so less ppl can participate (i do not have many players) but i just can not, the thing won't work so i just ended deleting the battleground folder and adding the original one, the ona that is supposed to not have any errors however, when y turned off my server and turned on again, i got a bunch of this errors D:! here is my battlegrounds ): i got error for all kinds of battleground )): some players already leave because my server always has been bugged with the battleground thing )): help us please, i do not know what to do i based the modifications on this topic but it did not wokr ): http://rathena.org/board/topic/78550-configuracion-de-battleground/ thanks guys i hppe you guys can help me Edit: something weird i found, this npcs just got duplicated D:! flavius_enter.txt flavius01.txt flavius02.txt kvm_enter.txt kvm_item_pay.txt kvm01.txt kvm02.txt kvm03.txt tierra_enter.txt tierra01.txt tierra02.txt bg_common.txt
  23. This noc allows to 8 players to register in odin's side or freya's side, allowing them to team up and battle in a party of 4 vs 4. The problem is that the script bugs itself autofulling itself i do not know the mechanics of this script, thanks in advice, i just want to make it work, this is the script // ------------------------------------------------------------------------------------------ // ------ 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; } thanks again!
  24. Hello, i would love to add to my pvp script the next features PVP no heal: can not use any healing item PVP no custom: any custom item will be unequiped this is my script, i do not understand it at all /* [====================================================] SCRIPT: Battle, Ranking y Premiador. DISEÑADOR: TitanOz~ DESCRIPCION: NPC pvp, con ranking. Premiador por muertes ( Basado en el script de beck ) Anuncia al matar y al entrar. Restricciones de clases y nivel mínimo. PARA: Uso público. [====================================================] MEJORAS: 1.0 : NONE! 2.0 : - Agregado menú con consumibles. - Agregada opción de premiar en otros mapas. - Variable castigar. 2.5 : - Agregada opcion de quitar buff a elección. - Al listar ranking, se ve mas ordenado. Se lista de 5 posiciones. - Eliminado anuncio al cancelar el warp. - Anuncios de entrar a battle, se da solo en la ciudad del jugador que entró. - Se quitó la opción de premiar al que mate al jugador mas de 2 veces. - Script actualizado a EaMod. 2.6 : - Corregidos bugs menores. 3.0 : - Ranking SQL. - Opción de reinicializar ranking. Da pm a 'npc:RankRestart' con '-reset' - Optimización para quitar los buff. [====================================================] ADVERTENCIA: - CUALQUIER MODIFICACIÓN QUE SE REALIZE AL NPC QUE NO TENGA QUE VER CON LA CONFIGURACIÓN GENERAL, ES A SU PROPIO RIESGO. AGALO SI ESTÁ SEGURO DE LOS CAMBIOS QUE REALIZARÁ. [====================================================] */ - script BattleFunc -1,{ function BattMap; function BattleMap; OnInit: /* [ ============================ CONFIGURACIONES GENERALES ============================ ] */ // Para añadir más mapas, debes seguir el siguiente estructura. // BattleMap("<Nombre del mapa>","<Mapa>",<Usuarios permitidos>,<Restricción>,<Quitar Buff>); // <Restricción> : 0 = Todos , 1 = Baby Class , 2 = Second Class , 3 = Third Class , 4 o mas = Error. // <Quitar Buff> = 0 : Nada , 1 : All Spirits, 2 : Full Chemical Protection , 4 : Increase Agility y Blessing , 8 : Assumptio , 16 : Kyrie Eleison. // Suma los numeros para quitar varios, por ejemplo 7 : All Spirit, Full Chemical Protection, Increase Agility y Blessing // El maximo permitido para agregar mapas es de 120. Si se agregan más puede dar BUG. BattleMap("Room 1","guild_vs2",30,0,0); BattleMap("Room 2","bat_c03",30,0,0); BattleMap("Room 3","guild_vs1",30,0,0); BattleMap("Room 4","guild_vs4",30,0,0); BattleMap("1 VS 1","guild_vs5",2,0,0); // Para agregár otros mapas donde quieras que se ganen y/o pierdan puntos, debe serguir la siguiente estructura. // BattMap("<Mapa>"); BattMap("prtg_cas01"); BattMap("prtg_cas02"); BattMap("schg_cas01"); BattMap("schg_cas02"); BattMap("payg_cas04"); BattMap("prtg_cas04"); // Otras configuraciones. set $@LvlMin , 99 ; // Nivel minimo para entrar a pvp. set $@Size , 20 ; // Tamaño de ranking [ Maximo = 120 ] set $@nB$ , "Tairyu PvP" ; // Nombre Warper. set $@nR$ , "PvP Ranking" ; // Nombre Rank. set $@nP$ , "Kill Shop"; // Nombre Premiador. set $@Prem , 1 ; // Si se quiere premiar con puntos al matar a un jugador [ 1 = Si ] set $@Desc , 0 ; // Si se quiere descontar puntos [ 1 = Si ] // Premiador. setarray $@BattEquip[0],2280,10,5181,10,5172,50,5170,100,5058,100,5137,100,5374,100,5518,300;// Equipo que se ganan por algun precio en puntos. [ID1,Valor1,ID2,Valor2,ID3,Valor3...] setarray $@BattConsu[0],12085,1,3,12090,1,3,12095,1,3,12080,1,3,12075,1,3,12100,1,3,12028,1,3,12033,1,3,12032,1,3,12030,1,3,12029,1,3,12031,1,3,606,1,3,7072,20,1,7157,20,1,7156,20,1,7112,20,1,963,20,1,7024,1,20,675,5,1;// Consumible que se ganan y la cantidad que se da. [ID1,Cant1,Valor1,ID2,Cant2,Valor2,ID3,Cant3,Valor3...] /* [ =================================================================================== ] */ query_sql("CREATE TABLE IF NOT EXISTS `battle_npc` (`name_btl` varchar(30) NOT NULL default '' , `kill_btl` int(5) NOT NULL default '0' , `dead_btl` int(5) NOT NULL default '0' ) ENGINE=MyISAM;"); end; // Mapas. // getarg(0) : Nombre. // getarg(1) : Mapa. // getarg(2) : Usuarios permitidos. // getarg(3) : Restricciones. // getarg(4) : Buff. function BattleMap { set .a , .a + 1; set $@Battle$[ .a ] , getarg(0); set $@MapBat$[ .a ] , getarg(1); set $@UsuPerm[ .a ] , getarg(2); set $@Restric[ .a ] , getarg(3); set $@QuitBuf[ .a ] , getarg(4); return; } // Mapas. // getarg(0) : Mapa. function BattMap { set .b , .b + 1; set $@OtrMap$[ .b ] , getarg(0) ; return; } // Anuncios y puntos. OnPCKillEvent: set .@size, getarraysize($@MapBat$) ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 1 ) if ( strcharinfo(3) == $@MapBat$[ .@i ] ) { set @DeadCount , @DeadCount + 1 ; switch( @DeadCount ) { case 1: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Simple Kill!",bc_blue; break; case 2: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Double Kill!",bc_blue; break; case 3: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Triple Kill!",bc_blue; break; case 4: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Super Kill!",bc_blue; break; case 5: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Mega Kill!",bc_blue; break; case 6: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Ultra Kill!",bc_blue; break; case 7: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] Monster Kill!",bc_blue; break; default: mapannounce strcharinfo(3),"[ " + strcharinfo(0) + " ] God of Dead!",bc_blue; break; } if ( $@Prem == 1 ) { set #BattlePoints , #BattlePoints + 1 ; dispbottom "[ " + $@nB$ + " ] : Ganas 1 punto."; } set .@existe , query_sql("SELECT `kill_btl` FROM `battle_npc` WHERE `name_btl` = '" + strcharinfo(0) + "'" , .@a ); if ( .@existe ) { set .@a , .@a + 1 ; query_sql("UPDATE `battle_npc` SET `kill_btl` = " + .@a + " WHERE `name_btl` = '" + strcharinfo(0) + "';"); } else query_sql("INSERT INTO `battle_npc` (`name_btl`,`kill_btl`,`dead_btl`) VALUES ('" + strcharinfo(0) + "',1,0);"); end; } set .@size , getarraysize($@OtrMap$) ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 1 ) if ( strcharinfo(3) == $@OtrMap$[ .@i ] ) { if ( $@Prem == 1 ) { set #BattlePoints , #BattlePoints + 1 ; dispbottom "[ " + $@nB$ + " ] : Ganas 1 punto."; } end; } end; OnPCDieEvent: set .@size , getarraysize($@MapBat$) ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 1 ) if ( strcharinfo(3) == $@MapBat$[ .@i ] ) { set @DeadCount , 0; if ( $@Prem == 1 && $@Desc == 1 ) { set #BattlePoints , #BattlePoints - 1 ; if ( #BattlePoints < 0 ) set #BattlePoints , 0 ; dispbottom "[ " + $@nB$ + " ] : Pierdes 1 punto."; } set .@existe , query_sql("SELECT `dead_btl` FROM `battle_npc` WHERE `name_btl` = '" + strcharinfo(0) + "'" , .@a ); if ( .@existe ) { set .@a , .@a + 1 ; query_sql("UPDATE `battle_npc` SET `dead_btl` = " + .@a + " WHERE `name_btl` = '" + strcharinfo(0) + "';"); } else query_sql("INSERT INTO `battle_npc` (`name_btl`,`kill_btl`,`dead_btl`) VALUES ('" + strcharinfo(0) + "',0,1);"); end; } set .@size , getarraysize($@OtrMap$) ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 1 ) if ( strcharinfo(3) == $@OtrMap$[ .@i ] ) { if ( $@Prem == 1 && $@Desc == 1 ) { set #BattlePoints , #BattlePoints - 1 ; if ( #BattlePoints < 0 ) set #BattlePoints , 0 ; dispbottom "[ " + $@nB$ + " ] : Pierdes 1 punto."; } end; } end; } /* [ ======================= ] Reset Rank [ ======================= ] */ - script RankRestart -1,{ OnWhisperGlobal: if ( getgmlevel() > 80 ) if ( @whispervar0$ == "-reset" ) { query_sql("TRUNCATE TABLE `battle_npc`;"); dispbottom "Ranking reiniciado."; } else dispbottom "Ingresa '-reset' para reiniciar el ranking."; else dispbottom "No tienes cuenta de Administrador."; end; } /* [ ======================= ] Cartel Ranking [ ======================= ] */ prontera,147,166,5 script Ranking 837,{ mes "[^008888 " + $@nR$ + " ^000000]"; set .@j , 1 ; set .@a , query_sql("SELECT `name_btl`,`kill_btl`,`dead_btl` FROM `battle_npc` ORDER BY `kill_btl` DESC LIMIT 0," + $@Size , .@a$ , .@b , .@c ) ; if ( .@a < $@Size ) set .@size , .@a ; else set .@size , $@Size ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 1) { mes ( .@i + 1 ) + ".- ^1352AF" + .@a$[ .@i ] + "^000000 con ^1352AF" + .@b[ .@i ] + "^000000 muertes."; if ( .@i + 1 == 5 * .@j ) { next; mes "[^008888 " + $@nR$ + " ^000000]"; set .@j , .@j + 1 ; } } if ( .@a < $@Size ) mes "^FF0000No hay mas datos^000000"; if ( .@j == 1 || .@i % 5 != 0 ) { next; mes "[^008888 " + $@nR$ + " ^000000]"; } set .@existe , query_sql("SELECT `kill_btl`,`dead_btl` FROM `battle_npc` WHERE `name_btl` = '" + strcharinfo(0) + "'", .@a , .@b ) ; mes "Tus datos son:"; mes "Nombre : ^000088" + strcharinfo(0) + "^000000."; mes "Profeción : ^000088" + jobname(Class) + "^000000."; if ( !.@existe ) { set .@a , 0 ; set .@b , 0 ; } mes "Muertes : ^000088" + .@a + "^000000."; mes "Muerto : ^000088" + .@b + "^000000."; close; } /* [ ======================= ] Warper [ ======================= ] */ prontera,147,172,5 script Battle::Battle 420,{ function Restrict; function QuitarBuff; mes "[^008888 " + $@nB$ + " ^000000]"; cutin "ins_cata_pri_n",2; if ( BaseLevel < $@LvlMin ) { mes "No puedes entrar a " + $@nB$ + ", entrena un poco mas " + strcharinfo(0); close2; cutin "",255; end; } mes "Bienvenido " + strcharinfo(0) + ", a " + $@nB$; mes "¿Estas listo para demostrar quien eres en verdad?"; next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Selecciona a que sala quieres entrar."; set .@menu$ , "^880000Salir^000000"; set .@size , getarraysize($@Battle$) ; for ( set .@i , 1 ; .@i <= .@size ; set .@i , .@i + 1 ) set .@menu$ , .@menu$ + ":" + $@Battle$[ .@i ] + " ^0B2161[ " + getmapusers($@MapBat$[ .@i ]) + " / " + $@UsuPerm[ .@i ] + " ]^000000"; set .@z , select(.@menu$) - 1 ; next; mes "[^008888 " + $@nB$ + " ^000000]"; if ( .@z == 0 ) { mes "Sabia que no podrias, lo vi en tus ojos!"; close2; cutin "",255; } else if ( Restrict($@Restric[ .@z ]) == -1 ) { mes "^FF0000ERROR^000000, comuniqueselo a un administrador sobre el problema con las restricciones."; close2; cutin "",255; } else if ( Restrict($@Restric[ .@z ]) == 1 ) { mes "Siendo ^0B2161" + jobname(Class) + "^000000, no puedes ingresar al mapa, prueba con otro."; close2; cutin "",255; } else if ( getmapusers($@MapBat$[ .@z ]) >= $@UsuPerm[ .@z ] ) { mes "El mapa está lleno, intentalo mas tarde"; close2; cutin "",255; } else { mes "En ^0000FF" + $@Battle$[ .@z ] + "^000000 hay ^0000FF" + getmapusers($@MapBat$[ .@z ]) + "^000000 usuario" + ((getmapusers($@MapBat$[ .@z ]) != 1)?"s":"") + " en este momento."; mes "¿Seguro que quieres viajar?"; if ( select("Si:No") == 1 ) { mes " "; mes "Preparate, aqui vamos!"; close2; cutin "",255; sleep2 200; mapannounce strcharinfo(3),"El jugador [ " + strcharinfo(0) + " ] entro a " + $@nB$ + " " + $@Battle$[ .@z ] + ".",bc_blue; QuitarBuff($@QuitBuf[ .@z ]); warp $@MapBat$[ .@z ],0,0; } else { close2; cutin "",255; } } end; // Restricciones. // getarg(0) : Restricciones ( 0 = Todos , 1 = Baby Class , 2 = Second Class , 3 = Third Class ). function Restrict { switch ( getarg(0) ) { case 0: set .@res , 0 ; // Si. break; case 1: if ( Class >= 4023 && Class <=4043 || Class >= 4096 && Class <= 4108 ) // Solo Baby. set .@res , 0 ; // Si. else set .@res , 1 ; // No. break; case 2: if ( Class >= 4054 && Class <= 4087 || Class >= 4023 && Class <= 4043 || Class >= 4096 && Class <=4108 ) // Third y Baby. set .@res , 1 ; // No. else set .@res , 0 ; // Si. break; case 3: if ( Class >= 4054 && Class <= 4087 ) // Solo Third. set .@res , 0 ; // Si. else set .@res , 1 ; // No. break; default: set .@res , -1 ; // Error. } return .@res; } // Quitar Buffs. // getarg(0) : Buffs. function QuitarBuff { if ( getarg(0) == 0 ) return; else { set .@z , getarg(0) ; while ( .@z > 0 ) { if ( .@z <= 32 && .@z >= 16 ) { sc_end SC_ASSUMPTIO; set .@z , .@z - 16 ; } else if ( .@z <= 15 && .@z >= 8 ) { sc_end SC_KYRIE; set .@z , .@z - 8 ; } else if ( .@z <= 7 && .@z >= 4 ) { sc_end SC_INCREASEAGI; sc_end SC_BLESSING; set .@z , .@z - 4 ; } else if ( .@z == 3 || .@z == 2 ) { sc_end SC_CP_WEAPON; sc_end SC_CP_SHIELD; sc_end SC_CP_ARMOR; sc_end SC_CP_HELM; set .@z , .@z - 2 ; } else if ( .@z == 1 ) { sc_end SC_SPIRIT; set .@z , .@z - 1 ; } } } return; } end; } /* [ ======================= ] Premiador [ ======================= ] */ prontera,147,169,5 script Premios 123,{ mes "[^008888 " + $@nP$ + " ^000000]"; mes "Vaya que te haces de reputacion en " + $@nB$ + ". Por tu gran esfuerzo puedo darte premios por algunos puntos."; mes "¿Que te gustaria obtener?"; switch ( select("^000088Salir^000000:Ver Puntos:Canjear Equipo:Canjear Consumibles") ) { case 1: next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Que tengas un buen dia"; break; case 2: next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Tienes [ ^0B2161" + #BattlePoints + "^000000 ] Puntos. Recuerda seguir matando para ganar más."; break; case 3: next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Por favor, selecciona el objeto que deseas."; mes " "; mes "Objeto ^0B2161[<Valor>]^000000"; set .@size , getarraysize($@BattEquip) ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 2 ) if ( .@i < 1 ) set .@menu$ , getitemname($@BattEquip[ .@i ]) + " ^0B2161[" + $@BattEquip[ .@i + 1 ] + "]^000000"; else set .@menu$, .@menu$ + ":" + getitemname($@BattEquip[ .@i ]) + " ^0B2161[" + $@BattEquip[ .@i + 1 ] + "]^000000"; set .@a , select( .@menu$ ) - 1; set .@j , .@a * 2 ; next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "¿Seguro que quieres ^0B2161" + getitemname($@BattEquip[ .@j ]) + "^000000?"; mes "Este cuesta ^0B2161" + $@BattEquip[ .@j + 1 ] + "^000000 puntos"; if ( select("No:Si") == 1 ) { mes " "; mes "Vuelve cuando desees."; } else { if ( #BattlePoints < $@BattEquip[ .@j + 1 ] ) { mes " "; mes "No tienes " + $@BattEquip[ .@j + 1 ] + " puntos, vuelve cuando los tengas."; } else { next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Aqui tienes " + strcharinfo(0) + " Vuelve pronto."; set #BattlePoints , #BattlePoints - $@BattEquip[ .@j + 1 ]; getitem $@BattEquip[ .@j ] , 1 ; } } break; case 4: next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Por favor, selecciona el objeto que deseas."; mes " "; mes "<Cantidad> Objeto ^0B2161[<Valor>]^000000"; set .@size , getarraysize($@BattConsu) ; for ( set .@i , 0 ; .@i < .@size ; set .@i , .@i + 3 ) if ( .@i < 1 ) set .@menu$ , $@BattConsu[ .@i + 1 ] + " " + getitemname($@BattConsu[ .@i ]) + " ^0B2161[" + $@BattConsu[ .@i + 2 ] + "]^000000"; else set .@menu$, .@menu$ + ":" + $@BattConsu[ .@i + 1 ] + " " + getitemname($@BattConsu[ .@i ]) + " ^0B2161[" + $@BattConsu[ .@i + 2 ] + "]^000000"; set .@a , select( .@menu$ ) - 1; set .@j , .@a * 3 ; next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Ingresa cuantas unidades de ^0B2161" + $@BattConsu[ .@j + 1 ] + " " + getitemname($@BattConsu[ .@j ]) + "^000000 te llebaras."; mes "Cada unidad cuesta ^0B2161" + $@BattConsu[ .@j + 2 ] + "^000000 puntos."; mes " "; mes "^FF00000 para cancelar^000000"; input .@u; if ( .@u == 0 ) close; next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "¿Seguro que quieres " + .@u + " unidades de ^0B2161" + $@BattConsu[ .@j + 1 ] + " " + getitemname($@BattConsu[ .@j ]) + "^000000?" ; if ( select("No:Si") == 1 ) { mes " "; mes "Vuelve cuando desees."; } else { if ( #BattlePoints < ( $@BattConsu[ .@j + 2 ] * .@u ) ) { mes " "; mes "No tienes " + ( $@BattConsu[ .@j + 2 ] * .@u ) + " puntos, vuelve cuando los tengas."; } else { if ( checkweight($@BattConsu[ .@j ],( .@u * $@BattConsu[ .@j + 1 ] ) ) == 0 ) { mes " "; mes "No tienes suficiente peso para llevar ^0B2161" + ( .@u * $@BattConsu[ .@j + 1 ] ) + " " + $@BattConsu[ .@j ] + "^000000."; } else { next; mes "[^008888 " + $@nB$ + " ^000000]"; mes "Aqui tienes " + strcharinfo(0) + " Vuelve pronto."; set #BattlePoints , #BattlePoints - ( $@BattConsu[ .@j + 2 ] * .@u ) ; getitem $@BattConsu[ .@j ] , ( $@BattConsu[ .@j + 1 ] * .@u ) ; } } } break; } close; } /* [ ======================= ] Duplicados [ ======================= ] */ morocc,170,102,3 duplicate(Battle) Battle#01 412 geffen,125,104,3 duplicate(Battle) Battle#02 412 payon,162,230,5 duplicate(Battle) Battle#03 412 alberta,53,250,3 duplicate(Battle) Battle#04 412 izlude,136,91,3 duplicate(Battle) Battle#05 412 aldebaran,147,121,3 duplicate(Battle) Battle#06 412 comodo,193,168,3 duplicate(Battle) Battle#07 412 amatsu,203,97,3 duplicate(Battle) Battle#08 412 ayothaya,154,120,3 duplicate(Battle) Battle#09 412 brasilis,199,185,3 duplicate(Battle) Battle#10 412 dewata,205,186,3 duplicate(Battle) Battle#11 412 einbech,67,96,5 duplicate(Battle) Battle#12 412 einbroch,67,196,3 duplicate(Battle) Battle#13 412 gonryun,155,122,5 duplicate(Battle) Battle#14 412 hugel,102,150,3 duplicate(Battle) Battle#15 412 jawaii,199,243,3 duplicate(Battle) Battle#16 412 yuno,162,90,3 duplicate(Battle) Battle#17 412 lighthalzen,220,206,3 duplicate(Battle) Battle#18 412 louyang,222,120,3 duplicate(Battle) Battle#19 412 xmas,153,123,3 duplicate(Battle) Battle#20 412 malangdo,171,141,3 duplicate(Battle) Battle#21 412 manuk,270,143,3 duplicate(Battle) Battle#22 412 mid_camp,201,283,6 duplicate(Battle) Battle#23 412 mora,103,66,6 duplicate(Battle) Battle#24 412 moscovia,230,199,3 duplicate(Battle) Battle#25 412 niflheim,189,179,6 duplicate(Battle) Battle#26 412 rachel,121,106,6 duplicate(Battle) Battle#27 412 splendide,181,144,6 duplicate(Battle) Battle#28 412 umbala,118,143,5 duplicate(Battle) Battle#29 412 veins,190,228,6 duplicate(Battle) Battle#30 412 thanks i hope it is enought information !
  25. Provide detailed information so we may detect the problem and help you try to post the script, the last thing you changed and a picture or screen shot of the error
×
×
  • Create New...