-
Posts
778 -
Joined
-
Last visited
-
Days Won
12
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by LearningRO
-
why my map-server always auto killed and i didn't get any error message and i want to ask what a mininum RAM to install rathena??
-
i think in towninfo.lub on folder system
-
moc_para01,38,185,4 script Mighty Hammer 4_M_DWARF,{ disable_items; set .@name$,"[^0000FFBlacksmith Mighty Hammer^000000]"; mes .@name$; mes "Unlike others, I am a blacksmith who can refine items without breaking them!"; mes "I refine items that are 7 ~ 9 with ^377664HD Elunium^000000 and ^366664HD Oridecon^000000."; mes "My specialty is that even if my refining ^FF0000fails, the level decreases by just 1 level without losing the gear.^000000 isn't it great?"; next; mes .@name$; mes "I can also use ^377664HD Carnium^000000 and ^377664HD Bradium^000000 + "+callfunc("int__",.HD10RefineCost)+"z to refine items that are "; mes "^990000+10 and higher.^000000"; mes "If I fail the item will only degrade 1 level except if the item is +10, in which case it ^000099will stay +10^000000!"; mes "Thats where I earned my nickname of ^009900'ole +11'^000000 back in Blacksmith college!"; mes "^FF0000Safe to +n^000000 Armor, Headgear and Weapon Certificates to prevent a downgrade."; next; mes .@name$; mes "By happenstance I can also use the '^000099Safe to +6/7/8/9 Certificates^000000' along with Elunium-Oridecon to make the attempts from 4 to 6 safe."; next; mes .@name$; mes "If by some Miracle you have a ^000099Safe to +10 certificate^000000 then I can attempt to go from +9 to +10,"; mes "consume the Certificate and the HD Ore and ensure the item does NOT degrade on Failure."; mes "If the item gets to +9, and you have one of the Safe to +10 Certificates in inventory then that special option will open up."; mes "So lets kick this into overdrive, what d'ya say?"; next; setarray .@position$[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; set .@menu$,""; for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) { if( getequipisequiped(.@i) ) set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[ ^FF0090" + getequipname(.@i) + "^000000 ]"; else set .@menu$, .@menu$ + .@position$[.@i] + "- Empty"; set .@menu$, .@menu$ + ":"; } set .@part,select(.@menu$); if( !getequipisequiped(.@part) ) { mes .@name$; mes "You're not wearing anything..."; close; } else if( !getequipisenableref(.@part) ) { mes .@name$; mes "I don't think this item is refine-able at all."; close; } set .@equipRefLevel,getequiprefinerycnt(.@part); if ( .@equipRefLevel < 4 ) { mes .@name$; mes "Make sure the item is at least +4, before asking me to upgrade it."; close; } set .@equipLv,getequipweaponlv(.@part); if( .@equipLv != 0 && .@equipLv < 3 ) { mes .@name$; mes "I'm sorry your Weapon must be of level 3 or 4 before I can upgrade it."; close; } RefineStart: set .@certId,0; // Reset CertId on loop set .@equipRefLevel,getequiprefinerycnt(.@part); // Refresh Refine Level mes .@name$; switch(.@part) { case 1: // Upper Head if(.@part == 1) mes "I'm a blacksmith, not a hairstylist."; case 2: // Body if(.@part == 2) mes "With my hammer, I will make you a star of the sky."; case 5: // Robe if(.@part == 5) mes "Bring out the item so I can refine it!"; case 6: // Shoes if(.@part == 6) mes "Where is this foot order coming from?"; if(.@HD10Refine) goto HDRef10Armor; switch(.@equipRefLevel) { case 4: case 5: if(.@HDRefine) goto HDRef7Armor; set .@certId,.SafeTo6ArmorCertificate; // Safe to 6 Armor set .@reqOre,.NormalElunium; // Normal Elunium break; case 6: if(.@HDRefine) goto HDRef7Armor; set .@certId,.SafeTo7ArmorCertificate; // Safe to 7 Armor set .@reqOre,.NormalElunium; // Normal Elunium break; case 7: HDRef7Armor: if(countitem(.SafeTo8ArmorCertificate)) { set .@certId,.SafeTo8ArmorCertificate; // Safe to 8 Armor set .@reqOre,.NormalElunium; // Normal Elunium } else { set .@reqOre,.HDElunium; // HD Elunium set .@HDRefine,1; } break; case 8: if(countitem(.SafeTo9ArmorCertificate)) { set .@certId,.SafeTo9ArmorCertificate; // Safe to 9 Armor set .@reqOre,.NormalElunium; // Normal Elunium } else { set .@reqOre,.HDElunium; // HD Elunium set .@HDRefine,1; } break; case 9: if(countitem(.SafeTo10ArmorCertificate)) set .@certId,.SafeTo10ArmorCertificate; // Safe to 10 Cert set .@reqOre,.HDElunium; // HD Elunium break; case 10: HDRef10Armor: set .@reqOre,.HDCarnium; set .@HD10Refine,1; break; default: if(.@HDRefine) goto HDRef7Armor; close; } break; // Weapons case 3: case 4: mes "Making artificial hands is not my specialty."; if(.@HD10Refine) goto HDRef10Weapon; switch(.@equipRefLevel) { case 4: case 5: if(.@HDRefine) goto HDRef7Weapon; set .@certId,.SafeTo6WeaponCertificate; // Safe to 6 Weapon set .@reqOre,.NormalOridecon; // Normal Oridecon break; case 6: if(.@HDRefine) goto HDRef7Weapon; set .@certId,.SafeTo7WeaponCertificate; // Safe to 7 Weapon set .@reqOre,.NormalOridecon; // Normal Oridecon break; case 7: HDRef7Weapon: if(countitem(.SafeTo8WeaponCertificate)) { set .@certId,.SafeTo8WeaponCertificate; // Safe to 8 Weapon set .@reqOre,.NormalOridecon; // Normal Oridecon } else { set .@reqOre,.HDOridecon; // HD Oridecon set .@HDRefine,1; } break; case 8: if(countitem(.SafeTo9WeaponCertificate)) { set .@certId,.SafeTo9WeaponCertificate; // Safe to 9 Weapon set .@reqOre,.NormalOridecon; // Normal Oridecon } else { set .@reqOre,.HDOridecon; // HD Oridecon set .@HDRefine,1; } break; case 9: set .@certId,.SafeTo10WeaponCertificate; // Safe to 10 Cert set .@reqOre,.HDOridecon; // HD Oridecon break; case 10: HDRef10Weapon: set .@reqOre,.HDBradium; set .@HD10Refine,1; break; default: if(.@HDRefine) goto HDRef7Weapon; close; } break; /* No case for refining other equipments parts/slots. case 7: case 8: case 9: case 10: */ default: mes "What do you want me to refine?"; close; } set .@zenyCost,(.equipRefLevel<10)?.NormalRefineCost:.HD10RefineCost; // Amount of Zeny to be consumed. set .@totalOres,countitem(.@reqOre); if(.@certId) { if(!countitem(.@certId) || !.@totalOres) set .@attempts,0; else if(.@certId) { set .@totalCerts,countitem(.@certId); set .@offset,.@totalCerts-.@totalOres; if(.@offset < 0) .@offset *= -1; set .@attempts,(.@totalCerts+.@totalOres-.@offset)/2; } } else set .@attempts,.@totalOres; set .@successRate,getequippercentrefinery(.@part); mes "Attempts remaining: ^000099"+.@attempts+"^000000"; mes "Item : ^990000+"+.@equipRefLevel+"^000000 ^009900"+getequipname(.@part)+"^000000"; mes "Success chance : "+.@successRate+"%"; mes "can be upgraded with -"; if(.@equipRefLevel < 10) { mes "^009900"+getitemname(.@equipLv?.NormalOridecon:.NormalElunium)+"^000000 : ^FF0000UNSAFE - BREAK^000000!"; mes "^009900"+getitemname(.@equipLv?.HDOridecon:.HDElunium)+"^000000 : ^FF0000UNSAFE -^000000 ^000099DEGRADE^000000!"; mes "Required Zeny - "+callfunc("int__",.@zenyCost)+"z"; } else { mes "^009900"+getitemname(.@equipLv?.HDBradium:.HDCarnium)+"^000000 : ^FF0000UNSAFE -^000000 ^000099DEGRADE^000000!"; } next; set .@option$,(.@certId?(getitemname(.@certId)+" and "):"")+"1 "+getitemname(.@reqOre); if(select(.@option$,"Please stop") == 2) { mes .@name$; mes "Well that is your choice."; close; } else if(!.@attempts) { mes .@name$; mes "Didn't you say you have everything ready?"; mes "1 "+getitemname(.@reqOre); if(.@certId) mes "and 1 "+getitemname(.@certId)+"."; close; } else { if(Zeny < .@zenyCost) { mes .@name$; mes "I thought you said you were ready!"; mes "You don't have enough Zeny for the upgrade."; next; mes .@name$; mes "Have at least "+callfunc("int__",.@zenyCost)+"z in your inventory."; close; } // Consume requirements dispbottom "1 "+getitemname(.@reqOre)+" has been consumed."; delitem .@reqOre,1; dispbottom callfunc("int__",.@zenyCost)+"z has been consumed."; set Zeny,Zeny-.@zenyCost; // Process refine if(.@successRate > rand(100)) { successrefitem .@part; emotion e_no1; mes .@name$; mes "Did I not tell you that I'm worth it?"; mes "I have refined your item successfully, without a scratch."; next; } else { // Consume cert if required if(.@certId) delitem .@certId,1; mes .@name$; mes "By odin's beard... I hadn't expected a negative outcome."; emotion (!rand(5))?e_cash:e_omg; if(.@certId) { mes "But with your certificate, the item stays safe."; specialeffect2 155; // Failed Refine Effect } else if(.@equipRefLevel != 10) { // Do not degrade if refine level is less than 10. mes "I'm sorry! your item has downgraded by 1 refine level."; downrefitem .@part,1; } else specialeffect2 155; // Failed Refine Effect mes "May be my next attempt will be a success, please try again."; next; } goto RefineStart; } OnStarteffect: specialeffect 154; sleep 10000; specialeffect 154; goto OnStarteffect; end; OnInit: set .NormalOridecon,984; set .NormalElunium,985; set .HDOridecon,6240; set .HDElunium,6241; set .HDCarnium,6225; set .HDBradium,6226; // Safe Armor Certificates set .SafeTo6ArmorCertificate,6235; set .SafeTo7ArmorCertificate,6234; set .SafeTo8ArmorCertificate,6233; set .SafeTo9ArmorCertificate,6232; set .SafeTo10ArmorCertificate,6457; // Safe Weapon Certificates set .SafeTo6WeaponCertificate,6231; set .SafeTo7WeaponCertificate,6230; set .SafeTo8WeaponCertificate,6229; set .SafeTo9WeaponCertificate,6228; set .SafeTo10WeaponCertificate,6457; // same as armor set .HD10RefineCost,100000; set .NormalRefineCost,50000; goto OnStarteffect; end; } i got wrong place equip type how to fix it thx
-
try to following this guide HERE
-
u must compile your server using VS
-
thx this script really cool and helpfull to give reward when gm made event for player
-
question about git updates will it affect the changes made??
LearningRO replied to AinsLord's question in General Support
yeah it will effect if your costum confilt with new update check this out -
question about git updates will it affect the changes made??
LearningRO replied to AinsLord's question in General Support
to update your git just command "git pull" -
i try this BG script - script custom_bg#control -1,{ OnInit: set .minplayer2start, 2; // minimum player to start ... please do not set to 1 setarray .rewarditem, 501, 10, // reward to the winning team 501, 3; // reward to the losing team set .startingscore, 15; // score at start set .eventlasting, 20*60; // event last 20 minutes or the system abort itself set .red_cloth, 1; // color value from red clothing set .blue_cloth, 2; // color value from blue clothing set .grey_cloth, 3; // color value from grey clothing end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; .red = waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .team1count = .minplayer2start; .blue = waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .team2count = .minplayer2start; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; bg_warp .red, "guild_vs3", 13,50; bg_warp .blue, "guild_vs3", 86,50; .score[1] = .score[2] =.startingscore; bg_updatescore "guild_vs3", .score[1], .score[2]; callsub L_setleader, 1; callsub L_setleader, 2; for ( .@i = 0; .@i < .minplayer2start; .@i++ ) { attachrid .team1aid[.@i]; @clotes_color = getlook( look_clothes_color ); setlook look_clothes_color, ( .leader_aid[1] == getcharid(3) )? .grey_cloth : .red_cloth; } for ( .@i = 0; .@i < .minplayer2start; .@i++ ) { attachrid .team2aid[.@i]; @clotes_color = getlook( look_clothes_color ); setlook look_clothes_color, ( .leader_aid[2] == getcharid(3) )? .grey_cloth : .blue_cloth; } sleep .eventlasting * 1000; if ( .score[1] > .score[2] ) { mapannounce "guild_vs3", "red side wins !", 0; callsub L_reward, 1, 0; callsub L_reward, 2, 2; } else if ( .score[1] < .score[2] ) { mapannounce "guild_vs3", "blue side wins !", 0; callsub L_reward, 2, 0; callsub L_reward, 1, 2; } else { mapannounce "guild_vs3", "Draw !", 0; callsub L_reward, 1, 2; callsub L_reward, 2, 2; } bg_warp .red, "prontera",152,178; bg_warp .blue, "prontera",154,178; bg_destroy .red; bg_destroy .blue; donpcevent .rednpcname$ +"::OnStart"; donpcevent .bluenpcname$ +"::OnStart"; .leader_aid[1] = .leader_aid[2] = 0; for ( .@i = 0; .@i < .team1count; .@i++ ) { attachrid .team1aid[.@i]; setlook look_clothes_color, @clotes_color; @clotes_color = 0; } for ( .@i = 0; .@i < .team2count; .@i++ ) { attachrid .team2aid[.@i]; setlook look_clothes_color, @clotes_color; @clotes_color = 0; } end; L_reward: for ( .@i = 0; .@i < getd(".team"+ getarg(0) +"count"); .@i++ ) getitem .rewarditem[ getarg(1) ], .rewarditem[ getarg(1) +1 ], getd(".team"+ getarg(0) +"aid["+ .@i +"]" ); return; OnredDead: callsub L_dead, 1; OnblueDead: callsub L_dead, 2; L_dead: if ( .leader_aid[ getarg(0) ] != getcharid(3) ) .score[ getarg(0) ]--; else { callsub L_setleader, getarg(0); .score[ getarg(0) ] -= 2; } bg_updatescore "guild_vs3", .score[1], .score[2]; if ( .score[ getarg(0) ] <= 0 ) awake strnpcinfo(0); sleep2 1250; percentheal 100,100; end; OnredQuit: callsub L_quit, 1, .red; OnblueQuit: callsub L_quit, 2, .blue; L_quit: percentheal 100, 100; while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; if ( .leader_aid[ getarg(0) ] == getcharid(3) ) callsub L_setleader, getarg(0); setlook look_clothes_color, @clotes_color; @clotes_color = 0; if ( bg_get_data( getarg(1), 0 ) > 1 ) end; .score[ getarg(0) ] = 0; awake strnpcinfo(0); end; L_setleader: while ( ( .@tmp = getd( ".team"+ getarg(0) +"aid["+ rand( getd(".team"+ getarg(0) +"count") ) +"]" ) ) == playerattached() ); .leader_aid[ getarg(0) ] = .@tmp; .@origin = playerattached(); attachrid .leader_aid[ getarg(0) ]; addtimer 1, strnpcinfo(0) +"::Onteam"+ getarg(0) +"leader"; attachrid .@origin; return; Onteam1leader: callsub L_lead, 1, 548; Onteam2leader: callsub L_lead, 2, 549; L_lead: while ( .leader_aid[ getarg(0) ] == getcharid(3) ) { specialeffect2 getarg(1); sleep2 1000; } end; } prontera,152,178,5 script red side 733,{ end; OnInit: set getvariableofnpc( .rednpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); end; } prontera,154,178,5 script blue side 734,{ end; OnInit: set getvariableofnpc( .bluenpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); end; } guild_vs3 mapflag battleground 2 guild_vs3 mapflag nosave SavePoint guild_vs3 mapflag nowarp guild_vs3 mapflag nowarpto guild_vs3 mapflag noteleport guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall but when player join on waiting room make disconnect map server without any error or warning i use last vers rathena Note: Fix in last commit btw how to change hp emperium?
-
Which tools do I have to install for VS 2017?
LearningRO replied to EmptyRaiden's question in Windows Support
try this https://rathena.org/board/topic/111330-compiling-in-visual-studio-2017/?do=findComment&comment=326564 -
[Solve]can't delete char on client 20151104
LearningRO replied to LearningRO's question in General Support
thx bro... it's work!! -
[Solve]can't delete char on client 20151104
LearningRO replied to LearningRO's question in General Support
i try use [email protected] or 0000000 as default still can't delete char -
this is my setting in char.conf when i try to delete char it's always get notice wrong input email or brithday? my langtype 9 but i was try to change from 0 -1 still can't delete char server : las vers mode: pre/re im sorry for wrong room i didn't see
-
[DISCONTINUED] Secret's Updated NEMO Patches
LearningRO replied to Secrets's topic in Client Releases
thanks a loot man -
i was install gcc-5 and g++-5 but when i run ./configure i got error like this OS debian 8 version server : :last
-
really nice and smooth
-
thx all problem solve
-
yeah i know that, but i don't understand to read that and i was look my mob_db it's same type like original setup form rathena :((
-
yeah i was try your script but GM lv 99 still can't create room chat @@ why??
-
yeah i know about that script but GM include can't create chat room how to make gm not include form it only affect for player normal
-
why on my server when player use skill cloacking MVP/normal monster can see cloackin?? server : Pre Mode Version : last version how to fix it ? thx
-
yeah i mean that :D??
-
it's posible to make nopub in towm for player but for GM allowed? if yes i want to disable to create room chat for player but gm still can create room chat
-
@crazyarashi hi bro how to make this function permanent? coz when player relog become into normal suit again