Jump to content

Scylla

Members
  • Posts

    374
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Scylla

  1. when im trying to upload map_cache.dat, it says:

    you aren't permitted to upload this kind of file

     

    how can i upload this kind of file ?

     

    when im trying to upload map_cache.dat, it says:

    you aren't permitted to upload this kind of file

     

    how can i upload this kind of file ?

     

    when im trying to upload map_cache.dat, it says:

    you aren't permitted to upload this kind of file

     

    how can i upload this kind of file ?

     

    attachicon.gifmap_cache.rar

     

    attachicon.gifmorocc_mem.rar

     

    Back up your old map_cache.dat

     

    And i also dunno but i just noticed this on the map's .gat

     

    UXh9Cy8.png

     

    That black stuff pointed with the red arrow should be the one causing the immovable cell but i think that should be that tent. Either way try the map_cache i uploaded.

    map_cache (re-cached).rar

  2. data/clientinfo.xml [ Right click, open with notepad ]

     

    <?xml version="1.0" encoding="euc-kr" ?>

    <clientinfo>
    <servicetype>korea</servicetype>
    <servertype>sakray</servertype>
    <connection>
    <desc>TestRO</desc>
    <display>SERVER NAME</display>
    <balloon>SERVER DESC</balloon>
    <address>YOUR IP HERE</address>
    <port>6900</port>
    <version>30</version>
    <langtype>1</langtype>
    <registrationweb>REG WEB</registrationweb>
        <aid>
        <admin>2000000</admin>
        <yellow>
        <admin>2000000</admin>
        </yellow>
        <loading>
        <image>loading00.jpg</image>
        </loading>
    </connection>
    </clientinfo>

     

    The one in red font.

  3.  

     

    - script hourlypoints -1,{

    //--Start of the Script
    OnPCLoginEvent:
    attachnpctimer ""+strcharinfo(0)+"";
    initnpctimer;
    end;
     
    OnTimer30000:
    //Check if Vending (normal or @at)
    if(checkvending() >= 1 || checkchatting() == 1) {
    dispbottom "The hourly points event stopped because you were vending / chatting or you are a poring haha. Please relog if you wish to start again.";
    stopnpctimer;
    end;
    }
    //Check if Idle
    getmapxy( .@map$, .@x, .@y, 0 );
    if(@map$ == .@map$ && @x == .@x && @y == .@y) {
    set @afk, @afk + 1;
    }
    If move timer resets
    else {
    set @afk, 0;
    }
    end;
    set @map$, .@map$; set @x, .@x; set @y, .@y;
    Idle Check for 5 Minutes
    if(@afk == 0) {
    dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
    stopnpctimer;
    }
    OnTimer60000:
    set @minute, @minute + 1;
    //Check for 1 Minute
    if(@minute == 60){
    set @minute,0;
    set .@point_amt, 2; //Points to get every hour (default: 10)
    getitem 21009,.@point_amt;
    dispbottom "You received "+.@point_amt+"Event Ticket by staying ingame for 1 hour or you are lucky to get this haha!<.<";
    set @consecutive_hour, @consecutive_hour + 1;
    end;
    }
    //Check for 12 hours consecutive
    if(@consecutive_hour == 12) {
    set @consecutive_hour,0;
    set .@cpoint_amt, 50; //Points to get for 12 Consecutive hours (default: 50)
    getitem 21009,.@point_amt;
    dispbottom "You received "+.@point_amt+"Event Ticket in playing for 12 consecutive hours. <.< dude you need sleep!";
    }
    stopnpctimer;
    initnpctimer;
    end;
    }

    wanted to as how to make it work for AFK people

    i mean people can get the reward too even if they are afk :( been rescripting it for a day now cant get it to work! it works on people that are moving around 

     

    TIA hope someone can help this noob that is me hahaha!

     

     

    Find:

    //Check if Idle
    getmapxy( .@map$, .@x, .@y, 0 );
    if(@map$ == .@map$ && @x == .@x && @y == .@y) {
    set @afk, @afk + 1;
    }
    If move timer resets
    else {
    set @afk, 0;
    }
    end;
    set @map$, .@map$; set @x, .@x; set @y, .@y;
    Idle Check for 5 Minutes
    if(@afk == 0) {
    dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
    stopnpctimer;
    }
    

    Replace:

    //Check if Idle
    getmapxy( .@map$, .@x, .@y, 0 );
    if(@map$ == .@map$ && @x == .@x && @y == .@y) {
    	set @afk, @afk + 1;
    }
    //If move timer resets
    else {
    	set @afk, 0;
    }
    /*
    	set @map$, .@map$; set @x, .@x; set @y, .@y;
    //Idle Check for 5 Minutes
    if(@afk == 5) {
    	dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again.";
    	stopnpctimer;
    	end;
    }
    */
    end;
    

    Now if you also wanna reward people who're AFK with chatroom,

     

    Find:

    OnTimer30000:
    //Check if Vending (normal or @at)
    if(checkvending() >= 1 || checkchatting() == 1)
    

    Replace:

    OnTimer30000:
    //Check if Vending (normal or @at)
    if(checkvending() >= 1)
    

    Basically you just erase that checkchatting() == 1, so that makes it only people who're vending / autovending will be excluded on the rewards.

    • Upvote 1
  4. hello guys, can anyone help me how to make custom monster using player sprite 3rd job, but with mount

    I want custom mob that appear like rune knight with dragon or mechanic with mado

     

    I already read all instruction in http://rathena.org/wiki/Custom_Mobs but can't find a clue about 3rd job mount

    the closest I get is change number for option parameter, the number in wiki is only up to 8192 but I can get my custom monster to looks like player with summer sprite (which is not in wiki) using this number

     

    mob_db.txt:

    4000,EVIL_MECHANIC,Evil Mechanic,Evil Mechanic,160,33333333,1,0,0,9,5000,10000,300,50,300,200,150,300,200,100,12,12,2,7,28,0x37B5,90,300,624,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    

    mob_avail.txt:

    // To disguise a mob as a player:
    // MobID,SpriteID,Sex,Hair_Style,Hair_Color,Weapon,Shield,Head_Top,Head_Middle,Head_Bottom,Option,Dye_Color
    4000,4064,1,1,1,0,0,359,12,1207,262144,1
    

    lWK2ODM.png?1

     

    now I want my custom mob to using 3rd job sprite with mount, is it possible ? thanks in advance  /thx

     

    I guess the ones with mount are the following:

    Job_Knight2	13
    Job_Crusader2	21
    Job_Lord_Knight2	4014
    Job_Paladin2	4022
    Job_Baby_Knight2	4036
    Job_Baby_Crusader2	4044
    Job_Rune_Knight2	4080
    Job_Royal_Guard2	4082
    Job_Mechanic2	4086
    Job_Baby_Rune2	4109
    Job_Baby_Guard2	4110
    Job_Baby_Mechanic2	4112
    

    Try making the SpriteID into one of those of you desire,

  5.  

    Problem im facing is this, unsure what could be causing this.

     

    client packetever is 20140212

    
    [Status]: Received '34' guild castles from char-server.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Status]: Request for connection of Meruem (ip: XXX.XXX.XXX.XXX) version=30
    [Notice]: Authentication accepted (account: Meruem, id: XXXXXXXX, ip: XXX.XXX.XXX.XXX)
    [Status]: Connection of the account 'Meruem' accepted.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: request connect - account_id:XXXXXXXX/login_id1:328182609/login_id2:1908637324
    [Warning]: s aid=XXXXXXXX has an incorect version=30 in clientinfo. Server compiled for 50
    [Info]: sd->version = 30
    [Info]: Loading Char Data (XXXXXXXX)
    [Info]: Char load request (XXXXXXXX)
    [Info]: storage load complete from DB - id: XXXXXXXX (total: 0)
    [Info]: Loaded char (XXXXXXXX - Spinner Clow):  status memo inventory cart storage 0 skills friends hotkeys mercenary
    [Info]: Selected char: (Account XXXXXXXX: 1 - Spinner Clow)
    [Info]: Subnet check [XXX.XXX.XXX.XXX]: WAN
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: clif_parse: Disconnecting session #8 with unknown packet version (p:0x5b57,l:19).
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    [Info]: Closed connection from 'XXX.XXX.XXX.XXX'.
    

     

    Try making the version in your clientinfo.xml into 30.

  6.  

    hello

     

    I try to put a stun effect to Double strafe and Bash by my own but effect doesn't work. This is what I did in Skill.c

     

    case AC_DOUBLE:

    sc_start(src,bl,SC_STUN,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));  << I take this line from skill case AS_SONICBLOW:

    break;

     

    case SM_BASH:

    sc_start(src,bl,SC_STUN,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));  << I take this line from skill case AS_SONICBLOW:

    break;

     
    //if( sd && skill_lv > 5 && pc_checkskill(sd,SM_FATALBLOW)>0 ){
    //BaseChance gets multiplied with BaseLevel/50.0; 500/50 simplifies to 10 [Playtester]
    //status_change_start(src,bl,SC_STUN,(skill_lv-5)*sd->status.base_level*10,
    //skill_lv,0,0,0,skill_get_time2(SM_FATALBLOW,skill_lv),SCSTART_NONE);
    //}
    //break;
     
    I really don't have any knowledge about writing program code can anybody teach me how to fix it?

     

     

    Try this:

     

    Find:

    		case AC_DOUBLE:
    			if( pc_checkskill(sd, HT_POWER)) {
    				duration = 2000;
    				nodelay = 1; //Neither gives walk nor attack delay
    				target_id = 0; //Does not need to be used on previous target
    			}
    			break;
    

    Replace it to:

    		case AC_DOUBLE:
    			sc_start(src,bl,SC_STUN,(2*skill_lv+10),skill_lv,skill_get_time2(skill_id,skill_lv));
    			if( pc_checkskill(sd, HT_POWER)) {
    				duration = 2000;
    				nodelay = 1; //Neither gives walk nor attack delay
    				target_id = 0; //Does not need to be used on previous target
    			}
    			break;
    

    For bash skill, i think fatal blow will do the job.

  7.  

     

    I cant walk/go inside the red circle

    Kindly help me fix this one?

     

    attachicon.gif4444.jpg

     

    I think you need to re-cache your mapcache with the old morocc's gat file.

     

    Can you also walk in the middle?

     

     

     

    yes i can walk in middle map of morocc

     

    attachicon.gifmoc.jpg

     

    how to re-cache morocc with the old morocc's gat file?

    kidly help me and link me where to download old morocc's gat file. 

    Thanks

     

     

    Just give me your current mapcache.dat in your db folder and the old morocc's .gat file and I'll do it.

  8. How to change Thanatos Card Effect to 25% Damage to Demi Human?

     

    4399,Thanatos_Card,Memory of Thanatos Card,6,20,,10,,,,,,,,2,,,,,{ bonus bDefRatioAtkClass,Class_All; bonus bSPDrainValue,-1; bonus bDef,-30; bonus bFlee,-30; },{},{}

     

    How to change GTB Card Effect to 50% Reduce Damage Received to All Magic Damage?

     

    4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,100; bonus bUseSPrate,100; },{},{}

     

     

    Thanks 

     

    This:

    4399,Thanatos_Card,Memory of Thanatos Card,6,20,,10,,,,,,,,2,,,,,{ bonus2 bAddRace,RC_DemiHuman,25; },{},{}
    
    4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,50; bonus bUseSPrate,100; },{},{}
    
  9. Or:

    1201,Knife,Knife,5,50,,400,17,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{ misceffect 375; },{},{}

    [ Effect #375 = Assumptio visual effect ]

     

    The only difference is when knife is equipped and while knife is equipped and you're switching gears, the assumptio effect will occur as long as knife is equipped.

  10. i already to read for this topic. i got something.

    i want my refiner npc will broadcast all if player has got refine +9 - +10

    i got this script

     

    if ( getequiprefinerycnt( .@part ) > 8 ) announce strcharinfo( 0 ) + " got +" + getequiprefinerycnt( .@part ) + " now!", 0;

     but i confused where is i must put this script. i try it but its not work.

    please help .

     

    One alternate solution:

     

    https://rathena.org/board/topic/83076-broadcast-if-successful-forging-items/?p=201347

  11.  

    //--------------Script by : Akbar'e---------------------
    //---------------http://forum.akbare.com----------------
    // Thanks to
    // ROCREW
    //=======================================================
    
    
    -    script    login    -1,{
        if (getgmlevel() == 99){ end; }
        OnPCLoginEvent:
        announce "Welcome , [ "+strcharinfo(0)+" ] | Play get u'r Friends and Love.",bc_yellow|bc_all;
        close;
    }
    

    Please have a check if this works.

     

     

    Thanks for your relpy / help

    but its no work have u another ?

     

     

    Try this:

    //--------------Script by : Akbar'e---------------------
    //---------------http://forum.akbare.com----------------
    // Thanks to
    // ROCREW
    //=======================================================
    
    
    -	script	login	-1,{
    	if (getgmlevel() >= 99){
    	close;
    	}
    	else {
    	OnPCLoginEvent:
    	announce "Welcome , [ "+strcharinfo(0)+" ] | Play get u'r Friends and Love.",bc_yellow|bc_all;
    	close;
    }
    } 

     

    Thanks for reply / help

    but its also no work have u another too?

     

    if GM Level 99 not announce but if player it will announce the script.

    thanks who can help it. :(

     

     

    Here, tested and working:

    //--------------Script by : Akbar'e---------------------
    //---------------http://forum.akbare.com----------------
    // Thanks to
    // ROCREW
    //=======================================================
    
    
    -	script	login	-1,{
    OnPCLoginEvent:
    	if (getgmlevel() < 98) {
    	announce "Welcome , [ "+strcharinfo(0)+" ] | Play get u'r Friends and Love.",bc_yellow|bc_all;
    	} else {
    	close;
    	}
    } 
    
    • Upvote 1
  12.  

    think this already exist in KN_CHARGEATK

     

    unit.c

    		case KN_CHARGEATK: {
    			unsigned int k = (distance_bl(src,target)-1)/3; // +100% every 3 cells of distance
    
    			if( k > 2 )
    				k = 2; // ...but hard-limited to 300%.
    
    			casttime += casttime * k;
    		}
    
    

    battle.c

    		case KN_CHARGEATK: { // +100% every 3 cells of distance but hard-limited to 500%
    				unsigned int k = wd.miscflag / 3;
    
    				if (k < 2)
    					k = 0;
    				else if (k > 1 && k < 3)
    					k = 1;
    				else if (k > 2 && k < 4)
    					k = 2;
    				else if (k > 3 && k < 5)
    					k = 3;
    				else
    					k = 4;
    				skillratio += 100 * k;
    			}
    			break;
    

     

    Oh hey thank you very much for the reply! 

  13. Kindly make this one like this. When a gm click the npc @prontera 56 231, the gm will select an event, then after he selected the event, the npc will announce that gm name is hosting LMS Event, then another npc will appear in prontera 70,240, normal player will click the npc and asking if they want to join LMS Event or not. IF they want to join, they will be warped at Morroc

    Like that sir..THANKS

     

    Try this:

    prontera,56,231,4	script	Event Warper	76,{
    if( getgmlevel() < 80 ) {
            mes "You are not a GM with level 80 or higher, GTFO!";
            close;
            }
     
    digit:
         // Input map and name
         mes "Hello "+strcharinfo(0)+", what do you wish to do?";
     
         switch( select ("Set an Event:Set an Event Map:Set a winner:Announce an Event")) {
     
              case 1:
                   mes "Do you want to set an Event ?";
     
                   if( select ("Yes:No") == 2) goto digit;
     
                   mes "Input the name of the event you want to perform";
                   input .@ev_name$;
                   mes "["+.@ev_name$+"] is correct?";
                   if( select ("Yes:No") == 2) goto digit;
     
                   set $@ev_name$,.@ev_name$;
     
                   mes "Event Name set to ["+$@ev_name$+"]";
                   goto digit;
     
              case 2:
                   if($@ev_map$!="")mes "Actual Event Map is "+$@ev_map$;
                   else mes "No current event maps.";
                   mes "Do you want to set an Event Map?";
     
                   if( select ("Yes:No") == 2) goto digit;
     
                   mes "Input the map where you want the event to take place";
                   input .@ev_map$;
                   mes "["+.@ev_map$+"] is correct?";
                   if( select ("Yes:No") == 2) goto digit;
     
                   set $@ev_map$,.@ev_map$;
     
                   mes "Event Map set to ["+$@ev_map$+"]";
                   goto digit;
     
              case 3:
                   // Be careful not to @reloadscript between the end of the event and the rewarding.
                   if( $@ev_name$=="") {
                        mes "You activated no events.";
                        close;
                        }
     
                   // Rewarding a player will also reset the event map and name
                   mes "Who do you want to reward for winning "+$@ev_name$+" event?";
                   input .@player$;
     
                   mes "["+.@player$+"] is correct?";
                   if( select ("Yes:No") == 2) close;
     
                   announce .@player$+" won the "+$@ev_name$+" event.",0;
     
                   //Remove this if you manage not to give any reward.
                   if( isloggedin(getcharid(3,.@player$))) getitem 7227,5,getcharid(3,.@player$);
     
                   set $@ev_map$,"";
                   set $@ev_name$,"";
                   close;
     
              case 4:
                   if( $@ev_name$=="" || $@ev_map$=="") {
                        mes "Before activating an event you must input a Map and a Name.";
                        goto digit;
                        }
                   break;
              }
     
    mes "Do you want to activate "+.@ev_name$+" event in "+$@ev_map$+" map?";
    if( select ("Yes:No") == 2) close;
     
    announce strcharinfo(0)+" opens the Event Warp to "+.@ev_map$+" for "+.@ev_name$+" event.",0;
    enablenpc "Event Warper";
     
    setnpctimer 0;
    initnpctimer;
     
    sleep 5000;
    announce "3 minutes left to join the event. Use 'Event Warper' to subscribe and warp in the event map.",0;
    end;
     
    OnTimer60000:
         announce "2 minutes left to join the event. Use 'Event Warper' to subscribe and warp in the event map.",0;
         end;
    OnTimer120000:
         announce "1 minutes left to join the event. Use 'Event Warper' to subscribe and warp in the event map.",0;
         end;
    OnTimer180000:
         announce "'Event Warper' closed. None can join the event anymore.",0;
         disablenpc "Event Warper";
         end;
    }
     
    // Event Warper
    prontera,70,240,3	script	Event Warper2	100,{
     
    // Should never happen.
    if($@ev_map$=="") end;
     
    mes "Do you want to warp to the event map? ("+$@ev_map$+")";
    if( select("Yes:No") == 2) close;
     
    warp $@ev_map$,0,0;
    end;
    }
    

    That script actually works, you just did not edited this line:

    // Event Warper
    <map>,<x>,<y>,<facing>%TAB%script%TAB%Event Warper%TAB%<sprite>,{
     
    // Should never happen.
    if($@ev_map$=="") end;
     
    mes "Do you want to warp to the event map? ("+$@ev_map$+")";
    if( select("Yes:No") == 2) close;
     
    warp $@ev_map$,0,0;
    end;
    }
    

    Now if you wanna change the prize find this line:

     if( isloggedin(getcharid(3,.@player$))) getitem 7227,5,getcharid(3,.@player$);

    and change 7227 (item ID) and (amount)

  14. Try this:

     

    4064,Zerom_Card,Zerom Card,6,20,,10,,,,,,,,136,,,,,{ if(isequippedcnt(4064)>=2) {} else { bonus bDex,3; } },{},{}
     
    Only thing about it is when you equip 2 zerom cards together, the +3 dex from the first zerom will be reduced. In other words it's just like you equipped a clip with 2 - 4 zerom cards without any zerom in it since it'll be +0 DEX when 2 or more zerom cards are equipped.
     
    EDIT: My explanation is crap so you could just test it in-game lol.
  15. Try this:

    //--------------Script by : Akbar'e---------------------
    //---------------http://forum.akbare.com----------------
    // Thanks to
    // ROCREW
    //=======================================================
    
    
    -	script	login	-1,{
    	if (getgmlevel() >= 99){
    	close;
    	}
    	else {
    	OnPCLoginEvent:
    	announce "Welcome , [ "+strcharinfo(0)+" ] | Play get u'r Friends and Love.",bc_yellow|bc_all;
    	close;
    }
    } 
×
×
  • Create New...