Jump to content

Ylen X Walker

Members
  • Posts

    44
  • Joined

  • Last visited

Profile Information

  • Gender
    Male
  • Location
    Philippines

Recent Profile Visitors

1,634 profile views

Ylen X Walker's Achievements

Poring

Poring (1/15)

  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

2

Reputation

1

Community Answers

  1. Hey guys! Anyone encountering this? I've been auto-attacking monsters for about 30 mins then this shows up. I installed it on the latest rAthena version. What could be the cause? Code is originally from https://rathena.org/board/topic/71297-autoattack/ I Implemented this code: atcommand.cpp // Auto Attack --- put before all command static int buildin_autoattack_sub(struct block_list *bl,va_list ap) { int *target_id=va_arg(ap,int *); *target_id = bl->id; return 1; } void autoattack_motion(struct map_session_data* sd) { int i, target_id; if( pc_isdead(sd) || !sd->state.autoattack ) return; for(i=0;i<=9;i++) { target_id=0; map_foreachinarea(buildin_autoattack_sub, sd->bl.m, sd->bl.x-i, sd->bl.y-i, sd->bl.x+i, sd->bl.y+i, BL_MOB, &target_id); if(target_id){ unit_attack(&sd->bl,target_id,1); break; } target_id=0; } if(!target_id && !pc_isdead(sd) && sd->state.autoattack){ unit_walktoxy(&sd->bl,sd->bl.x+(rand()%2==0?-1:1)*(rand()%25),sd->bl.y+(rand()%2==0?-1:1)*(rand()%25),0); } return; } static TIMER_FUNC(autoattack_timer) { struct map_session_data *sd=NULL; sd=map_id2sd(id); if(sd==NULL || pc_isdead(sd) || !sd->state.autoattack ) return 0; if(sd->state.autoattack) { unit_stop_attack(&sd->bl); autoattack_motion(sd); if(DIFF_TICK(sd->autoattack_delay,gettick())> 0){ clif_authfail_fd(sd->fd, 15); return 0; } else{ add_timer(gettick()+1000,autoattack_timer,sd->bl.id,0); // 1000 is delay sd->autoattack_delay = gettick() + 1000; // 1000 is delay } } return 0; } ACMD_FUNC(autoattack) { nullpo_retr(-1, sd); if (sd->state.autoattack) { sd->state.autoattack = 0; unit_stop_attack(&sd->bl); clif_displaymessage(fd, "Auto Attack has been deactivated."); } else { sd->state.autoattack = 1; add_timer(gettick()+1000,autoattack_timer,sd->bl.id,0); clif_displaymessage(fd, "Auto Attack activated."); } return 0; } ACMD_FUNC(accinfo) { char query[NAME_LENGTH]; @@ -8827,6 +8881,7 @@ * Command reference list, place the base of your commands here **/ AtCommandInfo atcommand_base[] = { + ACMD_DEF(autoattack), ACMD_DEF2("warp", mapmove), ACMD_DEF(where), ACMD_DEF(jumpto), status.hpp OPTION_OKTOBERFEST = 0x10000000, OPTION_SUMMER2 = 0x20000000, + OPTION_AUTOATTACK = 0x40000000, pc.hpp struct map_session_data { struct block_list bl; struct unit_data ud; struct view_data vd; struct status_data base_status, battle_status; struct status_change sc; struct regen_data regen; struct regen_data_sub sregen, ssregen; + unsigned int autoattack_delay; // autoattack timer unsigned int killable : 1; unsigned int doridori : 1; unsigned int ignoreAll : 1; + unsigned int autoattack : 1; // autoattack unsigned int debug_remove_map : 1; // temporary state to track double remove_map's [FlavioJS] unsigned int buyingstore : 1; unsigned int lesseffect : 1; unsigned int vending : 1;
  2. Hey guys! Anyone encountering this? I've been auto-attacking monsters for about 30 mins then this shows up. I installed it on the latest rAthena version. What could be the cause?
  3. I think your firewall is still up. I tried to disable mine and made it work.
  4. my ctrl + v. I was trying to sell this in discord.
  5. Good day sir / mam, what else am I missing in the code? Item link prints unknown item - script itemdescs -1,{ end; OnInit: bindatcmd "ii2",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "itemdescription",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: mes "^3355FF[ Item Description Search ]^000000"; mes "What item are you looking for?"; input [email protected]$; [email protected] = searchitem([email protected][0],[email protected]$); mes "I found " + [email protected] + " items:"; for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) // Display name (eg: "Apple[0]") mes "<ITEM>"+getitemname([email protected][[email protected]]) +"<INFO>"[email protected]$+"</INFO></ITEM> [" + getitemslots([email protected][[email protected]]) + "]"; end; } -- This is not my original code. Code came from sir Nova. CTTO.
  6. Good day! I'm having some issues regarding Endless Tower wherein after I defeated Entweihen Crothen, there's a chance that Naght Sieger will not appear and it will just send you back to alberta. I tried entering the memorial dungeon again and on the 99th Floor I can't get past it but there's a warp it gives me ashes of darkness that can be exploit over and over by just stepping into the portal.
  7. Good day guys! Anyone can help me convert this to rathena compatability? Thanks in advance! //================= Hercules Script ======================================= //= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| //= | | | | __/ | | (__| |_| | | __/\__ \ //= \_| |_/\___|_| \___|\__,_|_|\___||___/ //================= License =============================================== //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= //= Copyright (C) 2017 Hercules Dev Team //= Copyright (C) 2017 Smokexyz //= //= Hercules is free software: you can redistribute it and/or modify //= it under the terms of the GNU General Public License as published by //= the Free Software Foundation, either version 3 of the License, or //= (at your option) any later version. //= //= This program is distributed in the hope that it will be useful, //= but WITHOUT ANY WARRANTY; without even the implied warranty of //= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //= GNU General Public License for more details. //= //= You should have received a copy of the GNU General Public License //= along with this program. If not, see <http://www.gnu.org/licenses/>. //========================================================================= //= Option Master (Item Options NPC @see db/item_options.conf) //================= Description =========================================== //= Select from a list of your equipments, one to enhance with up to 5 options. //= A list of the first 10 options are provided in this npc. //================= Current Version ======================================= //= 1.0 //========================================================================= prontera,153,180,4 script Option Master 4_DOG01,{ callsub(StartTalking); end; OnInit: /** * General Configuration */ /* Chance of the enhancement process to fail. (0 - 99 in percent) */ .chance_of_failure = 10; /* Delete the item on failure? (true/false) */ .delete_on_failure = true; /* Required amount of zeny for a try. */ .zeny_requirement = 100; /* Minimum amount of the bonus value. * For negative effects or certain bonuses that require negative values * Maximum possible value is -INT16_MAX) */ .minimum_bonus_amount = -100; // usually used with delay bonus options, although not provided in the script. /* Maximum amount of the bonus value. * Maximum possible value is INT16_MAX */ .maximum_bonus_amount = 100; /* Disable selection of bonus value (true/false) */ .enable_random_bonus = false; /* Item Option Descriptions */ setarray(.options$[0], "Max HP", "Max SP", "STR", "AGI", "VIT", "INT", "DEX", "LUK"); /* Item Option Constants */ setarray(.option_constants[0], VAR_MAXHPAMOUNT, VAR_MAXSPAMOUNT, VAR_STRAMOUNT, VAR_AGIAMOUNT, VAR_VITAMOUNT, VAR_INTAMOUNT, VAR_DEXAMOUNT, VAR_LUKAMOUNT); end; StartTalking: [email protected]$ = _("[ ^990099Option Master^000000 ]"); disable_items(); mes([email protected]$); mesf("Hey there %s", strcharinfo(PC_NAME)); mes("There's a new-found method of adding options to an equipment that I have been working on."); next(); if (.enable_random_bonus) { mes([email protected]$); mes("Equipment bonuses are added randomly per slot!"); mes("So if you wind up with a low amount of bonus, don't hesitate to override the slot."); next(); } mes([email protected]$); mes("Would you like me to add extra stats to your equipment?"); next(); if (select("Of course!", "Meh, not right now.") == 2) { mes([email protected]$); mes("Alright then, catch you later."); close(); } // Build the Menu. setarray([email protected]$[1], "Head", "Body", "Left Hand", "Right Hand", "Robe", "Shoes", "Accessory 1", "Accessory 2", "Head 2", "Head 3"); [email protected]$ = ""; for ([email protected] = 1; [email protected] <= 10; [email protected]) [email protected]$ += ((getequipisequiped([email protected])) ? getequipname([email protected]) : [email protected]$[[email protected]] + "-[Not equipped]") + ":"; // Select the part. [email protected]_index = select([email protected]$); // Check if it's worn. if (!getequipisequiped([email protected]_index)) { mes([email protected]$); mes("Brah, your item ain't equipped."); close(); // Check if it allows options } else if (!getequipisenableopt([email protected]_index)) { mes([email protected]$); mes("Brah, this equip can't have options."); close(); // Check if equipment is identified. } else if (!getequipisidentify([email protected]_index)) { mes([email protected]$); mes("Brah, this equip ain't identified."); close(); } // Present a list of currently infused options. do { [email protected]$ = ""; [email protected] = false; // Build the menu of current options. for ([email protected] = 1; [email protected] <= MAX_ITEM_OPTIONS; [email protected]) { // call getequipoption(<equip_index>, <type>, <slot>); // if the return is <0, it's a script error. // if the return is 0, the slot is empty. // if the return is >0, the slot is unavailable. [email protected] = getequipoption([email protected]_index, [email protected], IT_OPT_INDEX); if ([email protected] > 0) [email protected]$ += ([email protected]) + ") " + .options$[[email protected] - 1] + ":"; else [email protected]$ += ([email protected]) + ") ^999999Empty^000000" + ":"; } // Option Slot is the actual option slot 0-MAX_ITEM_OPTIONS (@see mmo.h) [email protected]_slot = select([email protected]$); // Check for used slot and request user action if found. if (getequipoption([email protected]_index, [email protected]_slot, IT_OPT_INDEX) > 0) { mes([email protected]$); mes("This slot is already used up!"); if (select("^990000Override the slot.^000000", "Choose again.") == 2) [email protected] = true; next(); } } while ([email protected]); // loop if the slot is not to be overridden // Present a list of available bonuses. mes([email protected]$); mes("Which of the following item bonuses would you like to add to this item?"); next(); // Build the Options! [email protected]$ = ""; for ([email protected] = 0; [email protected] < getarraysize(.options$); [email protected]) [email protected]$ += ([email protected] + 1) + ") " + .options$[[email protected]] + ":"; do { // Select the options! [email protected]_variable = select([email protected]$); next(); mes([email protected]$); mesf("You chose ^009900%s^000000!", .options$[[email protected]_variable - 1]); mes("Are you sure?"); next(); } while (select("Fo Shizzle.", "I'ma re-evaluate, brah.") == 2); // Select a bonus or randomise. if (.enable_random_bonus) { [email protected] = rand(.maximum_bonus_amount); } else { do { mes([email protected]$); mesf("Please input the bonus amount of ^009900%s^000000 you want to add!", .options$[[email protected]_variable - 1]); mesf("(Min: %d, Max: %d)", .minimum_bonus_amount, .maximum_bonus_amount); [email protected] = input([email protected], .minimum_bonus_amount, .maximum_bonus_amount); next(); } while ([email protected]); } // If there's a chance of failure, inform the user. if (.chance_of_failure) { mes([email protected]$); mes("Alright so,"); mes("I'll have you know..."); mesf("There's a ^990000%d%% chance of failure^000000.", .chance_of_failure); mes("Because, well... I didn't go to school."); next(); mes([email protected]$); if (.delete_on_failure) { mes("If I fail, your item will break and it ^990000will be destroyed^000000!"); } mes("Are you still ready to go forward with this?"); next(); if (select("Fo shizzle.", "Hells naw, go back to school.") == 2) { mes([email protected]$); mes("Geez, you don't have to be so harsh about it."); close(); } next(); } // If there's a Zeny Requirement, perform the usual. if (.zeny_requirement > 0) { mes([email protected]$); mesf("You also have to pay %dZ.", .zeny_requirement); next(); if (select("Of course!", "No way!") == 2) { mes([email protected]$); mes("Well, see you around then..."); close(); } if (Zeny < .zeny_requirement) { mes([email protected]$); mes("You don't have enough Zeny!"); close(); } Zeny -= .zeny_requirement; } // Check if there's a chance of failure, set and roll the dice. if (.chance_of_failure && rand(100) <= .chance_of_failure) { mes([email protected]$); mes("^990000I failed!^000000"); mes("Guess I should go back to school."); // Delete the item if flagged. if (.delete_on_failure) failedrefitem([email protected]_index); // Simulate failed refinement of the item and delete. } else { // Set the Item Option bonuses in the slot see db/item_options.conf for more info. setequipoption([email protected]_index, [email protected]_slot, .option_constants[[email protected]_variable - 1], [email protected]); mes([email protected]$); mes("^009900Praise Jesus^000000"); mes("I have added an option to your item."); mes("My skills are flawless!"); } next(); mes([email protected]$); mes("See you around!"); close(); }
  8. Hi guys how can I edit it like this? ^ This one only got the exclamation graphic but it doesn't have the meteor sprite
  9. Is it just me or I get kicked out of the server whenever I hit a wall. No errors on map server.
  10. Good day sir! Does it work on latest revision of rAthena? https://raw.githubusercontent.com/llchrisll/rAthena-Scripts/master/released/Systems/TrainingSystem.txt
  11. Is this really fixed? The latest revision still doesn't give any effect.
  12. Good day sir! Anyone can help me edit some of the lines wherein I can input an item name (not only item id) and then it will show at least 10 items with the same name or id with its corresponding items links? //===== rAthena Script ======================================= //= In-game Item Descriptions Script //===== By: ================================================== //= Nova http://www.novaragnarok.com //============================================================ - script itemdescs -1,{ end; OnInit: bindatcmd "ii2",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "itemdesc",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: mes "^3355FF[ Item Description Search ]^000000"; [email protected] = atoi([email protected]_parameters$[0]); mes "<ITEM>"+getitemname([email protected])+"<INFO>"[email protected]+"</INFO></ITEM>"; mes ""; mes "Click on the name of the item above."; end; }
×
×
  • Create New...

Important Information

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