Leaderboard
Popular Content
Showing content with the highest reputation on 01/06/13 in all areas
-
2 points
-
Coupon NPC I had the idea from here: http://rathena.org/b...ional-code-npc/ I decided to make my own script. How does this works ? The admin speaks to the npc and he/she can add a new coupon. The code will be generated randomly and automatic and everything will be saved in database. You can set the code length in script. You only need to enter the item id and the amount. If a player speaks to the npc he/she can submit a coupon and get the stuff. The code will be deleted from database after it was used. Notice: Coupon Codes are limited to 128 (array limit) Files coupon_system.txt coupon_npc_1.1.0.txt coupon_npc_1.1.1.txt coupon_npc_1.1.2.txt Changelogs 1.0.0 Release 1.1.0 Added code type feature (normal|md5-hash) 1.1.0 Added prevention for typing 0 into Item ID or Amount 1.1.0 Added a feature for gms to see available coupons 1.1.0 Minor bug fixes 1.1.1 Fixed a bug that caused duplicating items 1.1.2 Added announce if player got a item Features Saves coupons in database randomly generated codes very easy to use How can you help me ? Give me feedback Report bugs Tell me if you like it tr0n1 point
-
File Name: Old Payon / Morocc 1.0 File Submitter: jTynne File Submitted: 07 Dec 2011 File Category: Maps & Textures From iRO's data, the old Payon and Morocc map files, with mini-maps included. Click here to download this file1 point
-
File Name: [skill] Coup de Grace File Submitter: goddameit File Submitted: 08 Dec 2012 File Category: Source Modifications Content Author: Goddameit When you use this, it will give you 100% critical. Preview : skill_db set : 998,0,6,4,0,0x3,-1,5,1,yes,0,0,0,magic,0, DOTA_COUPDEGRACE,Coup de Grace skill_require_db set : 998,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 skill_cast_db set : 998,0,0,0,5000,0,30000,0 Add new skill (Clinet) : http://rathena.org/wiki/Adding_new_skills#XRay_support http://rathena.org/wiki/Adding_new_skills#Renewal.2FNon-Xray_Support Click here to download this file1 point
-
info : http://rathena.org/b...end-only-added/ [media=] [/media] download : http://pastebin.com/....php?i=FiEWLR3x - MODIFY VERSION :1 point
-
Okay replace if(@Broadcast> gettimetick(2)) { next; mes @header$; mes "Service will be available in 3 minutes."; close; OnTimer60000: mes "Service will be available in 2 minutes."; close; OnTimer120000: mes "Service will be available in 1 minute."; close; OnTimer180000: mes "Broadcasting Service Is Now Available."; close; } by if ( @Broadcast > gettimetick(2) ) { next; mes @header$; for ( set .@i, 3; .@i > 0; set .@i, .@i - 1 ) if ( @Broadcast > gettimetick(2) + (.@i-1)*60 ) { mes "Service will be available in "+ .@i +" minute"+ ((.@i-1)?"s":"")+ "."; break; } close; } Well just remove OnMinute50: // Change this to your liking and your event won't start automatically !1 point
-
Have you tried to use the -spacebar- to adjust the gat height to the terrain level? Probably the gats are just hidden behind the terrain.1 point
-
your missing this Texture , Drop into Data/Texture/À¯ÀúÀÎÅÍÆäÀ̽º/Login_interface win_make2.bmp1 point
-
1 point
-
1 point
-
1 point
-
Add it after OnMinute50 If you don't configure mob, item (gained) or mvp and auto event start, your event wouldn't work. These numbers prevent an error in the mapserv, it's just a trick lol 601 = fly wing 1001 = scorpion 1002 = poring1 point
-
After line 250, add this: atcommand "@mapflag nomobloot 1"; atcommand "@mapflag nomvploot 1"; After line 379, add this: atcommand "@mapflag nomobloot 0"; atcommand "@mapflag nomvploot 0"; ^This will effectively remove and readd the 'noloot' mapflag from an instanced map. Lol, came up with the cleanest answer to an 11 month old question X.x1 point
-
Really ?! lol Well Okay. Delete this in onstart Label (map random) : sleep2 1000; set .@ran, rand(1,6); if (.@ran == 6) set .Map$,"splendide"; if (.@ran == 5) set .Map$,"izlude"; if (.@ran == 4) set .Map$,"payon"; if (.@ran == 3) set .Map$,"geffen"; if (.@ran == 2) set .Map$,"morocc"; if (.@ran == 1) set .Map$,"prontera"; Then replace switch GM menu by this switch - we add 'Select Map Event'. switch(select("Item [" + getitemname(.ItemID) + "]:Monster [" + strmobinfo(1,.MobID) + "]:MVP [" + strmobinfo(1,.MvpID) + "]:Start Event:Select Map Event")) { case 1: mes "Which item would you like the MVP to drop?"; mes "Please input the item ID:"; input .ItemID; goto Main; case 2: mes "Please input the monster ID:"; input .MobID; goto Main; case 3: mes "Please input the MVP ID:"; input .MvpID; goto Main; case 4: mes "Starting the event now..."; close2; if( .Map$ == "" ) set .Map$,"splendide"; goto onstart; case 5: for ( set .@i, 1; .@i < getarraysize(.@mp$); set .@i, .@i + 1 ) set .@menuE$, .@menuE$ + .@mp$[.@i] + ":"; set .Map$, .@mp$[select( .@menuE$ )]; mes "Map Event : "+.Map$; goto Main; } and add this at the begining of the NPC. We can now choose these map in GM menu. set .gm,50;//GM Level to access the GM Menu. Default: 50 setarray .@mp$[1], "splendide", "izlude", "payon", "geffen", "morocc", "prontera"; Edit : I forgot to add this ! OnMinute50: // Change this to your liking if( .Map$ == "" ) set .Map$, .@mp$[ rand(1, getarraysize(.@mp$)) ]; if( !.ItemID ) set .ItemID, 601; if( !.MobID ) set .MobID, 1001; if( !.MvpID ) set .MvpID, 1002;1 point
-
try this not tested mes "Enter the name of the character you want to check the "ABCDEFG" variable:"; input .@tmp$; set .@taid,getcharid(3,.@tmp$); if(!.@taid){ mes "Char is offline or not exist"; close; } set .@said,getcharid(3); attachrid(.@taid); set .@tvalue,ABCDEFG; attachrid(.@said); mes "VARIABLE "ABCDEFG" OF "+.@tmp$+"is"+.@tvalue; close;1 point
-
getmonstername() / getmobname() These script command don't exist. You can try strmobinfo(1,<ID>) to display monster's name. monster .Map$,0,0," + getmobname(.MobID) + "," + .MobID + ",250,"Event Invasion::OnMyMobDead"; Wrong synthaxe. " + .MobID + " must be a number, not a string. There is a Label OnTimer but not an initnpctimer Well there are many thing that you forget (if it's your script), here a fast fix ! jupe_ele,36,53,6 script Event Invasion 105,{ set .gm,50;//GM Level to access the GM Menu. Default: 50 // GM menu //It allows GMs Level 50 or more to Start and Stop invasions. if (getgmlevel()>.gm) { if (.mobs_left) { mes "[Event Goblin Invasion]"; mes "An invasion is in progress.."; mes "Location: " + .Map$; mes "^FF0000"+.mobs_left+"^000000 Goblins left"; mes " "; mes "Stop invasion?"; if(select("No:Yes")==1) close; donpcevent "Event Invasion::OnStop"; mes "Invasion stopped"; announce "The Invasion has been stopped by "+strcharinfo(0),bc_all; close; } mes "[Event Invasion]"; mes "Please customize the Invasion event before starting it."; mes "Note - The Goblin Leader drops x5 of the prize."; Main: next; mes "[Event Invasion]"; switch(select("Item [" + getitemname(.ItemID) + "]:Monster [" + strmobinfo(1,.MobID) + "]:MVP [" + strmobinfo(1,.MvpID) + "]:Start Event")) { case 1: mes "Which item would you like the MVP to drop?"; mes "Please input the item ID:"; input .ItemID; goto Main; case 2: mes "Please input the monster ID:"; input .MobID; goto Main; case 3: mes "Please input the MVP ID:"; input .MvpID; goto Main; case 4: mes "Starting the event now..."; close2; goto OnStart; } } // If a player clicks the NPC, it displays: mes "[Event Invasion]"; mes .mobs_left+" have invaded "+.Map$[.rand_map]+"!"; close; ///////////////////////// //The actual NPC Script// ///////////////////////// OnMinute50: // Change this to your liking OnStart: if( .mobs_left ) end; set .mobs_left, 1; sleep2 1000; set .@ran, rand(1,6); if (.@ran == 6) set .Map$,"splendide"; if (.@ran == 5) set .Map$,"izlude"; if (.@ran == 4) set .Map$,"payon"; if (.@ran == 3) set .Map$,"geffen"; if (.@ran == 2) set .Map$,"morocc"; if (.@ran == 1) set .Map$,"prontera"; sleep2 1000; announce "[ Rune-Midgard Guard ]: We have trouble here in the town " + .Map$ + "!", bc_all; sleep2 5000; announce "[ Rune-Midgard Guard ]: Everyone, we need your help to get rid of these monsters!", bc_all; monster .Map$,0,0,"--ja--",.MobID,1,"Event Invasion::OnMyMobDead"; set .mobs_left, 1; initnpctimer; end; OnStop: killmonster .Map$,"Event Invasion::OnSpecialMobDead"; OnTimer1805000: // 30 minutes later, kills all the mobs. killmonster .Map$,"Event Invasion::OnMyMobDead"; set .mobs_left, 0; stopnpctimer; end; OnMyMobDead: //When a mob is killed set .mobs_left, .mobs_left-1; if (.mobs_left==0) { announce "[ Rune-Midgard Guard ]: The " + strmobinfo(1,.MvpID) + " has spawned in " + .Map$ + "!", bc_all; monster .Map$,0,0,"--ja--",.MvpID,1,"Event Invasion::OnSpecialMobDead"; } else announce "["+.mobs_left+"/250] " + strmobinfo(1,.MobID) + " left.",bc_map; end; OnSpecialMobDead: announce strcharinfo(0)+" has fought off the Invasion and has been awarded a worthy prize!", bc_all; getitem .ItemID,1; //Change the [5] to the amount you wish to hand out. end; }1 point
-
Em primeiro lugar amigo, isso não é um erro. É a contagem padrão do ataque mágico para a renovação. Para deixar da forma que deseja, você deverá fazer uma edição na source (código fonte do emulador). arquivo: status.c procure a linha abaixo: unsigned short status_base_matk(const struct status_data* status, int level){ return status->int_+(status->int_/2)+(status->dex/5)+(status->luk/3)+(level/4); } Altere a formula da forma que desejar. Após mudar, não se esqueça de recompilar. Pessoalmente também não gostei dessa formula, então alterei para a seguinte: unsigned short status_base_matk(const struct status_data* status, int level){ return (status->int_*5)+(level/4)+(status->dex/2)+(status->luk/2); } Traduzindo: Ataque Mágico = (Inteligência * 5) + (Nível Base / 4 ) + (Destreza / 2 ) + ( Sorte / 2 ) Algo mais completo ficaria: unsigned short status_base_matk(const struct status_data* status, int level){ int matk = 0; if( status!=NULL ) { matk = (status->int_*5)+(level/4)+(status->dex/2)+(status->luk/2); if( matk > 60000 ) { matk = 60000; } } if( matk < 0 ) matk = 0; return (unsigned short)matk; } Att, Etherion.1 point
-
O tamanho das abas é proporcional ao tamanho das palavras que você usa em cada aba. Ao 'diffar' tenha a certeza que esteja usando o 'msgstringtable.txt'. É nele que fica as palavras de cada aba. Se serve de ajuda, deixarei o meu 'msgstringtable.txt'. Ele está atualizado para a versão mais recente do RE, acredito. Qualquer problema só avisar. msgstringtable.txt = http://www.mediafire.com/?tbx45d6cu8gzqlu1 point
-
1 point
-
1 point