Jump to content

Capuche

Developer
  • Posts

    2407
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by Capuche

  1. Put a end; at the end of OnInit otherwise mapserv tell us player no attached when reloading. Well, nice script
  2. It's more like a request. Can you give us more details please ? A rent for 1 person ? Conditions for rent ? For all class and level ? Which monster auto respawn ? How much ? On bat_c03 ? Thanks.
  3. There is a laps of time after unmute. If you are still mute, atcommand script doesn't work. You should used berserk instead of mute. OnPCLoginEvent: if (#password$ == "") end; percentheal 100,0; sc_start sc_berserk, 1000000000, 1; mes "COOL RAGNAROK ONLINE"; mes " "; mes "Please enter the ^0000FFlock code ^000000 attached to this account."; mes "You have 20 seconds."; attachnpctimer strcharinfo(0); initnpctimer; input .@try$; if(.@try$ != #password$) { next; mes "Sorry, that is not correct. If you've forgotten your ^0000FFlock code^000000, "; mes "Notify any ^FF0000Admin^000000 to fix this issue. "; mes "hello and "; mes "Goodbye."; stopnpctimer; detachnpctimer; sleep2 5000; sc_end sc_berserk; atcommand "@kick "+strcharinfo(0); end; } mes "Password$ ^0000FFCorrect! ^000000 Welcome to Cool-RO!"; stopnpctimer; sc_end sc_berserk; percentheal 100,100; detachnpctimer; close; OnTimer20000: stopnpctimer; sc_end sc_berserk; atcommand "@kick "+strcharinfo(0); detachnpctimer; end; In mes "Are you sure!"; if (select("Yes:No") == 2) close; next; set #Password$,""; mes "You have deleted your ^0000FFlock code.^000000" ; #Password$ should be #password$ otherwise the password isn't deleted.
  4. I assume you have trouble with Battle Royale script... OnInit: ... //Atcommand symbol set $BR_Atcom$,"@"; $BR_Atcom$ = Your Atcommand symbol
  5. L_choice should be L_choice: Before the first next; put a mes "something"; With this, it works for me.
  6. Ex Angel Ripper { bonus bStr,2; if(readparam(bStr)>=370) bonus bAtkRate,20; if(readparam(bDex)>=370) bonus bHitRate,75; if(readparam(bInt)>=370) bonus bMatkRate,15; },{},{} Ex Black Dark Helmet { bonus bStr,2; Skill "PF_FOGWALL",1; bonus2 bSubEle,Ele_Holy,-100; bonus2 bSubEle,Ele_Dark,100; },{},{} //-- I presume it's 100% resistance/-100% Ex Sage Ring { if(readparam(bInt)>=300) bonus bMatkRate,10; bonus bMdef,5; },{},{} Ex Deviling Wings { bonus bInt,2; bonus2 bSubEle,Ele_Holy,-100; bonus2 bSubEle,Ele_Dark,100; },{},{} Ex White Butterfly Wings { bonus2 bSubEle,Ele_Earth,100; bonus2 bSubEle,Ele_Fire,-100; bonus bLuk,4; bonus bInt,3; bonus bDex,2; },{},{} Ex Valkyrie Helmet { bonus2 bSubRace,RC_DemiHuman,2; },{},{} Ex Angeling Wings { bonus bInt,2; bonus bLuk,3; bonus bAgi,4; bonus2 bSubEle,Ele_Ghost,-100; bonus2 bSubEle,Ele_Dark,100; },{},{} Ex Band Aid { bonus2 bSubRace,RC_DemiHuman,10; },{},{} Ex Pirate Hat { bonus bHitRate,100; },{},{} Ex Love Glasses { bonus4 bAutoSpellWhenHit,"HP_ASSUMPTIO",5,10,0; },{},{} //-- %? -- Gain a small chance to cast level 5 Assumptio on self while receiving damage. Ex Rabbit in the Hat { bonus bInt,3; bonus bDex,2; bonus bMatkRate,15; },{},{} Ex Reisz Helmet { if(readparam(bStr)>=100) bonus bAtkRate,15; if(readparam(bAgi)>=100) bonus bSpeedRate,25; if(readparam(bLuk)>=100) bonus bFlee2,15; },{},{} //-- How much ? -- If Agi is above 100, Increase Movement Speed. Ex Pikachu Ears { bonus4 bAutoSpell,"MG_LIGHTNINGBOLT",5,10,1; Skill "MG_LIGHTNINGBOLT",5; },{},{} Ex Medical Eyepatch { bonus bInt,3; Skill "AL_HEAL",5; bonus bMdef,10; bonus4 bAutoSpellWhenHit,"AL_HEAL",5,10,0; },{},{} //-- Auto-cast Level 5 Heal on yourself when hit -- %? Ex 3D Glasses { bonus bAtk,3; bonus bIntMatk,10; bonus bIntravision,0; },{},{} Ex Gothic Ribbon { bonus bFlee,15; bonus bFlee2,6; set MaxWeight, MaxWeight+3000; if(readparam(bDex)>=400 && (getiteminfo(getequipid(EQI_HAND_R),11)==11 || getiteminfo(getequipid(EQI_HAND_R),11)==13 || getiteminfo(getequipid(EQI_HAND_R),11)==14)) { bonus2 bAddRace,RC_NonBoss,15; bonus2 bAddRace,RC_Boss,15; } if(readparam(bInt)>=400) { bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; } },{},{} //-- I presume it's above -- If the wearer has 400 DEX... Bows/Musical Intruments' damage will be increased 15% -- bAddRace used Ex Holy Essesnce { bonus bInt,2; if(Class==Job_Acolyte) { bonus2 bSubRace,RC_DemiHuman,5; bonus bHealPower,5; bonus2 bSkillAtk,"AL_HOLYLIGHT",10; } },{},{} //-- Just Job Acolyte ? Ex Incubus Wings { bonus bAllStats,1; if(readparam(Sex)) bonus bAtkRate,10; },{},{} Ex Retribution Wings { bonus bInt,1; bonus bVit,1; bonus bAtkRate,-10; bonus bMatkRate,-10; bonus2 bSubRace,RC_DemiHuman,7; },{},{} Ex Side Hat { bonus bVit,1; bonus bInt,1; if(readparam(bVit)>=150) bonus bMaxHPrate,5; if(readparam(bInt)>=150) bonus bMaxSPrate,5; if(readparam(bVit)>=350) bonus bDef2,-200; },{},{} //-- I presume it's above -- If the wearer has 150 VIT, it adds 5% to maximum HP. If the wearer has 150 int, it adds 5% to maximum SP. If player has 350 VIT, - 200 VIT Defense Ex Split Ice Cream { Skill "NJ_HYOUSYOURAKU",3; },{},{} Ex Succubus Wings { bonus bAllStats,1; if(!readparam(Sex)) bonus bAtkRate,10; },{},{}
  7. - script gvubhnji -1,{ OnNPCKillEvent: if( killedrid && ( getmonsterinfo(killedrid, 21) & 0x0020 ) && ( killedrid <= 3000 ) ) { if( getmonsterinfo(killedrid, 22) ) .@R = rand( 100, 500 );//-- MVP else .@R = rand( 50, 150 );//-- MINIBOSS #CASHPOINTS = #CASHPOINTS + .@R; dispbottom "Gained : "+ .@R +" points. Total : "+ #CASHPOINTS +" points."; } end; }
  8. //set .bronze,673;//item id of bronze //set .gold,671;//item id of gold //set .platinum,677;//item id of platinum //set .poringcoin,7539;//item id of poring coin //set @header$,"[^0000ff Trader ^000000]";//NPC Name Uncomment this lines. ptp: if(countitem(.gold) < 5) goto L_NOTENOUGH; should be ptp: if(countitem(.platinum) < 5) goto L_NOTENOUGH; You can used .@variable instead of .variable gonryun,141,130,5 script Trader 828 ,{ set .@bronze,673;//item id of bronze set .@gold,671;//item id of gold set .@platinum,677;//item id of platinum set .@poringcoin,7539;//item id of poring coin set .@header$,"[^0000ff Trader ^000000]";//NPC Name mes .@header$; mes "Hello"; next; menu "5 Bronze to 1Gold",-,"5 Gold to 1 Platinum",gtp,"5 Platinum to 1 Poring Coin",ptp; if(countitem(.@bronze) < 5) goto L_NOTENOUGH; mes .@header$; mes "Thanks. . See you again. . . !"; delitem 673,5; getitem 671,1; close; gtp: if(countitem(.@gold) < 5) goto L_NOTENOUGH; mes .@header$; mes "Thanks. . See you again. . . !"; delitem 671,5; getitem 677,1; close; ptp: if(countitem(.@platinum) < 5) goto L_NOTENOUGH; mes .@header$; mes "Thanks. . See you again. . . !"; delitem 677,5; getitem 7539,1; close; L_NOTENOUGH: mes .@header$; mes "Not enough requirements"; close; }
  9. trunk/conf/mapflag/gvg.txt <map name> mapflag gvg Mapflag#gvg
  10. Post your current script using codebox.
  11. Maybe this is a stupid question or I shouldn't ask here... if that's it please forgive me ! (lol) How could I know if a script is optimized ? How estimate the resource the script is using ? or like you said, how estimate the resource when I used a variable or a script command ? Just curiosity.
  12. Wrong. set #Freebie, 1; ... Right. End after close is useless. - script Freebie -1,{ OnPCLoginEvent: if( !#Freebie ) { mes "Welcome to ServerRO!"; //Server Name mes "Since you're new to this server you get some freebies!"; set #Freebie, 1; getitem 517,100; //Change Items getitem 501,500; //Change Items close; } end; } ... is a little better. What's that ? Prevention ? XD ! Sorry... >> Please use codebox !
  13. Post #1 + Post #2 OnNPCKillEvent: if( getcharid(2) && strcharinfo(3) == "prontera" ) .countProntera++; end;
  14. For you, Merry Christmas ! prontera,146,304,5 script Reseter 407,{ //- setarray .@minrange[0], 1, 41, 71, 91, 111, 126, 141; setarray .@maxrange[0], 40, 70, 90, 110, 125, 140, 150; setarray .@stones[0], 1, 2, 3, 4, 5, 6, 7; set .@stoneid, 6320; set .@npcname$,"["+strnpcinfo(0)+"]"; //- Reset Skills Option 0/1 -- no/yes set .@Sk, 1; //- mes .@npcname$; mes "So are you satisfied with your"; mes "current stat allocation?"; mes "Of course not, if you want to make"; mes "a change then listen on."; next; mes .@npcname$; mes "I use the power of the"; mes "^009900"+getitemname(.@stoneid)+"^000000 to help adventurers"; mes "reset their stat choices."; mes "Of course the more powerful the"; mes "adventurer, the more ^009900"+getitemname(.@stoneid)+"s^000000"; mes "I need the perform the reset."; next; for(set .@i,0; .@i<getarraysize(.@minrange); set .@i,.@i+1) if(BaseLevel >= .@minrange[.@i] && BaseLevel <= .@maxrange[.@i]) set .@stonesreq,.@stones[.@i]; mes .@npcname$; mes "For instance you ["+strcharinfo(0)+"] would require."; mes "["+.@stonesreq+"] "+getitemname(.@stoneid)+" to reset all your stats to 1 and get all your status points back."; next; switch( select("Tell me More!","Lets reset NOW",(Freebies?"":"First Time Free Reset"),(.@Sk?"Reset Skills":""),"Later") ) { case 1: mes .@npcname$; for(set .@i,0; .@i<getarraysize(.@minrange); set .@i,.@i+1) mes "Base Lvl ^000099"+.@minrange[.@i]+" - "+.@maxrange[.@i]+"^000000 ^009900["+.@stones[.@i]+" "+getitemname(.@stoneid)+"]^000000"; break; case 2: case 4: mes .@npcname$; mes "Ok let's start checking."; next; mes .@npcname$; if( Weight > 0 ) { mes "Lower your weight to 0"; break; } if(checkcart()) setcart 0; if(checkfalcon()) setfalcon 0; if(checkriding()) setriding 0; if( countitem(.@stoneid) >= .@stonesreq ) { delitem .@stoneid, .@stonesreq; mes "Done."; if( @menu & 2 ) resetstatus; else resetskill; } else mes "You do not have enough ^009900"+getitemname(.@stoneid)+"s^000000"; break; case 3: mes .@npcname$; mes "Welcome...this is your first character free reset..."; resetstatus; set Freebies,1; break; case 5: } close; }
  15. I think it needs source modifications to do that -- Edit: My bad, your right ! I didn't check the source sorry.
  16. OMG nice script AnnieRuru !
  17. and I think this topic is in the wrong section. btw see if Mapflag#pvp_nightmaredrop in your mapflag folder trunk/conf/mapflag/nightmare.txt is enabled to pvp_n_1-5
  18. You can use event prontera,96,50,2,2 monster Strange Hydra 2081,5,5000,0,"uyihjko::OnPaf" ... OnPaf: set @countM, @countM + 1; ... set .countM, .countM + 1; or ... OnNPCKillEvent: if( strcharinfo(3) != "prontera" ) end; set @countM, @countM + 1; ... Well, it depends on what you want to do.
  19. Wrong. Argument = 1 --> call shop ID = 1 // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ que_moc_16,95,89,4 script Zero#1 688,{ callfunc "qshop"; } que_moc_16,97,89,4 script Zero2 688,{ callfunc "qshop",1; } // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200);
  20. Capuche

    NCP Sleep

    I dunno what you want to do, maybe something like this ? prontera,156,173,5 Script Text 77,{ if( .busy ) end; if( !.sw ) mes "the first."; else mes "the second"; set .sw, !.sw; close2; initnpctimer; set .busy, 1; end; OnTimer10000: set .busy, 0; stopnpctimer; end; }
  21. btw i'm pretty sure item ID xxxx doesn't exist XD if(countitem(xxxx) == 0) { close2; attachrid getcharid(3,.@Disguise$); else if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); } else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); } Where is the first if ?
×
×
  • Create New...