-
Posts
1443 -
Joined
-
Last visited
-
Days Won
40
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by Stolao
-
an example Item_db.txt 512,Apple,Apple,11,15,,20,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "Cell-Phone"; },{},{} npc function script Cell-Phone { message strcharinfo(0),"[Cell-Phone]: What would you like?"; swithc(select("Warp:Call Pawn Shop")){ case 2: close2; callshop "Tool Dealer#alb",<option>; //callshop "<name>",<option>; //The options are: // 0 = The normal window (buy, sell and cancel) // 1 = The buy window // 2 = The sell window break; case 1: warp "Random",0,0; break; } end; }
-
This could be quite useful *bookmarked
-
Utility: Utility: Super Novice Prayer Command
Stolao replied to Kido's topic in Utility Script Releases
https://rathena.org/board/files/file/3270-utility-super-novice-prayer-command/ there is no http in the download link for some reason also to fix "Another bad side is the fact that if the SN dies before the 3 minutes of wait to use the command again the SN won't be able to use it" this ou can do a OnPcDieEvent: set @CalledAngel,0; end; -
As far as i know there is no work around without a source edit
-
wrong section, this goes here
-
Adding in Custom Skill Art and Job Classes Clientside/Hexing
Stolao replied to Stolao's question in Client-side Support
bump with edit -
A Quest Board that Player can make a Request. Please ?
Stolao replied to Archetype Saber's question in Script Requests
you can create a per-defined list of items to chose from -
i cleaned it up (didn't optimize) and removed the use of goto //===== Thaddeus Scripts ================================== //= Simple Cool Anti-Bot //===== By: ================================================== //= Thaddeus //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= Hercules, rAthena, 3ceam, eAthena //===== Description: ========================================= // Improvise Simple Anti-Bot! from method of Brian. //===== Comments: ============================================ //= Change the % chance of triggering, change jail time. //===== Additional Comments: ================================= //= 1.00 Initial Release //===== Contact Info: ========================================= //= http://hercules.ws/board/user/457-thaddeus/ //============================================================ //===== Credits to: ========================================= //= Brian, //============================================================ - script anti-bot2 -1,{ OnPCLoginEvent: set checkbot,0; if(botter >= 1) { doevent "anti-bot::Oncheckb"; } } - script anti-bot -1,{ OnNPCKillEvent: if( rand(100) < 75 ) { end;} // Default Setting: 75% Chance to Ignore the Anti-Bot Oncheckb: function GetString; if (getgmlevel() >= 3) { end;} /* Uncomment if you want to Ignore this by GM */ if(checkbot >= 1) { end; } atcommand "@jail "+strcharinfo(0)+""; set botter,1; sc_start SC_BERSERK, 1000000000, 1; sc_start SC_FREEZE, 1000000000, 1; sleep2 3000; for(set botter,botter; botter < 4; set botter,botter + 1;){ set .@String$,GetString( 15,rand(3,7) ); mes "You Have 3 Chance to Type the Red Text Correctly"; mes "If you failed- You will be jailed"; mes "Input the ^FF0000RED COLOUR^000000 part"; mes "^0000FF"+GetString( 15,rand(5,10) )+"^FF0000"+.@String$+"^0000FF"+GetString( 15,rand(3,10) )+"^000000"; input .@Input$; if( .@Input$ != .@String$ ){ if (botter >= 3) { atcommand "@unjail "+strcharinfo(0)+""; sleep2 1000; atcommand "@jailfor 10d "+strcharinfo(0)+""; announce "[Anti-BOT]: The user [" +strcharinfo(0) +"] Has Been Jailed For 10 Days.",0,0xe80f0f; set botter,0; close; end; } mes "Wrong.."; next; } else { break; } } atcommand "@unjail "+strcharinfo(0)+""; set botter,0; set checkbot,1; sc_end SC_BERSERK; sc_end SC_FREEZE; percentheal 100,100; sc_start SC_INC_AGI,240000,10; sc_start SC_BLESSING,240000,10; end; function GetString { if( getarg(0) & 1 ) setarray .@List$[ getarraysize( .@List$ ) ],"1","2","3","4","5","6","7","8","9"; if( getarg(0) & 2 ) setarray .@List$[ getarraysize( .@List$ ) ],"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"; if( getarg(0) & 4 ) setarray .@List$[ getarraysize( .@List$ ) ],"a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","v","w","x","y","z"; //if( getarg(0) & 8 ) setarray .@List$[ getarraysize( .@List$ ) ],"!","@","#","$","%","^","&","*","(",")","-","=","/","+"; set .@Str$,""; while( getstrlen( .@Str$ ) < getarg(1) ) set .@Str$,.@Str$ + .@List$[ rand( getarraysize( .@List$ ) ) ]; return .@Str$; } } sec_pri mapflag pvp off
-
A Quest Board that Player can make a Request. Please ?
Stolao replied to Archetype Saber's question in Script Requests
Too lazy to work on this but a few thoughts Take AnnieRuru mission board like Capuche said or use tr0n's Quest Board and add a player "request menu" personally I would use tr0ns as its more easily adaptable -
R> Script request IF it's possible!
Stolao replied to Scarlet Butterfly's question in Script Requests
are you currently holding any of item 512? if so it wont grant you. -
How can i add if the user finished the quest instead of the monsters list it will show the delay time.. try this OnHuntCmd: if (#Mission_Delay > gettimetick(2) && .Delay) { announce "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission.",bc_self|bc_blue; end; } for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); announce " > "+strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")",bc_self|bc_blue; } end;
-
Add this somewhere appropriate OnHuntCmd: for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); announce " > "+strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")",bc_self|bc_blue; } end; Add somewhere under OnInit: bindatcmd "huntinglist","Hunting Missions::OnHuntCmd",0,99;
-
R> Script request IF it's possible!
Stolao replied to Scarlet Butterfly's question in Script Requests
1st change bindatcmd("PvpLadder" ,"Pvp_Ladder::OnPvpLadder",0,99); end; } OnPCLoginEvent: if( $TOPPK$ == strcharinfo(0) && countitem(<512>) < 1) { getitembound 512,1,4; } else if(countitem(512) >= 1){ delitem 512,1; } to bindatcmd("PvpLadder" ,"Pvp_Ladder::OnPvpLadder",0,99); end; OnPCLoginEvent: if( $TOPPK$ == strcharinfo(0) && countitem(<512>) < 1) { getitembound <512>,1,4; } else if(countitem(<512>) >= 1){ delitem <512>,1; } } 2nd you have it configured to only count kills in prontera to change that change this set .Options,4|32|64; // Bitwise Variable // 1: Only Counts Kills on .Map$ if Disabled to this set .Options,1|4|32|64; // Bitwise Variable // 1: Only Counts Kills on .Map$ if Disabled i should have reversed the logic on option 1, enabled means any map disabled means just that map also should take effect after the 1st kill -
R> Script request IF it's possible!
Stolao replied to Scarlet Butterfly's question in Script Requests
that will only give the item, to again and remove an item id recommend using OnPCLoginEvent: if( $TOPPK$ == strcharinfo(0) && countitem(<item id>) < 1) { getitembound <item id>,1,4; } else if(countitem(<item id>) >= 1){ delitem <item id>,1; } however there are limits 1: make this item ONLY obtainable via this, 2 item wont be removed till players next log ps if you need it instant (or almost) replace OnPCLoginEvent with OnPCStatCalcEvent and it will eliminate note 2 but that will be more of a memory hog -
go into your npc.h #define MAX_NPC_CLASS2_START 10000 #define MAX_NPC_CLASS2_END 10110 <--- change thing that was the issue with my custom npcs at least
-
search for "getexp" and "//" it out
-
H>MVP Ladder , Some few things need to be change.
Stolao replied to trizzy's question in Script Requests
try adding OnPcDieEvent: if(strcharinfo(3) == .map$){ warpparty "SavePointAll",0,0,getcharid(1),.map$; } -
yes its quite possible and easy, you will need these commands getrefine() downrefitem <equipment slot>{,<count>} successrefitem <equipment slot>{,<count>}; so why not give it a shot~
-
Stolao's Script Collection [Update 2018-06-02_08:16]
Stolao replied to Stolao's topic in Script Collections
Update Poring Power 1.00 -> 1.01 1.01 Converted to new areamob format -
[Challenge for passionate scripters] V4R,OOP,D&N *UPDATED*
Stolao replied to Daifuku's question in Script Requests
will om you with 1 and 3 2 i thinks already on forums -
this is an example, very basic 1101,Sword,Sword,5,100,,500,25,,1,3,0x000654E3,7,2,2,1,2,1,2,{ if(CharVar&1){ bonus bstr,1; }if(CharVar&2){ bonus bvit,1; } },{},{} prontera,150,182,5 scrip Repair 811,{ mes "[Dood]"; mes "Want me to boost your stats when using a sword?"; if(select("No:Yes") == 1){ close; } else { next; } mes "[Dood]"; mes "What stat?"; set CharVar,select("Str:Vit:Both") close; } if you have questions about this look up Operators -> bitwise in your /doc/script_commands
-
Ive already done this however I'm not releasing as its an ugly mess of a script, this what you want? prontera,164,175,3 shop Apple-Lady 123,512:-1 prontera,165,174,3 script ShopEditor 123,{ message strcharinfo(0),"Hi~"; if(getgroupid() >= 60) end; message strcharinfo(0),"How much Should Apples cost?"; input(.@i,1,1000000); npcshopitem "Apple-Lady",512,.@i; end; OnMinute01: OnMinute16: OnMinute31: OnMinute46: npcshopitem "Apple-Lady",512,rand(12,25); }
-
Ok im a complete idiot when the topic is scripting but correct me if im wrong... This adds a % change of get item x when monster y is killed. Thats the part i understand but theres actually how prevent a drop? Like i know if i want to make it drop (not getting directly as reward) i need to use makeitem x,y or something but i have no clue if theres how to delete a item from the mob drop list. you can use makeitem instead of getitem however it would drop from players location, not mobs location