Jump to content

caspe

Members
  • Posts

    23
  • Joined

  • Last visited

Posts posted by caspe

  1. soularena map (free)


    It is a small gift from me to the Ragnarok Community

    soularena is created for SoulRO and anyone can use it

    This map is created by me (caspe) & it is 100% free

    Request to users

    • Do not claim other's work as yours
    • Do not sell this map
    • Give credit to the original creator

    all texture and models which are used in this map are created by Gravity.


     

  2. Hello, i'm currently using @Annie Ruru dotapvp announcer

    Spoiler

    /*
    create table pvpladder (
        char_id int(11) not null default '0' primary key,
        name varchar(30) not null default '',
        streaks smallint(6) unsigned not null default '0',
        kills smallint(6) unsigned not null default '0',
        deaths smallint(6) unsigned not null default '0',
        streaktime datetime
    ) engine = myisam;

    create table ownladder (
        guild_id int(11) not null default '0' primary key,
        name varchar(24) not null default '',
        currentown smallint(6) unsigned not null default '0',
        highestown smallint(6) unsigned not null default '0',
        owntime datetime
    ) engine = myisam;
    */

    //===== eAthena Script =======================================================
    //= PVP ladder script with dota announcement ( SQL only )
    //===== By: ==================================================================
    //= ~AnnieRuru~
    //===== Current Version: =====================================================
    //= 2.9
    //===== Compatible With: =====================================================
    //= eAthena SQL 14279, with MySQL 5.1
    //===== Description: =========================================================
    //= PVP ladder store in SQL table
    //= plus anti-sit-killer feature
    //===== Topic ================================================================
    //= http://www.eathena.ws/board/index.php?showtopic=177918
    //===== Additional Comments: =================================================
    //= still don't have modify value option, will be done ... in next year ...
    //============================================================================

    //    add all the maps that you want this script to trigger ... all pvp and event maps perhaps ?
    //    but if you already enable "all" maps, then can comment all these
    pvp_y_1-2    mapflag    loadevent
    prt_are01    mapflag    loadevent
    guild_vs3    mapflag    loadevent
    guild_vs4    mapflag    loadevent
    guild_vs5    mapflag    loadevent


    -    script    DOTAPVP    -1,{
    OnInit:
    // Config
        set .sound, 0; // soundeffect : 0 - disable, 1 - play soundeffect to all players on map, 2 - play soundeffect to an area around the killer, 3 - play soundeffect to killer only
        set .announce, 1; // announce to : 0 - global, 1 - map
        set .announcemap, 1; // announce the map name in the announcement ? : 0 - off, 1 - on

        set .announcekill, 1; // announce who pawn who's head : 0 - off, 1 - on
        set .msg_die, 0; // show message who kill you when die : 0 - off, 1 - on
        set .msg_kill, 0; // show message you kill who when killed someone : 0 - off, 1 - on

        set .gmnokill, 0; // GMs are not suppose to kill players. A GM with <this number> level or higher will do nothing. IF set to 60, GM60 and above kill any player will not get anything : 0 - off

        set .killingspree, 3;
        set .dominating, 4;
        set .megakill, 5;
        set .unstoppable, 6;
        set .wickedsick, 7;
        set .monsterkill, 8;
        set .godlike, 9;
        set .holyshit, 10;
        set .continue, 1; // after beyond-godlike, every <this number> kills will make announcement again

        set .owned, 5; // how many times the party/guild has to kill to announce ownage
        set .owncontinue, 1; // after ownage, every <this number> party/guild cumulative kills will make ownage announce again

        set .min_gm_menu, 90; // minimum level of GM can use the GM menu on ladder npc

        set .showtotal, 20; // show the length of ladder. Note : Maximum value = 128
        set .showpage, 10;    // set the views per page. Note : Maximum value = 128
        set .loweststreak, 3; // mininum streak count allow to show in highest streak ladder. Default 3 means must at least have killing spree streak to display in ladder
        set .lowestownage, 5; // mininum ownage count allow to show in longest ownage ladder. Default 5 means must at least have 5 ownage counts to display in ladder

        setarray .maptrigger$, // only these maps will trigger this script
            //"all",
            "pvp_y_1-2",
            "prt_are01",
            "guild_vs3",
            "guild_vs4",
            "guild_vs5";

    //    anti-sit-killer system
        // a player must kill another player with this minimum <this number> base level to get the announcement and in the ladder.
        // Otherwise only have streak ended announcement and killed player's streak reset.
        // Its possible for a level 1 novice to kill a level 99 player and he/she will still get in the ladder
        // but a level 99 kill a level 1 player will get nothing
        // 0 - off this system ( default is 55, pk setting )
        set .lvltokill, 70;

        // when a player kill another same player <this number> times in a row, the player is warp back to save point.
        // and the player's streak, kills, and ownage count will deduct accordingly
        // 0 - off this system
        set .counttopunish, 6;

        // minimum level range to kill another player
        // eg. when set to 20, player level 99 needs to kill another player with minimum level of 79 to get announcement and increase the kill rank.
        // but a player with base level 50 kills a level 99 will also get the announcement
        // higher base level cannot kill lower level, but lower level can kill higher level
        // 0 - off this system
        set .minlvlrange, 20;


    // Config ends ------------------------------------------------------------------------------------------

    //    to prevent bug happen
        if ( .announce < 0 || .announce > 1 ) set .announce, 0;
        if ( .continue < 1 ) set .continue, 1;
        if ( .owncontinue < 1 ) set .owncontinue, 1;
        if ( .gmnokill <= 0 ) set .gmnokill, 100;
        if ( .lvltokill <= 1 ) set .lvltokill, 0;
        if ( .counttopunish <= 1 ) set .counttopunish, 0;
        set .maptriggersize, getarraysize(.maptrigger$);
        end;

    //    script start.
    OnPCKillEvent:
        if ( getgmlevel() >= .gmnokill ) end;
        getmapxy .@map$, .@x, .@y, 0;
        if ( .maptrigger$ != "all" ) {
            for ( set .@i, 0; .@i < .maptriggersize; set .@i, .@i +1 ) {
                if ( .@map$ == .maptrigger$[.@i] ) break;
            }
            if ( .@i == .maptriggersize ) end;
        }
        attachrid killedrid;
        if ( killerrid != getcharid(3) && ( .msg_die || .msg_kill ) ) {
            if ( .msg_die ) message strcharinfo(0),"You have been killed by "+ rid2name(killerrid);
            if ( .msg_kill ) message rid2name(killerrid),"You just killed "+ strcharinfo(0);
        }
        if ( @PlayersKilledStreak >= .holyshit )
            set .@streakname$,"Beyond Godlike";
        else if ( @PlayersKilledStreak >= .godlike )
            set .@streakname$,"Godlike";
        else if ( @PlayersKilledStreak >= .monsterkill )
            set .@streakname$,"Monster Kill";
        else if ( @PlayersKilledStreak >= .wickedsick )
            set .@streakname$,"Wicked Sick";
        else if ( @PlayersKilledStreak >= .unstoppable )
            set .@streakname$,"Unstoppable";
        else if ( @PlayersKilledStreak >= .megakill )
            set .@streakname$,"Mega-kill";
        else if ( @PlayersKilledStreak >= .dominating )
            set .@streakname$,"Dominating";
        else if ( @PlayersKilledStreak >= .killingspree )
            set .@streakname$,"Killing Spree";
        if ( @PlayersKilledStreak >= .killingspree && killerrid == getcharid(3) )
            announce strcharinfo(0) +" has ended "+( (Sex)?"him":"her" )+" own "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce;
        else if ( @PlayersKilledStreak >= .killingspree )
            announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce;
        else if ( .announcekill && killerrid != getcharid(3) )
            announce rid2name(killerrid) +" has pawned "+ strcharinfo(0) +"'s head "+( (.announcemap)?("at "+ .@map$):""),16|.announce;
        set @PlayersKilledStreak,0;
        set @dota_sql_deaths, @dota_sql_deaths +1;
        set @dota_multikills,0;
        query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )";
        set .@killed_gid, getcharid(2);
        if ( .@killed_gid ) {
            setd ".dota_sql_"+ .@killed_gid +"_c", 0;
            if ( getd(".dota_sql_"+ .@killed_gid +"_h") )
                query_sql "replace into ownladder values ( "+ .@killed_gid +", '"+ escape_sql(getguildname(.@killed_gid)) +"', "+ getd(".dota_sql_"+ .@killed_gid +"_c") +", "+ getd(".dota_sql_"+ .@killed_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ .@killed_gid +"_t") +") )";
        }
        if ( killerrid == getcharid(3) || BaseLevel < .lvltokill ) end;
        if ( .minlvlrange ) set .@killedlvl, BaseLevel;
        attachrid killerrid;
        if ( .minlvlrange && .@killedlvl + .minlvlrange < BaseLevel ) end;
        if ( .counttopunish ) {
            if ( @sitkillminute != gettime(2) ) {
                deletearray @sitkillid, 128;
                deletearray @sitkilltimes, 128;
                set @sitkillminute, gettime(2);
            }
            set .@sitkillsize, getarraysize(@sitkillid);
            for ( set .@i,0; .@i < .@sitkillsize; set .@i, .@i +1 ) {
                if ( @sitkillid[.@i] != killedrid ) continue;
                else {
                    set @sitkilltimes[.@i], @sitkilltimes[.@i] +1 ;
                    if ( @sitkilltimes[.@i] >= .counttopunish ) {
                        warp "SavePoint",0,0;
                        announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0;
                        debugmes strcharinfo(0) +" is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] + " times";
                        logmes "is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] +" times";
                        if ( @PlayersKilledStreak == @dota_sql_streaks ) {
                            set @dota_sql_streaks, @dota_sql_streaks +1 - .counttopunish;
                            set @dota_sql_streaktime, gettimetick(2);
                        }
                        set @PlayersKilledStreak, @PlayersKilledStreak +1 - .counttopunish;
                        set @dota_sql_kills, @dota_sql_kills +1 - .counttopunish;
                        query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )";
                        set .@killer_gid, getcharid(2);
                        if ( .@killer_gid ) {
                            if ( getd(".dota_sql_"+ .@killer_gid +"_c") == getd(".dota_sql_"+ .@killer_gid +"_h") ) {
                                setd ".dota_sql_"+ .@killer_gid +"_h", getd(".dota_sql_"+ .@killer_gid +"_h") +1 - .counttopunish;
                                setd ".dota_sql_"+ .@killer_gid +"_t", gettimetick(2);
                            }
                            setd (".dota_sql_"+ .@killer_gid +"_c"), getd(".dota_sql_"+ .@killer_gid +"_c") +1 - .counttopunish;
                            query_sql "replace into ownladder values ( "+ .@killer_gid +", '"+ escape_sql(getguildname(.@killer_gid)) +"', "+ getd(".dota_sql_"+ .@killer_gid +"_c") +", "+ getd(".dota_sql_"+ .@killer_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ .@killer_gid +"_t") +") )";
                        }
                        end;
                    }
                    break;
                }
            }
            if ( .@i == .@sitkillsize ) {
                set @sitkillid[.@i], killedrid;
                set @sitkilltimes[.@i], 1;
            }
        }
        set @PlayersKilledStreak, @PlayersKilledStreak +1 ;
        set @dota_sql_kills, @dota_sql_kills +1 ;
        if ( @PlayersKilledStreak > @dota_sql_streaks ) {
            set @dota_sql_streaks, @PlayersKilledStreak;
            set @dota_sql_streaktime, gettimetick(2);
        }
        query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )";
        if ( @PlayersKilledStreak == .killingspree )
            setarray .@streakname$,"killingspree.wav","is on a KILLING SPREE","!";
        else if ( @PlayersKilledStreak == .dominating )
            setarray .@streakname$,"dominating.wav","is DOMINATING","!";
        else if ( @PlayersKilledStreak == .megakill )
            setarray .@streakname$,"megakill.wav","has a MEGA KILL","!";
        else if ( @PlayersKilledStreak == .unstoppable )
            setarray .@streakname$,"unstoppable.wav","is UNSTOPPABLE","!!";
        else if ( @PlayersKilledStreak == .wickedsick )
            setarray .@streakname$,"wickedsick.wav","is WICKED SICK","!!";
        else if ( @PlayersKilledStreak == .monsterkill )
            setarray .@streakname$,"monsterkill.wav","has a MONSTER KILL","!!";
        else if ( @PlayersKilledStreak == .godlike )
            setarray .@streakname$,"godlike.wav","is GODLIKE","!!!";
        else if ( @PlayersKilledStreak >= .holyshit && ( (@PlayersKilledStreak - .holyshit) % .continue == 0 ) )
            setarray .@streakname$,"holyshit.wav","is BEYOND GODLIKE",". Someone KILL "+( (Sex)?"HIM":"HER" ) +"!!!!!!";
        if ( .@streakname$[1] != "" ) {
            announce strcharinfo(0) +" "+ .@streakname$[1] +"["+ @PlayersKilledStreak +"] "+( (.announcemap)?("at "+ .@map$):"") + .@streakname$[2],16|.announce;
            if ( .sound == 1 ) soundeffectall .@streakname$[0],0,.@map$;
            else if ( .sound == 2 ) soundeffectall .@streakname$[0],0;
            else if ( .sound == 3 ) soundeffect .@streakname$[0],0;
        }
        set @dota_multikills, @dota_multikills + 1;
        deltimer "DOTAPVP::OnStreakReset";
        addtimer 18000,"DOTAPVP::OnStreakReset";
        set .@killer_gid, getcharid(2);
        if ( .@killer_gid && .@killer_gid != .@killed_gid ) {
            setd ".dota_sql_"+ .@killer_gid +"_c", getd(".dota_sql_"+ .@killer_gid +"_c") +1 ;
            if ( getd(".dota_sql_"+ .@killer_gid +"_c") > getd(".dota_sql_"+ .@killer_gid +"_h") ) {
                setd ".dota_sql_"+ .@killer_gid +"_h", getd(".dota_sql_"+ .@killer_gid +"_c");
                setd ".dota_sql_"+ .@killer_gid +"_t", gettimetick(2);
            }
            query_sql "replace into ownladder values ( "+ .@killer_gid +", '"+ escape_sql(getguildname(.@killer_gid)) +"', "+ getd(".dota_sql_"+ .@killer_gid +"_c") +", "+ getd(".dota_sql_"+ .@killer_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ .@killer_gid +"_t") +") )";
        }
        set .@dota_multikills, @dota_multikills;
        set .@origin, getcharid(3);
        sleep 1500;
        if ( .@killer_gid && .@killer_gid != .@killed_gid && getd(".dota_sql_"+ .@killer_gid +"_c") >= .owned && ( ( getd(".dota_sql_"+ .@killer_gid +"_c") - .owned ) % .owncontinue == 0 ) ) {
            if ( .announce ) mapannounce .@map$, "The guild ["+ getguildname(.@killer_gid) +"] is OWNING["+ getd(".dota_sql_"+ .@killer_gid +"_c") +"] !!!",16;
            else announce "The guild ["+ getguildname(.@killer_gid) +"] is OWNING["+ getd(".dota_sql_"+ .@killer_gid +"_c") +"] !!!",16;
            if ( .sound == 1 ) soundeffectall "ownage.wav",0,.@map$;
            else if ( .sound == 2 ) soundeffectall "ownage.wav",0;
            else if ( .sound == 3 && attachrid(.@origin) ) soundeffect "ownage.wav",0;
        }
        sleep 1250;
        if ( !attachrid(.@origin) ) end;
        if ( .@dota_multikills == 2 ) {
            if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Double Kill !",16;
            else announce strcharinfo(0) +" just got a Double Kill !",16;
            if ( .sound == 1 ) soundeffectall "doublekill.wav",0,.@map$;
            else if ( .sound == 2 ) soundeffectall "doublekill.wav",0;
            else if ( .sound == 3 ) soundeffect "doublekill.wav",0;
        }
        else if ( .@dota_multikills == 3 ) {
            if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Triple Kill !!!",16;
            else announce strcharinfo(0) +" just got a Triple Kill !!!",16;
            if ( .sound == 1 ) soundeffectall "triplekill.wav",0,.@map$;
            else if ( .sound == 2 ) soundeffectall "triplekill.wav",0;
            else if ( .sound == 3 ) soundeffect "triplekill.wav",0;
        }
        else if ( .@dota_multikills == 4 ) {
            if ( .announce ) mapannounce .@map$, strcharinfo(0) +" just got a Ultra Kill !!!",16;
            else announce strcharinfo(0) +" just got a Ultra Kill !!!",16;
            if ( .sound == 1 ) soundeffectall "ultrakill.wav",0,.@map$;
            else if ( .sound == 2 ) soundeffectall "ultrakill.wav",0;
            else if ( .sound == 3 ) soundeffect "ultrakill.wav",0;
        }
        else if ( .@dota_multikills >= 5 ) {
            if ( .announce ) mapannounce .@map$, strcharinfo(0) +" is on a Rampage !!!",16;
            else announce strcharinfo(0) +" is on a Rampage !!!",16;
            if ( .sound == 1 ) soundeffectall "rampage.wav",0,.@map$;
            else if ( .sound == 2 ) soundeffectall "rampage.wav",0;
            else if ( .sound == 3 ) soundeffect "rampage.wav",0;
        }
        end;
    OnStreakReset:
        set @dota_multikills, 0;
        end;
    OnWhisperGlobal:
        if ( @spam_dotapvp + 3 >= gettimetick(2) ) // 3 seconds interval so player don spam this command
            end;
        set @spam_dotapvp, gettimetick(2);
        if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 )
            query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime;
        if ( @dota_sql_kills || @dota_sql_deaths ) {
            dispbottom "Your current Streak      : "+ @PlayersKilledStreak;
            dispbottom "Your total Kills               : "+ @dota_sql_kills;
            dispbottom "Your total Deaths          : "+ @dota_sql_deaths;
            dispbottom "Your highest Streak      : "+ @dota_sql_streaks;
            query_sql "select date_format( from_unixtime("+ @dota_sql_streaktime +"),'%a %e/%c/%y %r')", .@time1$;
            dispbottom "Your highest Streak on : "+ .@time1$;
        }
        else
            dispbottom "You are not in the pvp ladder yet.";
        if ( getcharid(2) ) {
            if ( getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) {
                query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), .@c, .@h, .@t;
                setd ".dota_sql_"+ getcharid(2) +"_c", .@c;
                setd ".dota_sql_"+ getcharid(2) +"_h", .@h;
                setd ".dota_sql_"+ getcharid(2) +"_t", .@t;
            }
            if ( getd(".dota_sql_"+ getcharid(2) +"_h") ) {
                dispbottom "Your guild current Own      : "+ getd(".dota_sql_"+ getcharid(2) +"_c");
                dispbottom "Your guild highest Own      : "+ getd(".dota_sql_"+ getcharid(2) +"_h");
                query_sql "select date_format( from_unixtime("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ) +"),'%a %e/%c/%y %r')", .@time2$;
                dispbottom "Your guild highest Own on : "+ .@time2$;
            }
            else
                dispbottom "Your guild is not in the ladder yet.";
        }
        end;
    OnPCLoginEvent:
        if ( .maptrigger$ != "all" ) end;
    OnPCLoadMapEvent:
        if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) {
            if ( .maptrigger$ != "all" ) {
                getmapxy .@map$, .@x, .@y, 0;
                for ( set .@i, 0; .@i < .maptriggersize; set .@i, .@i +1 ) {
                    if ( .@map$ == .maptrigger$[.@i] ) break;
                }
                if ( .@i == .maptriggersize ) end;
            }
            query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime;
        }
        if ( getcharid(2) && getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) {
            query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), .@c, .@h, .@t;
            setd ".dota_sql_"+ getcharid(2) +"_c", .@c;
            setd ".dota_sql_"+ getcharid(2) +"_h", .@h;
            setd ".dota_sql_"+ getcharid(2) +"_t", .@t;
        }
        end;
    }

    prontera,169,178,3    script    PvP-StatsViewer    4_M_CRU_SOLD,{
        set .@npcname$, strnpcinfo(0);
        while (1) {
            mes "["+ .@npcname$ +"]";
            mes "Hello "+ strcharinfo(0) +"...";
            mes "If you want to I can show you your PVP stats.";
            next;
            switch ( select ( "Most Kills","Highest Streak","Longest Ownage","Own Information","Explanation" ) ) {
                case 1:
                    set .@nb, query_sql("select name, kills, deaths from pvpladder order by kills desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), .@name$, .@kills, .@deaths);
                    if ( .@nb == 0 ) {
                        mes "["+ .@npcname$ +"]";
                        mes "The ladder currently is empty.";
                        next;
                    }
                    for ( set .@j,0; .@j < .@nb; set .@j, .@j + getvariableofnpc(.showpage,"DOTAPVP") ) {
                        mes "["+ .@npcname$ +"]";
                        for ( set .@i, .@j; .@i < (getvariableofnpc(.showpage,"DOTAPVP") + .@j) && .@i < .@nb; set .@i, .@i + 1 ) {
                            mes "^996600"+ (.@i+1) +": ^006699"+ .@name$[.@i] +" ^00AA00["+ .@kills[.@i] +"] ^FF0000<"+ .@deaths[.@i] +">^000000";
                        }
                        next;
                    }
                    break;
                case 2:
                    set .@nb, query_sql("select name, streaks, date_format(streaktime,'%a %e/%c/%y %r') from pvpladder where streaks >= "+ getvariableofnpc(.loweststreak,"DOTAPVP") +" order by streaks desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), .@name$, .@streak, .@time$);
                    if ( .@nb == 0 ) {
                        mes "["+ .@npcname$ +"]";
                        mes "The ladder currently is empty.";
                        next;
                    }
                    for ( set .@j,0; .@j < .@nb; set .@j, .@j + getvariableofnpc(.showpage,"DOTAPVP") ) {
                        mes "["+ .@npcname$ +"]";
                        for ( set .@i, .@j; .@i < (getvariableofnpc(.showpage,"DOTAPVP") + .@j) && .@i < .@nb; set .@i, .@i + 1 ) {
                            mes "^996600"+ (.@i+1) +": ^006699"+ .@name$[.@i] +" ^70AC11{"+ .@streak[.@i] +"} ^000000on :";
                            mes "    ^EE8800"+ .@time$[.@i] +"^000000";
                        }
                        next;
                    }
                    break;
                case 3:
                    set .@nb, query_sql("select name, highestown, date_format(owntime,'%a %e/%c/%y %r') from ownladder where highestown >= "+ getvariableofnpc(.lowestownage,"DOTAPVP") +" order by highestown desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), .@name$, .@owned, .@time$);
                    if ( .@nb == 0 ) {
                        mes "["+ .@npcname$ +"]";
                        mes "The ladder currently is empty.";
                        next;
                    }
                    for ( set .@j,0; .@j < .@nb; set .@j, .@j + getvariableofnpc(.showpage,"DOTAPVP") ) {
                        mes "["+ .@npcname$ +"]";
                        for ( set .@i, .@j; .@i < (getvariableofnpc(.showpage,"DOTAPVP") + .@j) && .@i < .@nb; set .@i, .@i + 1 ) {
                            mes "^996600"+ (.@i+1) +": ^006699"+ .@name$[.@i] +" ^00AAAA("+ .@owned[.@i] +") ^000000on :";
                            mes "    ^EE8800"+ .@time$[.@i] +"^000000";
                        }
                        next;
                    }
                    break;
                case 4:
                    if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 )
                        query_sql "select kills, deaths, streaks, unix_timestamp(streaktime), date_format(streaktime,'%a %e/%c/%y %r') from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime, .@time1$;
                    mes "["+ .@npcname$ +"]";
                    if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 )
                        mes "You not yet kill any player.";
                    else {
                        mes "Your Current Streak : ^70AC11{"+ @PlayersKilledStreak +"}^000000";
                        mes "Your Total Kills : ^00AA00["+ @dota_sql_kills +"]^000000";
                        mes "Your Death Counts : ^FF0000<"+ @dota_sql_deaths +">^000000";
                        if ( @dota_sql_kills || @dota_sql_streaks ) {
                            mes "Highest Streak was ^70AC11{"+ @dota_sql_streaks +"}^000000 on :";
                            query_sql "select date_format( from_unixtime("+ @dota_sql_streaktime +"),'%a %e/%c/%y %r')", .@time1$;
                            mes "    ^EE8800"+ .@time1$ +"^000000";
                        }
                    }
                    next;
                    if ( getcharid(2) ) {
                        if ( getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ) == 0 ) {
                            query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), .@c, .@h, .@t;
                            set getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_c"), "DOTAPVP" ), .@c;
                            set getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ), .@h;
                            set getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ), .@t;
                        }
                        mes "["+ .@npcname$ +"]";
                        if ( getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ) == 0 ) {
                            mes "Your guild not yet kill any player.";
                        } else {
                            mes "Your guild name : ^006699"+ strcharinfo(2) +"^000000";
                            mes "Current Owning  : ^00AAAA("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_c"), "DOTAPVP" ) +")^000000";
                            mes "Longest Ownage was ^00AAAA("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ) + ")^000000 on :";
                            query_sql "select date_format( from_unixtime("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ) +"),'%a %e/%c/%y %r')", .@time2$;
                            mes "    ^EE8800"+ .@time2$ +"^000000";
                        }
                        next;
                    }
                    break;
                case 5:
                    mes "["+ .@npcname$ +"]";
                    mes "Explanation for Most Kills:";
                    mes " ";
                    mes "^996600Rank. ^006699NAME ^00AA00[Total Kills] ^FF0000<Deaths>^000000";
                    mes " ";
                    mes "--------------------------------";
                    mes " ";
                    mes "The ^00AA00Kills^000000 added when a player kills another player.";
                    mes " ";
                    mes "^FF0000Deaths^000000 count increase when a player killed by another player, or suicide (eg: Grand Cross).";
                    mes " ";
                    mes "A player killed by monsters, homunculus or pets will not add the kills or deaths count.";
                    next;
                    mes "["+ .@npcname$ +"]";
                    mes "Explanation for Highest Streak:";
                    mes " ";
                    mes "^996600Rank. ^006699NAME ^70AC11{Highest Streak} ^000000on :";
                    mes "    ^EE8800TIME^000000";
                    mes " ";
                    mes "--------------------------------";
                    mes " ";
                    mes "The ^70AC11Streak^000000 are added every time a player kills another player. It will reset upon log out, killed by another player, or suicide (eg: Sacrifice).";
                    mes " ";
                    mes "Then it record in the server the ^EE8800TIME^000000 when that player got that highest streak.";
                    mes " ";
                    mes "A player killed by monsters, homunculus or pets will not reset the streak.";
                    mes " ";
                    mes "--------------------------------";
                    mes " ";
                    mes "The numbers of straight kills to get these announcements are :";
                    mes "^70AC11"+ getvariableofnpc(.killingspree,"DOTAPVP") +"^000000 : Killing Spree";
                    mes "^70AC11"+ getvariableofnpc(.dominating,"DOTAPVP") +"^000000 : Dominating";
                    mes "^70AC11"+ getvariableofnpc(.megakill,"DOTAPVP") +"^000000 : Mega Kill";
                    mes "^70AC11"+ getvariableofnpc(.unstoppable,"DOTAPVP") +"^000000 : Unstoppable";
                    mes "^70AC11"+ getvariableofnpc(.wickedsick,"DOTAPVP") +"^000000 : Wicked Sick";
                    mes "^70AC11"+ getvariableofnpc(.monsterkill,"DOTAPVP") +"^000000 : Monster Kill";
                    mes "^70AC11"+ getvariableofnpc(.godlike,"DOTAPVP") +"^000000 : Godlike";
                    mes "^70AC11"+ getvariableofnpc(.holyshit,"DOTAPVP") +"^000000 : Beyond Godlike";
                    next;
                    mes "["+ .@npcname$ +"]";
                    mes "Explanation for Longest Ownage:";
                    mes " ";
                    mes "^996600Rank. ^006699NAME ^00AAAA(Longest Ownage) ^000000on :";
                    mes "    ^EE8800TIME^000000";
                    mes " ";
                    mes "--------------------------------";
                    mes " ";
                    mes "The ^00AAAAOwnage^000000 added every time any guild members killed another player that doesn't belong to his/her guild. It will reset when any of the guild member was killed by ANY player, including his/her guild member.";
                    mes " ";
                    mes "Then it record in the server the ^EE8800TIME^000000 when the guild got that longest ownage.";
                    mes " ";
                    mes "If the server went under maintainance, the current ownage will survive after the server restart.";
                    mes " ";
                    mes "Any guild member killed by monster, homunculus or pets will not reset the ownage count.";
                    next;
                    if ( getvariableofnpc(.lvltokill,"DOTAPVP") ) {
                        mes "["+ .@npcname$ +"]";
                        mes "You must kill another player with minimum base level of "+ getvariableofnpc(.lvltokill,"DOTAPVP") +", in order to get an announcement or get in the ladder.";
                        mes " ";
                        mes "It's possible for a base level 1 novice kills a base level 99 player and still can get in the ladder.";
                        mes "However when a player level 99 kills a level 1 novice will get nothing.";
                        next;
                    }
                    if ( getvariableofnpc(.counttopunish,"DOTAPVP") ) {
                        mes "["+ .@npcname$ +"]";
                        mes "Some noob players try to kill the same person over and over again in hope of getting his/her name appear in the ladder.";
                        mes "However if you trying to do the same thing on this ladder, your name will announce to the public, and your action will be recorded into the server to notify the GMs.";
                        next;
                    }
                    if ( getvariableofnpc(.minlvlrange,"DOTAPVP") ) {
                        mes "["+ .@npcname$ +"]";
                        mes "When you kill another player thats lower base level than you, the base level gap between you and that player must not more than "+ getvariableofnpc(.minlvlrange,"DOTAPVP") +".";
                        mes " ";
                        if ( getvariableofnpc(.minlvlrange,"DOTAPVP") >= 200)
                            mes "In other words, if your base level is 500, the player you killed must be at least level "+( 500 - getvariableofnpc(.minlvlrange,"DOTAPVP") )+" then only you will get the announcement and in the ladder.";
                        else if ( getvariableofnpc(.minlvlrange,"DOTAPVP") >= 70)
                            mes "In other words, if your base level is 255, the player you killed must be at least level "+( 255 - getvariableofnpc(.minlvlrange,"DOTAPVP") )+" then only you will get the announcement and in the ladder.";
                        else
                            mes "In other words, if your base level is 99, the player you killed must be at least level "+( 99 - getvariableofnpc(.minlvlrange,"DOTAPVP") )+" then only you will get the announcement and in the ladder.";
                        mes "Higher base level kills lower level gets nothing, however lower level player kills higher level will get the announcement.";
                        next;
                    }
                    break;
            }
        }
    }

    It is currently only announce on map, what i want is

    it to announce global only, if player is on killing streak of 5 or more.

    can someone help me.

     

    setting

    set .announce, 0; // announce to : 0 - global, 1 - map

    will announce global, but it will just spam on global chat.

  3. Your recvpackets.txt format not right, also

    Server.txt

    Spoiler

    private 1
    master_version 0
    serverEncoding Korean
    charBlockSize 144

    try with this server

    recvpackets.txt

    Spoiler

    0369 7 7 0
    083C 10 10 0
    0437 5 5 0
    035F 6 6 0
    0202 5 5 0
    07E4 6 6 0
    0362 6 6 0
    07EC 8 8 0
    0364 8 8 0
    0438 10 10 0
    0366 90 90 0
    096A 6 6 0
    0368 6 6 0
    0838 12 12 0
    0835 2 2 0
    0819 -1 15 0
    0811 -1 12 0
    0360 6 6 0
    0817 2 2 0
    0815 -1 89 0
    0365 18 18 0
    0363 8 8 0
    0281 -1 12 0
    022D 19 19 0
    0802 26 26 0
    0436 4 4 0
    023B 26 26 0
    0361 5 5 0
    0887 36 36 0
    0367 2 2 0
    085A 2 2 0
    085B 2 2 0
    085C 2 2 0
    085D 2 2 0
    085E 2 2 0
    085F 2 2 0
    0860 2 2 0
    0861 2 2 0
    0862 2 2 0
    0863 2 2 0
    0864 2 2 0
    0865 2 2 0
    0866 2 2 0
    0867 2 2 0
    0868 2 2 0
    0869 2 2 0
    086A 2 2 0
    086B 2 2 0
    086C 2 2 0
    086D 2 2 0
    086E 2 2 0
    086F 2 2 0
    0870 2 2 0
    0871 2 2 0
    0872 2 2 0
    0873 2 2 0
    0874 2 2 0
    0875 2 2 0
    0876 2 2 0
    0877 2 2 0
    0878 2 2 0
    0879 2 2 0
    087A 2 2 0
    087B 2 2 0
    087C 2 2 0
    087D 2 2 0
    087E 2 2 0
    087F 2 2 0
    0880 2 2 0
    0881 2 2 0
    0882 2 2 0
    0883 2 2 0
    0917 2 2 0
    0918 2 2 0
    0919 2 2 0
    091A 2 2 0
    091B 2 2 0
    091C 2 2 0
    091D 2 2 0
    091E 2 2 0
    091F 2 2 0
    0920 2 2 0
    0921 2 2 0
    0922 2 2 0
    0923 2 2 0
    0924 2 2 0
    0925 2 2 0
    0926 2 2 0
    0927 2 2 0
    0928 2 2 0
    0929 2 2 0
    092A 2 2 0
    092B 2 2 0
    092C 2 2 0
    092D 2 2 0
    092E 2 2 0
    092F 2 2 0
    0930 2 2 0
    0931 2 2 0
    0932 2 2 0
    0933 2 2 0
    0934 2 2 0
    0935 2 2 0
    0936 2 2 0
    0937 2 2 0
    0938 2 2 0
    0939 2 2 0
    093A 2 2 0
    093B 2 2 0
    093C 2 2 0
    093D 2 2 0
    093E 2 2 0
    093F 2 2 0
    02C4 2 2 0
    0884 2 2 0
    0885 2 2 0
    0940 2 2 0
    0886 2 2 0
    0888 2 2 0
    0889 2 2 0
    088A 2 2 0
    088B 2 2 0
    088C 2 2 0
    088D 2 2 0
    088E 2 2 0
    088F 2 2 0
    0890 2 2 0
    0891 2 2 0
    0892 2 2 0
    0893 2 2 0
    0894 2 2 0
    0895 2 2 0
    0896 2 2 0
    0897 2 2 0
    0898 2 2 0
    0899 2 2 0
    089A 2 2 0
    089B 2 2 0
    089C 2 2 0
    089D 2 2 0
    089E 2 2 0
    089F 2 2 0
    08A0 2 2 0
    08A1 2 2 0
    08A2 2 2 0
    08A3 2 2 0
    08A4 2 2 0
    08A5 2 2 0
    08A6 2 2 0
    08A7 2 2 0
    08A8 2 2 0
    08A9 2 2 0
    08AA 2 2 0
    08AB 2 2 0
    08AC 2 2 0
    08AD 2 2 0
    0941 2 2 0
    0942 2 2 0
    0943 2 2 0
    0944 2 2 0
    0945 2 2 0
    0946 2 2 0
    0947 2 2 0
    0948 2 2 0
    0949 2 2 0
    094A 2 2 0
    094B 2 2 0
    094C 2 2 0
    094D 2 2 0
    094E 2 2 0
    094F 2 2 0
    0950 2 2 0
    0951 2 2 0
    0952 2 2 0
    0953 2 2 0
    0954 2 2 0
    0955 2 2 0
    0956 2 2 0
    0957 2 2 0
    0958 2 2 0
    0959 2 2 0
    095A 2 2 0
    095B 2 2 0
    095C 2 2 0
    095D 2 2 0
    095E 2 2 0
    095F 2 2 0
    0960 2 2 0
    0961 2 2 0
    0962 2 2 0
    0963 2 2 0
    0964 2 2 0
    0965 2 2 0
    0966 2 2 0
    0967 2 2 0
    0968 2 2 0
    0969 2 2 0
    0187 6 6 0
    0081 3 3 0
    01C6 4 4 0
    01C7 2 2 1
    0064 55 55 0
    0069 -1 47 0
    006A 23 23 0
    01DB 2 2 0
    01DC -1 4 0
    01DD 47 47 0
    01FA 48 48 0
    0204 18 18 0
    01F1 -1 4 0
    0200 26 26 0
    01BE 2 2 0
    01BF 3 3 0
    0065 17 17 0
    0066 3 3 0
    0067 37 37 0
    0970 31 31 0
    020D -1 4 0
    006B -1 24 0
    006C 3 3 0
    006D 146 146 0
    006E 3 3 0
    0071 28 28 0
    0068 46 46 0
    01FB 56 56 0
    006F 2 2 0
    0070 3 3 0
    02CA 3 3 0
    009B 34 34 0
    0082 2 2 0
    00A7 9 9 0
    0190 23 23 0
    00F3 -1 4 0
    0089 11 11 0
    007D 2 2 0
    0090 7 7 0
    0099 -1 4 0
    019C -1 4 0
    0085 10 10 0
    00CC 6 6 0
    00CE 2 2 0
    00F5 11 11 0
    0116 17 17 0
    009F 20 20 0
    00A9 6 6 0
    00AB 4 4 0
    00B8 7 7 0
    00B9 6 6 0
    00B2 3 3 0
    00BA 2 2 0
    00BB 5 5 0
    00BF 3 3 0
    00C1 2 2 0
    00C5 7 7 0
    00C8 -1 4 0
    00C9 -1 4 0
    0096 -1 28 0
    00CF 27 27 0
    00D0 3 3 0
    00D3 2 2 0
    00D5 -1 15 0
    00D9 14 14 0
    00DE -1 15 0
    00E0 30 30 0
    00E2 26 26 0
    00E3 2 2 0
    00E4 6 6 0
    00E6 3 3 0
    00E8 8 8 0
    00EB 2 2 0
    00ED 2 2 0
    00EF 2 2 0
    0094 19 19 0
    00F7 17 17 0
    0193 2 2 0
    00F9 26 26 0
    01E8 28 28 0
    00FC 6 6 0
    00FF 10 10 0
    0102 6 6 0
    0100 2 2 0
    0103 30 30 0
    0108 -1 4 0
    0112 4 4 0
    0072 22 22 0
    0113 25 25 0
    0118 2 2 0
    011B 20 20 0
    011D 2 2 0
    0126 8 8 0
    0127 8 8 0
    0128 8 8 0
    0129 8 8 0
    012A 2 2 0
    012E 2 2 0
    012F -1 84 0
    01B2 -1 85 0
    0134 -1 8 0
    0130 6 6 0
    0138 3 3 0
    013F 26 26 0
    0140 22 22 0
    0143 10 10 0
    0146 6 6 0
    0178 4 4 0
    017A 4 4 0
    017C 6 6 0
    01FD 15 15 0
    018A 4 4 0
    018E 10 10 0
    007E 105 105 0
    0197 4 4 0
    0198 8 8 0
    01AE 4 4 0
    025B 6 6 0
    01AF 4 4 0
    01B9 6 6 1
    01CD 30 30 1
    01CE 6 6 0
    0443 8 8 0
    01CF 28 28 1
    01D0 8 8 1
    01E1 8 8 1
    01D1 14 14 1
    01D2 10 10 1
    008C 14 14 0
    0095 30 30 1
    0195 102 102 1
    00A2 14 14 0
    0175 6 6 0
    0176 106 106 0
    0079 53 53 1
    019D 6 6 0
    014C -1 4 1
    014D 2 2 0
    014E 6 6 1
    014F 6 6 0
    0150 110 110 1
    01B6 114 114 1
    0151 6 6 0
    0152 -1 12 1
    0153 -1 4 0
    0154 -1 4 1
    0166 -1 4 1
    0155 -1 4 0
    0156 -1 4 1
    0157 6 6 0
    0159 54 54 0
    015A 66 66 1
    015B 54 54 0
    015C 90 90 1
    015D 42 42 0
    015E 6 6 1
    015F 42 42 1
    0160 -1 4 1
    0161 -1 4 0
    0162 -1 6 1
    0163 -1 4 1
    0164 -1 4 1
    0165 30 30 0
    0167 3 3 1
    0168 14 14 0
    0169 3 3 1
    016A 30 30 1
    016B 10 10 0
    0149 9 9 0
    014A 6 6 1
    014B 27 27 1
    016E 186 186 0
    016F 182 182 1
    017E -1 4 0
    017F -1 4 1
    0165 30 30 0
    0166 -1 4 1
    0167 3 3 1
    0168 14 14 0
    0169 3 3 1
    016A 30 30 1
    016B 10 10 0
    016C 43 43 1
    016C 43 43 1
    016D 14 14 1
    01F2 20 20 1
    0170 14 14 0
    0171 30 30 1
    0172 10 10 0
    0173 3 3 1
    0174 -1 4 1
    0180 6 6 0
    0181 3 3 1
    0182 106 106 1
    0183 10 10 0
    0184 10 10 1
    0185 34 34 1
    019E 2 2 1
    019F 6 6 0
    01A0 3 3 1
    01A1 3 3 0
    01A2 37 37 1
    01A3 5 5 1
    01A4 11 11 1
    01A5 26 26 0
    01A6 -1 4 1
    01A7 4 4 0
    01A8 4 4 0
    01A9 6 6 0
    01AA 10 10 1
    01CA 3 3 0
    01B0 11 11 1
    01B1 7 7 1
    01BA 26 26 0
    01BB 26 26 0
    01BC 26 26 0
    01BD 26 26 0
    01C0 2 2 0
    01C1 14 14 1
    01C2 10 10 1
    01D3 35 35 1
    01D5 -1 8 0
    01D4 6 6 1
    01DF 6 6 0
    01F3 10 10 1
    0284 14 14 1
    01FF 10 10 1
    01ED 2 2 0
    01E7 2 2 0
    01B7 6 6 0
    01F7 14 14 0
    01E3 14 14 0
    01CB 9 9 0
    01F9 6 6 0
    01E5 6 6 0
    0201 -1 4 1
    0203 10 10 0
    0205 26 26 1
    0206 11 11 1
    0207 34 34 1
    0208 14 14 0
    0209 36 36 1
    020A 10 10 1
    020E 32 32 1
    0212 26 26 0
    0213 26 26 0
    0214 42 42 1
    0215 6 6 1
    0216 6 6 1
    0217 2 2 0
    0218 2 2 0
    0225 2 2 0
    0219 282 282 1
    021A 282 282 1
    0226 282 282 1
    0282 284 284 1
    021B 10 10 1
    021C 10 10 1
    0224 10 10 1
    0280 12 12 1
    0285 6 6 1
    0286 4 4 0
    021D 6 6 0
    021E 6 6 0
    021F 66 66 1
    0222 6 6 0
    0221 -1 4 1
    0220 10 10 1
    0223 8 8 1
    0073 11 11 1
    0074 3 3 0
    0075 -1 11 1
    0076 9 9 1
    0077 5 5 1
    0078 55 55 1
    007A 58 58 1
    007B 60 60 1
    007C 44 44 1
    007F 6 6 1
    0080 7 7 1
    0083 2 2 1
    0084 2 2 1
    0086 16 16 1
    0087 12 12 1
    0088 10 10 1
    08CD 10 10 1
    008A 29 29 1
    008B 23 23 1
    008D -1 8 1
    008E -1 4 1
    0091 22 22 1
    0092 28 28 1
    0093 2 2 1
    0097 -1 32 1
    0098 3 3 1
    009A -1 4 1
    009C 9 9 1
    009D 17 17 1
    009E 17 17 1
    00A0 23 23 1
    00A1 6 6 1
    00A3 -1 4 1
    00A4 -1 4 1
    00A5 -1 4 1
    00A6 -1 4 1
    00A8 7 7 1
    00AA 9 9 1
    00AC 7 7 1
    00AE -1 4 1
    00AF 6 6 1
    00B0 8 8 1
    00B1 8 8 1
    00B3 3 3 0
    00B4 -1 8 1
    00B5 6 6 1
    00B6 6 6 1
    00B7 -1 8 1
    00BC 6 6 1
    00BD 44 44 1
    00BE 5 5 1
    00C0 7 7 1
    00C2 6 6 1
    00C3 8 8 1
    00C4 6 6 1
    00C6 -1 4 1
    00C7 -1 4 1
    00CA 3 3 1
    00CB 3 3 1
    00CD 3 3 1
    00D1 4 4 1
    00D2 4 4 1
    00D4 -1 4 1
    00D6 3 3 1
    00D7 -1 17 1
    00D8 6 6 1
    00DA 3 3 1
    00DB -1 8 1
    00DC 28 28 1
    00DD 29 29 1
    00DF -1 17 1
    00E1 30 30 1
    00E5 26 26 1
    00E7 3 3 1
    00E9 19 19 1
    00EA 5 5 1
    00EC 3 3 1
    00EE 2 2 1
    00F0 3 3 1
    00F1 2 2 1
    00F2 6 6 1
    00F4 21 21 1
    00F6 8 8 1
    00F8 2 2 1
    00FA 3 3 1
    00FB -1 28 1
    00FD 27 27 1
    00FE 30 30 1
    0101 6 6 1
    0104 79 79 1
    0105 31 31 1
    0106 10 10 1
    0107 10 10 1
    0109 -1 8 1
    010A 4 4 1
    010B 6 6 1
    010C 6 6 1
    010D 2 2 1
    010E 11 11 1
    010F -1 4 1
    02B1 -1 8 1
    02B2 -1 8 1
    02B5 -1 6 1
    0110 10 10 1
    0111 39 39 1
    0114 31 31 1
    0115 35 35 1
    0117 18 18 1
    0119 13 13 1
    0229 15 15 1
    011A 15 15 1
    011C 68 68 1
    011E 3 3 1
    011F 16 16 1
    0120 6 6 1
    0121 14 14 1
    0122 -1 4 1
    0123 -1 4 1
    0124 21 21 1
    0125 8 8 1
    012B 2 2 1
    012C 3 3 1
    012D 4 4 1
    0131 86 86 1
    0132 6 6 1
    0133 -1 8 1
    0135 7 7 1
    0136 -1 8 1
    0137 6 6 1
    0139 16 16 1
    013A 4 4 1
    013B 4 4 1
    013C 4 4 1
    013D 6 6 1
    013E 24 24 1
    0141 14 14 1
    0142 6 6 1
    0144 23 23 1
    0145 19 19 1
    0147 39 39 1
    0148 8 8 1
    0177 -1 4 1
    0179 5 5 1
    017B -1 4 1
    017D 7 7 1
    0188 8 8 1
    0189 4 4 1
    018B 4 4 0
    018C 29 29 1
    018D -1 4 1
    018F 6 6 1
    0191 86 86 1
    0192 24 24 1
    0194 30 30 1
    0196 9 9 1
    028A 18 18 1
    0199 4 4 1
    019A 14 14 1
    019B 10 10 1
    01AB 12 12 1
    01AC 6 6 1
    01AD -1 4 1
    025A -1 4 1
    01B3 67 67 1
    01B4 12 12 1
    01B5 18 18 0
    01B8 3 3 1
    01C3 -1 16 1
    01C4 22 22 1
    01C5 22 22 1
    01C8 13 13 1
    01C9 97 97 1
    01CC 9 9 1
    01D6 4 4 1
    01D7 11 11 1
    01D8 54 54 1
    022A 58 58 1
    01D9 53 53 1
    022B 57 57 1
    01DA 60 60 1
    022C 65 65 1
    01DE 33 33 1
    01E0 30 30 1
    01E2 34 34 1
    01E4 2 2 1
    01E6 26 26 1
    01E9 81 81 1
    01EA 6 6 1
    01EB 10 10 1
    01EC 26 26 1
    01EE -1 4 1
    01EF -1 4 1
    01F0 -1 4 1
    01F4 32 32 1
    01F5 9 9 1
    01F6 34 34 1
    0253 3 3 1
    0254 3 3 0
    01F8 2 2 1
    01FC -1 4 1
    01FE 5 5 1
    0227 18 18 0
    0228 18 18 0
    0232 9 9 0
    0233 11 11 0
    0234 6 6 0
    0230 12 12 1
    022E 71 71 1
    027D 62 62 0
    0235 -1 4 1
    0239 11 11 1
    022F 5 5 1
    0231 26 26 0
    0237 2 2 0
    0238 282 282 1
    0236 10 10 1
    023A 4 4 0
    023C 6 6 0
    023D 6 6 0
    023E 8 8 0
    023F 2 2 0
    0240 -1 8 1
    0241 6 6 0
    0242 -1 99 1
    0243 6 6 0
    0257 8 8 1
    0244 6 6 0
    0245 3 3 1
    0246 4 4 0
    0247 8 8 0
    0248 -1 68 0
    0249 3 3 1
    024A 70 70 1
    024B 4 4 0
    024C 8 8 0
    024D 12 12 0
    024E 6 6 0
    024F 10 10 0
    0250 3 3 1
    0251 34 34 0
    0252 -1 12 1
    0255 5 5 1
    0256 5 5 1
    0258 2 2 0
    0259 3 3 0
    025C 4 4 0
    025D 6 6 1
    025E 4 4 0
    025F 6 6 1
    0260 6 6 1
    0261 11 11 0
    0262 11 11 0
    0263 11 11 0
    0264 20 20 0
    0265 20 20 0
    0266 30 30 0
    0267 4 4 0
    0268 4 4 0
    0269 4 4 0
    026A 4 4 0
    026B 4 4 0
    026C 4 4 0
    026D 4 4 0
    026F 2 2 0
    0270 2 2 0
    0271 40 40 0
    0272 44 44 0
    0273 30 30 0
    0274 8 8 1
    0275 37 37 0
    0276 -1 51 0
    0277 84 84 0
    0278 2 2 0
    0279 2 2 0
    027A -1 4 1
    027B 14 14 0
    027C 60 60 0
    027E -1 6 0
    027F 8 8 0
    0283 6 6 1
    0287 -1 12 1
    0288 -1 10 0
    0289 12 12 1
    0444 -1 12 1
    0445 10 10 0
    028B -1 4 0
    028C 46 46 0
    028D 34 34 0
    028E 4 4 0
    028F 6 6 0
    0290 4 4 0
    0291 4 4 1
    0292 2 2 0
    0293 70 70 1
    0294 10 10 1
    0295 -1 4 1
    0296 -1 4 1
    0297 -1 4 1
    0298 8 8 1
    0299 6 6 1
    029A 27 27 1
    029B 80 80 1
    029C 66 66 0
    029D -1 4 1
    029E 11 11 1
    029F 3 3 0
    02A2 8 8 1
    02A5 8 8 0
    02A6 -1 10 0
    02A7 -1 10 0
    02AA 4 4 0
    02AB 36 36 0
    02AC 6 6 0
    02AD 8 8 0
    02B0 85 85 0
    02B8 22 22 1
    02BB 8 8 1
    02B9 191 191 1
    02BA 11 11 0
    02BC 6 6 0
    02B3 107 107 1
    02B4 6 6 1
    02B6 7 7 0
    02B7 7 7 1
    02C1 -1 12 1
    02C2 -1 6 1
    02C5 30 30 1
    02C8 3 3 0
    02C9 3 3 1
    02C6 30 30 1
    02C7 7 7 0
    02CB 65 65 1
    02CC 4 4 1
    02CD 71 71 1
    02CE 10 10 1
    02CF 6 6 0
    02D5 2 2 1
    02D0 -1 4 1
    02D1 -1 4 1
    02D2 -1 4 1
    02D3 4 4 1
    02D4 29 29 1
    02D6 6 6 0
    02D7 -1 43 1
    02D8 10 10 0
    02D9 10 10 1
    02DA 3 3 1
    02DB -1 4 0
    02DC -1 32 1
    02DD 32 32 1
    02DE 6 6 1
    02DF 36 36 1
    02E0 34 34 1
    02E1 33 33 1
    02E2 20 20 0
    02E3 22 22 0
    02E4 11 11 0
    02E5 9 9 0
    02E6 6 6 0
    02E7 -1 6 1
    02E8 -1 4 1
    02E9 -1 4 1
    02EA -1 4 1
    02EB 13 13 1
    02EC 67 67 1
    02ED 59 59 1
    02EE 60 60 1
    02EF 8 8 1
    02F0 10 10 1
    02F1 2 2 0
    02F2 2 2 1
    035C 2 2 0
    035D -1 20 0
    035E 2 2 0
    03DD 18 18 0
    03DE 18 18 0
    0439 8 8 0
    043D 8 8 1
    043E -1 4 1
    043F 25 25 1
    0440 10 10 1
    0441 4 4 1
    0442 -1 8 1
    0443 8 8 0
    0446 14 14 1
    0448 -1 4 0
    0449 4 4 0
    044A 6 6 0
    044B 2 2 0
    0447 2 2 0
    07D7 8 8 0
    07D8 8 8 1
    07D9 268 268 1
    07DA 6 6 0
    07DB 8 8 1
    07DC 6 6 0
    07DD 54 54 1
    07DE 30 30 0
    07DF 54 54 0
    07E0 58 58 0
    07E1 15 15 1
    07E2 8 8 1
    07E3 6 6 1
    07E6 8 8 1
    07E5 4 4 0
    07E8 -1 4 0
    07E7 32 32 0
    07E9 5 5 0
    07EA 2 2 0
    07EB -1 8 1
    07ED 10 10 1
    07EE 6 6 0
    07EF 8 8 1
    07F0 6 6 0
    07F1 18 18 1
    07F2 8 8 1
    07F3 6 6 1
    07F4 3 3 0
    07F5 6 6 0
    07F6 14 14 1
    07F7 -1 69 1
    07F8 -1 62 1
    07F9 -1 63 1
    07FA 8 8 1
    07FB 25 25 1
    07FC 10 10 1
    07FD -1 7 1
    07FE 26 26 1
    0800 -1 12 1
    0801 -1 12 0
    0803 4 4 1
    0804 14 14 0
    0805 -1 5 1
    0806 2 2 0
    0807 4 4 1
    0808 14 14 0
    0809 50 50 1
    080A 18 18 1
    080B 6 6 1
    080C 2 2 0
    080D 3 3 1
    080E 14 14 1
    080F 20 20 1
    0810 3 3 1
    0812 8 8 1
    0813 -1 12 1
    0814 86 86 1
    0816 6 6 1
    0818 -1 16 1
    081A 4 4 1
    0824 6 6 1
    081B 10 10 1
    081C 10 10 1
    081D 22 22 1
    081E 8 8 1
    081F -1 9 1
    0820 11 11 0
    0821 2 2 0
    0822 9 9 0
    0823 -1 6 0
    0825 -1 92 0
    0836 -1 7 0
    0837 3 3 0
    0839 66 66 1
    083A 5 5 0
    083B 2 2 0
    083D 6 6 0
    083E 26 26 0
    0840 -1 4 0
    0841 4 4 0
    0827 6 6 0
    0828 14 14 0
    0829 12 12 0
    082A 10 10 0
    082B 6 6 0
    082C 10 10 0
    0842 6 6 0
    0843 6 6 0
    0844 2 2 0
    0845 10 10 0
    0846 4 4 0
    0847 -1 6 0
    0848 -1 10 0
    0849 16 16 0
    084A 2 2 0
    084B 19 19 1
    084C 10 10 0
    084D 10 10 0
    084E 5 5 0
    084F 6 6 0
    0850 7 7 0
    0855 6 6 0
    0851 -1 4 0
    0852 2 2 0
    0853 -1 4 0
    0854 -1 4 0
    0856 -1 71 1
    0857 -1 65 1
    0858 -1 64 1
    0859 -1 45 1
    08B1 -1 4 0
    082D -1 29 0
    08B2 -1 6 0
    08AF 10 10 0
    08B0 17 17 0
    08B3 -1 8 0
    08B4 2 2 0
    08B5 6 6 0
    08B6 3 3 0
    02F3 -1 68 0
    02F4 3 3 0
    02F5 7 7 0
    02F6 7 7 0
    08B8 10 10 0
    08B9 12 12 0
    08BA 10 10 0
    08BB 8 8 0
    08BC 10 10 0
    08BD 8 8 0
    08BE 14 14 0
    08BF 8 8 0
    08C3 10 10 0
    08C4 8 8 0
    08C5 6 6 0
    08C6 4 4 0
    08C0 -1 10 0
    08C1 2 2 0
    08C2 2 2 0
    08C7 -1 19 1
    08C8 34 34 1
    08C9 2 2 0
    08CA -1 8 0
    08CB -1 10 0
    097B -1 16 0
    08CC 109 109 0
    08CE 2 2 0
    08CF 10 10 0
    08D0 9 9 1
    08D1 7 7 1
    08D2 10 10 1
    08D3 10 10 0
    08D4 8 8 0
    08D5 -1 8 0
    08D6 6 6 0
    08D7 28 28 1
    08D8 27 27 1
    08D9 30 30 1
    08DA 26 26 1
    08DB 27 27 1
    08DC 26 26 1
    08DD 27 27 1
    08DE 27 27 1
    08DF 50 50 1
    08E0 51 51 1
    08E1 51 51 1
    08E2 27 27 0
    08E3 146 146 0
    08E4 6 6 0
    08FC 30 30 0
    08FD 6 6 0
    08FE -1 4 1
    08FF 24 24 1
    0900 -1 4 1
    0901 -1 4 1
    0902 -1 4 1
    0903 -1 4 1
    0904 -1 4 1
    0905 -1 4 1
    0906 -1 45 1
    0907 5 5 0
    0908 5 5 1
    090A 26 26 1
    090D -1 10 1
    090E 2 2 0
    0910 10 10 1
    0911 30 30 1
    0912 10 10 1
    0913 30 30 1
    0914 -1 80 1
    090F -1 73 1
    0915 -1 74 1
    0916 26 26 1
    096B 4 4 1
    096C 6 6 1
    096D -1 4 1
    096E -1 4 1
    096F 7 7 1
    0971 6 6 1
    0972 -1 9 1
    0973 7 7 1
    0974 2 2 1
    0975 -1 28 1
    0976 -1 28 1
    0977 14 14 1
    0978 6 6 0
    0979 50 50 0
    097A -1 8 1
    097C 4 4 0
    097D 288 288 1
    097E 12 12 1
    097F -1 8 1
    0980 7 7 1
    0981 -1 12 0
    0982 7 7 0
    0983 29 29 1
    0984 28 28 1
    0985 -1 4 1
    0986 10 10 0
    0987 -1 41 0
    0988 6 6 0
    0989 2 2 0
    098A -1 74 0
    098D -1 4 0
    098E -1 28 0
    098B 2 2 0
    098C 4 4 0
    098F -1 8 0
    0990 31 31 1
    0991 -1 4 1
    0992 -1 4 1
    0993 -1 4 1
    0994 -1 4 1
    0995 -1 28 1
    0996 -1 28 1
    0997 -1 45 1
    0998 8 8 1
    0999 11 11 1
    099A 9 9 1
    099B 8 8 1
    099C 6 6 0
    099D -1 4 0
    099E 12 12 0
    099F -1 22 1
    09A0 6 6 0
    09A1 2 2 0
    09A2 6 6 0
    09A3 -1 8 0
    09A4 18 18 0
    09A5 7 7 0
    09AB 6 6 0
    09A6 12 12 0
    09A7 10 10 0
    09A8 16 16 0
    09A9 10 10 0
    09AA 16 16 0
    09AC -1 8 0
    09AD 10 10 0
    09AE 17 17 0
    09AF 4 4 0
    09B0 8 8 0
    09B1 4 4 0
    09B2 8 8 0
    09B3 4 4 0
    09B4 6 6 0
    09B5 2 2 0
    09B6 6 6 0
    09B7 4 4 0
    09B8 6 6 0
    09B9 4 4 0
    09BA 6 6 0
    09BB 6 6 0
    09BC 6 6 0
    09BD 2 2 0
    09BE 6 6 0
    09BF 4 4 0
    09C1 10 10 0
    09C2 -1 4 0
    09C3 8 8 0
    09C4 8 8 0
    09C5 1042 1042 0
    09C6 -1 16 0
    09C7 18 18 0
    09C8 -1 13 0
    09C9 -1 4 0
    09CA 23 23 0
    09CB 17 17 1
    09CC -1 4 0
    09CD 8 8 1

    Try with this packets and changes

    This packet i get from openkore forum, maybe now u can login

     

    Well, openkore forum still active just post your client exe there and you will get correct recvpackets.

  4. Yes, openkore is updated every day but forum support is most likely dead for botting in private server. if u really want players to let use bot then try with 2012 clients, because u find many topic for that client.

    Also when u disable your normal server side protection like Packet Obs, it also allows to use no delay grf, wpe, rpe. If u really making server in which you don't want players to farm then why not make it easy?

  5. Well, true story is payers still able to bot with Packet Obfuscation and  MD5 hash check, openkore has a feature to add packet keys and MD5 hash check.

    Openkore is too advance, even some of them able to bot on gepard protect server

    https://github.com/OpenKore/openkore/blob/master/src/Network/Send/kRO/RagexeRE_2014_10_22b.pm

    try with commenting this line

    $self->cryptKeys(688214506, 761751195, 731196533);

    maybe like this

    # $self->cryptKeys(688214506, 761751195, 731196533);

    or just remove it, also check if u have added client version check on your rathena config files.

     

    idk if rathena allows openkore support topic here or not, but maybe this help u.

  6. Yes, thanks for reply

    I have made custom map which has dark theme and some light effect, without those light effects the map which i have created look ridiculous, i have special idea for map which i created so it require to keep lightmap on.

    What should i have to do to disable lightmap on/off feature? (if hexing client work, then what should i have to change?)

    or maybe something like editing map to not allow lightmap on/off feature.

  7. Hello i want to disable command like /effect and /lightmap, i don't want let user off light map. I have searched forum but not able to find a way. I tried to change cmdinfo.lub but it just remove command from command list, user still able use that command using chat.

    Or is there is anyway to make map does not allow to /lightmap off.

×
×
  • Create New...