Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/07/24 in all areas

  1. You can use the nocommand mapflag, to disable the usage of atcommands on the map to prevent the usage of autoloot. izlude mapflag nocommand 80
    1 point
  2. //================================================Name====================================================== // AntiBot (Official Release Name) //===============================================Version==================================================== // 1.0 //===============================================Author===================================================== // ____ _____ ______ __ __ __ _______ __ _____ __ __ _______ // | __ \ _ \| __ \| | \ | |/ ___ \ | | / / | \ | |/ ___ \ // | |__| | \ \ |__| | | \| | | _\_/ | |/ /| | \| | | _\_/ // | __/ | | /| | | | |_ \ | | | | | | | |_ \ // | |\ \_/ / |\ \| | |\ | \_/ | | |\ \| | |\ | \_/ | // |__| \_____/|__| \__\__|__| \__|\______/ |__| \__\__|__| \__|\______/ //----------------------------------------Script Last Update 2020------------------------------------------- //==============================================Changelog=================================================== // 1.0 * // - Initial Release //========================================================================================================== - script Anti Bot -1,{ OnNPCKillEvent: if(getgmlevel() > 0) end; @bot_check_kill_count++; if(@bot_check_kill_count >= rand(100,150)) goto Check; end; Check: setpcblock(PCBLOCK_ALL, true); setoption(0x2, 1); mes "[ ^FF7700Anti Bot^000000 ]"; mes "Bot checking time"; mes "Please input the number you see"; next; .@captcha_number = rand(1,5); switch(.@captcha_number) { case 1: mes "################^83F52C##^000000################"; mes "##############^83F52C####^000000################"; mes "################^83F52C##^000000################"; mes "################^83F52C##^000000################"; mes "################^83F52C##^000000################"; mes "################^83F52C##^000000################"; mes "##############^83F52C######^000000##############"; break; case 2: mes "############^83F52C#######^000000###############"; mes "###########^83F52C##^000000#####^83F52C##^000000##############"; mes "##################^83F52C##^000000##############"; mes "############^83F52C#######^000000###############"; mes "###########^83F52C##^000000#####################"; mes "###########^83F52C##^000000#####################"; mes "###########^83F52C#########^000000##############"; break; case 3: mes "############^83F52C#######^000000###############"; mes "###########^83F52C##^000000#####^83F52C##^000000##############"; mes "##################^83F52C##^000000##############"; mes "############^83F52C#######^000000###############"; mes "##################^83F52C##^000000##############"; mes "###########^83F52C##^000000#####^83F52C##^000000##############"; mes "############^83F52C#######^000000###############"; break; case 4: mes "###################################"; mes "###########^83F52C##^000000####^83F52C##^000000###############"; mes "###########^83F52C##^000000####^83F52C##^000000###############"; mes "###########^83F52C##^000000####^83F52C##^000000###############"; mes "###########^83F52C#########^000000##############"; mes "#################^83F52C##^000000###############"; mes "#################^83F52C##^000000###############"; break; case 5: mes "###########^83F52C########^000000###############"; mes "###########^83F52C##^000000#####################"; mes "###########^83F52C##^000000#####################"; mes "###########^83F52C#######^000000################"; mes "#################^83F52C##^000000###############"; mes "###########^83F52C##^000000####^83F52C##^000000###############"; mes "############^83F52C######^000000################"; break; } input @num; if(@num != .@captcha_number) { atcommand("@kick " + strcharinfo(0)); end; } next; mes "[ ^FF7700Anti Bot^000000 ]"; mes "Thank you for your patience, you can now move on."; setpcblock(PCBLOCK_ALL, false); setoption(0x2, 0); @bot_check_kill_count = 0; close; }
    1 point
  3. What i did: skill_db.yml: Find LK_PARRYING and on Weapon do this: Weapon: 1hSword: true 2hSword: true skill.cpp: Find: if( require.ammo ) { //Skill requires stuff equipped in the ammo slot. uint8 extra_ammo = 0; And then add this above it: if(skill_id == LK_PARRYING && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_KNIGHT) && sd->weapontype1 == W_1HSWORD){ clif_skill_fail(sd,skill_id, USESKILL_FAIL_THIS_WEAPON, 0); return false; } This check will prevent parrying from being casted w/ 1-handed sword unless when you're in soul link status . (since we allowed to cast parry w/ 1 handed sword naturally even w/o soul link via skill_db)
    1 point
  4. // https://rathena.org/board/topic/121262-custom-bring-me-event/ /* CREATE TABLE IF NOT EXISTS `bring_me_event` ( `id` int(11) unsigned NOT NULL auto_increment, `aid` int(11) unsigned NOT NULL default '0', `cid` int(11) unsigned NOT NULL default '0', `last_ip` varchar(100) NOT NULL default '', `last_unique_id` varchar(100) NOT NULL default '', `time` datetime NOT NULL, ) ENGINE=MyISAM; */ prontera,0,0,0 script Sample 444,{ .@aid = getcharid(3); .@cid = getcharid(0); .@ip$ = getcharip(); .@unique_id$ = get_unique_id(); query_logsql("SELECT `id`,`time` FROM `bring_me_event` WHERE `aid` = "+.@aid+" OR `last_ip` = '"+escape_sql(.@ip$)+"' OR `last_unique_id` = '"+escape_sql(.@unique_id$)+"' LIMIT 1", .@id, .@time$); query_logsql("SELECT COUNT(`id`) FROM `bring_me_event`", .@size); if (.@size >= .max_redeem) { mes "you missed the reward, only "+.max_redeem+" players got the reward."; } else if (.@id) { mes "You've already claimed the rewards on "+.@time$+"."; } else { mes "Bring me "+.amount+"x "+getitemname(.item_id); if (countitem(.item_id) >= .amount) { if (select("Okay","Cancel") == 1) { delitem .item_id, .amount; query_logsql("INSERT INTO `bring_me_event` (`aid`,`cid`,`last_ip`,`last_unique_id`,`time`) VALUES ("+.@aid+","+.@cid+",'"+escape_sql(.@ip$)+"','"+escape_sql(.@unique_id$)+"', NOW())"); getitem 501,1; getitem 502,1; getitem 503,1; mes "you are the "+(.@size+1)+"/"+.max_redeem+" players who got the reward"; } } } close; OnInit: .item_id = 512; .amount = 300; .max_redeem = 200; end; } you can try this.
    1 point
×
×
  • Create New...