Jump to content

Capuche

Developer
  • Posts

    2,407
  • Joined

  • Last visited

  • Days Won

    49

Community Answers

  1. Capuche's post in Guild Skill Approval was marked as the answer   
    hmmm just this ?
     
    prontera,159,180,5 script hjkl 456,{ if ( !getskilllv(10000) ) { mes "your guild doesn't have lvl 1 approval"; close; } warp "prontera",0,0;// warp in your guild house ? end; }  
    getskilllv(10000) check if the player have approval ( Skill ID 10000 ) and return the level of the skill if so
  2. Capuche's post in Warp with Messages was marked as the answer   
    Use triggers (no need OnTouch for NPC ID 45 with triggers)
     
    prontera,160,180,0 script lun002 45,2,2,{ if (BaseLevel < 100) mes "I need to be level 100 and above"; else warp "prontera",21,12; close; }
  3. Capuche's post in Customized Poring Race was marked as the answer   
    http://pastebin.com/raw.php?i=EWcS12eL
     
    I just change
    // set Zeny, Zeny + @prace_zeny*6; set #PoringRacePoints, #PoringRacePoints + @prace_zeny*6;//Poring Race Points and
    p1: set #PoringRacePoints, #PoringRacePoints [email protected]_zeny; set @prace_winner$,"Poring"; goto Ready; p2: set #PoringRacePoints, #PoringRacePoints [email protected]_zeny; set @prace_winner$,"Angeling"; goto Ready; p3: set #PoringRacePoints, #PoringRacePoints [email protected]_zeny; set @prace_winner$,"Metaling"; goto Ready; p4: set #PoringRacePoints, #PoringRacePoints [email protected]_zeny; set @prace_winner$,"Deviling"; goto Ready; p5: set #PoringRacePoints, #PoringRacePoints [email protected]_zeny; set @prace_winner$,"Santa Poring"; goto Ready; p6: set #PoringRacePoints, #PoringRacePoints [email protected]_zeny; set @prace_winner$,"Poporing"; goto Ready; and remove the cheat (lol)
     
    With this, players can bet Poring Race Points and gain news points
  4. Capuche's post in Matk Formula was marked as the answer   
    status.c
    #ifndef RENEWAL static inline unsigned short status_base_matk_min(const struct status_data* status){ return status->int_+(status->int_/7)*(status->int_/7); } static inline unsigned short status_base_matk_max(const struct status_data* status){ return status->int_+(status->int_/5)*(status->int_/5); } #else 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); }// renewal formula #endif
  5. Capuche's post in woe warp with map flag was marked as the answer   
    It's just a matter of lowercase/uppercase for some NPC name ( castle 4 and 5 for yuno and rachel )
     
    yuno,109,167,5 script Himinn 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "Sc01_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlesc01: FlagEmblem GetCastleData("schg_cas01",1); end; } yuno,110,171,5 script Andlangr 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "Sc02_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlesc02: FlagEmblem GetCastleData("schg_cas02",1); end; } yuno,111,175,5 script Viblainn 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "Sc03_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlesc03: FlagEmblem GetCastleData("schg_cas03",1); end; } yuno,112,179,5 script Hljod 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "sc04_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlesc04: FlagEmblem GetCastleData("schg_cas04",1); end; } yuno,114,183,5 script Skidbladnir 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "sc05_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlesc05: FlagEmblem GetCastleData("schg_cas05",1); end; } // Arunafeltz rachel,124,120,3 script Mardol 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "Ar01_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlear01: FlagEmblem GetCastleData("arug_cas01",1); end; } rachel,136,120,5 script Cyr 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "Ar02_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlear02: FlagEmblem GetCastleData("arug_cas02",1); end; } rachel,138,126,6 script Horn 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "Ar03_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlear03: FlagEmblem GetCastleData("arug_cas03",1); end; } rachel,135,131,7 script Gefn 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "ar04_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlear04: FlagEmblem GetCastleData("arug_cas04",1); end; } rachel,124,130,1 script Banadis 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( [email protected]$, [email protected], [email protected], 1, "ar05_Flag" ); warp [email protected]$, [email protected], [email protected]; end; OnAgitInit2: OnRecvCastlear05: FlagEmblem GetCastleData("arug_cas05",1); end; }
  6. Capuche's post in countitem in mes was marked as the answer   
    if ( countitem(501) < 5 && countitem(502) < 5 ) { mes "I still require "+ ( 20-countitem(512) ) +" more apples!"; close; } The brackets !
  7. Capuche's post in Party members can hit each other on PVP was marked as the answer   
    Mapflags are the cause
    Mapflag#pvp_noguild
    Mapflag#pvp_noparty
     
    Search and change yours in conf/mapflag/ folder
  8. Capuche's post in Variable problem with my 2 scripts was marked as the answer   
    If you want to add more than the poring event you're right, like an all-in-one event manager
     
    But you must to delete the array on the 1st NPC, I suggest donpcevent and getvariableofnpc
     
    prontera,146,76,5 script Event Warper 909,{ set [email protected]$,"[Warper]"; if( select( "Enter", "Cancel " ) -1 ) { mes [email protected]$; mes "See ya"; close; } else if( .accessFTP == 0 ) { set [email protected], gettime(3); set [email protected], gettime(2); set [email protected], gettime(3) + 4; if( gettime(3)%4 == 1 ) set [email protected], [email protected]; if(gettime(3)%4 == 2) set [email protected], [email protected]; if(gettime(3)%4 == 3) set [email protected], [email protected]; mes [email protected]$; mes "Find the Poring is closed right now.."; mes "The next Event starts on "+ [email protected] +"."; mes "And right now it is "+ [email protected] +":"+ [email protected] +"."; close; } else if( .register_num >= 128 ) { // room FULL mes [email protected]$; mes "I'm sorry but this Event is FULL."; mes "Maximum users to enter is 128 players."; close; } for( set [email protected], 0; [email protected] < .register_num; set [email protected], [email protected] + 1 ) { if( .register_aid[[email protected]] == getcharid(3) ) { mes [email protected]$; mes "You got warped once! Try again next time!"; close; } } warp "pvp_y_1-5",0,0; set @FTPChance, 0; set .register_aid[ .register_num ], getcharid(3); set .register_num, .register_num + 1; end; OnReset: deletearray .register_aid; set .register_num, 0; end; } - script FTPoring -1,{ OnClock0000: OnClock0400: OnClock0800: OnClock1200: OnClock1653: OnClock2000: announce "Find the Poring is now started!",0; killmonsterall "pvp_y_1-5"; monster "pvp_y_1-5",0,0,"Drops",1113,1000,"FTPoring::OnMobDeath"; monster "pvp_y_1-5",0,0,"Marin",1242,1000,"FTPoring::OnMobDeath"; monster "pvp_y_1-5",0,0,"Santa Poring",1062,1000,"FTPoring::OnMobDeath"; monster "pvp_y_1-5",0,0,"Metaling",1613,1000,"FTPoring::OnMobDeath"; monster "pvp_y_1-5",0,0,"Stapo",1784,1000,"FTPoring::OnMobDeath"; monster "pvp_y_1-5",0,0,"Poring",1002,1,"FTPoring::OnWinMobDeath"; mapwarp "pvp_y_1-5","prontera",156,98; set getvariableofnpc( .accessFTP, "Event Warper" ),1; donpcevent "Event Warper::OnReset"; end; OnMobDeath: set @FTPChance,@FTPChance+1; if(@FTPChance>=3){ warp "prontera",156,98; dispbottom "You've run out of chances!"; end; } dispbottom "Wrong Monster! You have "+([email protected])+" chance's left"; end; OnWinMobDeath: mapannounce "pvp_y_1-5","["+strcharinfo(0)+"] has found the poring! The Event is over!",0; GetItem( 20002, 3 ); mapwarp "pvp_y_1-5","prontera",156,98; killmonsterall "pvp_y_1-5"; set @FTPChance,0; set getvariableofnpc( .accessFTP, "Event Warper" ), 0;         donpcevent "Event Warper::OnReset"; end; }  
    set getvariableofnpc( .accessFTP, "Event Warper" ), 0; will put variable .accessFTP in the "Event Warper" to 0
  9. Capuche's post in how to set mapflag? was marked as the answer   
    You can also use @mapflag command
     
    desactivate nowarpto on map (reloadscript desactivate to)
    @mapflag nowarpto 0
    activate nowarpto
    @mapflag nowarpto 1
  10. Capuche's post in How to script unlimited box? was marked as the answer   
    A rental item which give unlimit box ? I hope you will understand my example :

    prontera,155,168,5 script yuio 456,{ rentitem 13531, 86400 * 30; // 30 days end; }
    A NPC give a rental item.

    // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script } 13531,Light_Red_Pot_Box,Light Red Potion Box,11,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 603,1; },{},{}
    An item (not consumed - type 11) give unlimit item.
  11. Capuche's post in Guild Master Changer was marked as the answer   
    Works for me. Maybe tab error ?
    Basic_Scripting#NPC
  12. Capuche's post in why this script not working? was marked as the answer   
    Try openstorage; instead of atcommand "@storage";
  13. Capuche's post in Disable Kagerou Oboro classes in this script ? was marked as the answer   
    Replace
    switch(select([email protected]$)) { case 1: function Job_Menu; function A_An; if (Class > 4049) { message strcharinfo(0),"No more jobs are available."; close; }
    to

    switch(select([email protected]$)) { case 1: function Job_Menu; function A_An; if (Class > 4049 || Class == 25) { message strcharinfo(0),"No more jobs are available."; close; }
  14. Capuche's post in check party if all the member and leader has the TCG? was marked as the answer   
    Editing

    prontera,150,160,5 script ghjkl 456,{ [email protected] = 7227; [email protected] = 10; [email protected]_map$ = "prontera"; [email protected] = getcharid(3); if( !getcharid(1) ) { mes "You are not in a party."; close; } getpartymember getcharid(1),0; getpartymember getcharid(1),1; getpartymember getcharid(1),2; while( [email protected] < [email protected] ){ if( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) { attachrid( [email protected][ [email protected] ] ); if( countitem( [email protected] ) < [email protected] ){ attachrid( [email protected] ); mes "Your member "[email protected]$[[email protected]]+" haven't "[email protected]+" "+getitemname( [email protected] )+"."; close; } [email protected]_in[ getarraysize( [email protected]_in ) ] = [email protected][ [email protected] ]; } [email protected]++; } for( [email protected] = 0; [email protected] < getarraysize( [email protected]_in ); [email protected]++ ) delitem [email protected], [email protected], [email protected]_in[ [email protected] ]; attachrid( [email protected] ); dispbottom "All got items."; warpparty [email protected]_map$, 150,150, getcharid(1); close; }
  15. Capuche's post in Party Recall was marked as the answer   
    Sorry I misread your post

    12212,Giant_Fly_Wing,Giant Fly Wing,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_CashPartyCall"; },{},{}
    is like a fly wing but warp all member in party and you ask a script that do something like partyrecall...
    Here for you

    function script F_PartyReCall { if(getpartyleader(getcharid(1),2) == getcharid(0)) { set [email protected], getcharid(3); getmapxy [email protected]$, [email protected], [email protected], 0; getpartymember getcharid(1),2; set [email protected], [email protected]; copyarray [email protected][0], [email protected][0], [email protected]; for(set [email protected], 0; [email protected] < [email protected]; set [email protected], [email protected] + 1) { if(attachrid([email protected][[email protected]])) { if(HP > 0 && getcharid(3) != [email protected]) { warp [email protected]$, [email protected], [email protected]; } } } } return; }
  16. Capuche's post in Test, And tell me the error(s). was marked as the answer   
    R_yes1.2
    Wrong. Don't ever use . in label name.

    if(countitem(7864)2)goto L_broke;
    Learn to read the error shown on your map_server console, it's very easy /$
  17. Capuche's post in +10 refiner was marked as the answer   
    100% sure... +10... need 1 TCG Card per refine... players can choose equipment.

    prt_in,57,55,5 script lkjhgf 63,{ //- setarray [email protected][0], 10, 10, 10, 10, 10, 10; setarray [email protected], 7227; //- mes "[blacksmith]"; mes "I'm the Blacksmith."; mes "I can refine all kinds of weapons, armor and equipment, so let me"; mes "know what you want me to refine."; next; setarray [email protected]$[1], "^0000ffHead^000000","^0000ffBody^000000","^FF0000Left hand^000000","^FF0000Right hand^000000","^0000ffRobe^000000","^0000ffShoes^000000","Accessory 1","Accessory 2","^0000ffHead 2^000000","^0000ffHead 3^000000"; for( set [email protected], 1; [email protected] <= getarraysize([email protected]$); set [email protected], [email protected]+1 ) { if( getequipisequiped([email protected]) ) set [email protected]$, [email protected]$ + [email protected]$[[email protected]] + "-" + "[" + getequipname([email protected]) + "]"; set [email protected]$, [email protected]$+ ":"; } set [email protected], select( [email protected]$ ); if( !getequipisequiped([email protected]) ) { mes "[blacksmith]"; mes "You're not wearing"; mes "anything there that"; mes "I can refine."; emotion 6; close; } //Check if the item is refinable... if( !getequipisenableref([email protected]) ) { mes "[blacksmith]"; mes "I don't think I can"; mes "refine this item at all..."; close; } //Check if the item is identified... (Don't know why this is in here... but kept it anyway) if( !getequipisidentify([email protected]) ) { mes "[blacksmith]"; mes "You can't refine this"; mes "if you haven't appraised"; mes "it first. Make sure your"; mes "stuff is identified before"; mes "I can refine it."; close; } //Check to see if the items is already +10 if( getequiprefinerycnt([email protected]) >= 10 ) { mes "[blacksmith]"; mes "I can't refine this"; mes "any more. This is as"; mes "refined as it gets!"; close; } set [email protected], getequipid([email protected]); // save id of the item set [email protected], getequipweaponlv([email protected]); if( ( [email protected] = select( "+10, please.", "I've changed my mind..." )-1 ) > 0 ) { next; mes "[blacksmith]"; mes "You said so... So be it."; close; } [email protected] = [email protected][[email protected]] - getequiprefinerycnt([email protected]); set [email protected], getequiprefinerycnt([email protected]); //save refinery count mes "[blacksmith]"; mes "To refine this I need"; mes "^FF0000"[email protected]+" "+getitemname( [email protected] )+"^000000"; mes "Do you really wish to continue?"; next; if( select( "Yes:No" ) == 2 ) { mes "[blacksmith]"; mes "Yeah..."; mes "There's no need to"; mes "rush. Take your time."; close; } if( countitem([email protected]) < [email protected] ) { mes "[blacksmith]"; mes "You don't seem to have"; mes "enough ^000000"+getitemname( [email protected] )+"^000000..."; mes "Go get some more. I'll be"; mes "here all day if you need me."; close; } if(getequipisequiped([email protected]) == 0) { // hacker has removed the item (not changed, why?) mes "[blacksmith]"; mes "Look here... you don't have any Items on..."; close; } if(getequiprefinerycnt([email protected]) != [email protected] || getequipid([email protected]) != [email protected]) { // hacker has changed the item mes "[blacksmith]"; emotion e_an; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; close; } mes "[blacksmith]"; delitem [email protected], [email protected]; for( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) successrefitem [email protected]; emotion e_heh; if( !([email protected] = rand(2)) ) { mes "[blacksmith]"; mes "Perfect!"; mes "Heh heh!"; mes "Once again,"; mes "flawless work"; mes "from the master~"; } else if( [email protected] == 1 ) { mes "[blacksmith]"; mes "Success...!"; mes "Yet again, my amazing"; mes "talent truly dazzles"; mes "and shines today."; } else { mes "[blacksmith]"; mes "Heh heh!"; mes "I'm all done."; mes "No doubt, my work is"; mes "to your satisfaction."; mes "Sheer, utter perfection~"; } close; }
  18. Capuche's post in Mini and MVP Boss CashPoint was marked as the answer   
    - script gvubhnji -1,{ OnNPCKillEvent: if( killedrid && ( getmonsterinfo(killedrid, 21) & 0x0020 ) && ( killedrid <= 3000 ) ) { if( getmonsterinfo(killedrid, 22) ) [email protected] = rand( 100, 500 );//-- MVP else [email protected] = rand( 50, 150 );//-- MINIBOSS #CASHPOINTS = #CASHPOINTS + [email protected]; dispbottom "Gained : "+ [email protected] +" points. Total : "+ #CASHPOINTS +" points."; } end; }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.