Jump to content

Lil Troll

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Lil Troll

  1. So basically you would like if any players drop 1 item(for example a player drop his rare card accidentaly then automatically it will disappear? I guess i think its not a good idea). I saw some post regarding shortening the length of floor on items disappears thats the most recommended for you to change. But atm idk and I forgot what topic i bumped into that accidentaly. If I see that topic again I will pm it to you asap.
  2. If you like to disable items in the specific map you would be using find this at db and set restriction. "item_noequip" For your other suggestion: 1. There will be 8 levels, or more. 2. If the event start, (for example), the top portal will be the first level. I suggest, only the top portal will be open, if the first level monsters are all killed, the second portal will open, which will be at the top right portal, then when the second level (second portal) monsters are all killed, the third portal will be open. and so on and so fort. 3. Once all the levels are finish, the prizes will be placed at the center of the map. Set condition after killing monsters to specific round new portal will be enabled(mobcount will definitely work).
  3. for best results change all reward item to non tradable so that they cant abuse this script. you can find better script in then forum, but then again better script is not so easy to understand in case of what you stated before that your new to scripting, i suggest start learning the basics im also new to this kind of stuffs i just kinda get used to it.
  4. If im not mistaken this can check IP and the same time set daily time tick but idk where should i put the script because it have builtin daily gettime (gettime(8)*24). set(@c,gettimetick(2)); query_sql("SELECT REPLACE (`last_ip`,'.','_') FROM `login` WHERE `account_id` = "+getcharid(3),@ip$); if((getd("$G_LIP_"+@ip$)+(60*60*24)) <= @c) setd("$G_LIP_"+@ip$,@c);
  5. set .@n$,"[Daily Reward]"; mes .@n$; mes "Hey! Have you taken your reward today?"; select("Yes"); if (#dr_time$ != gettimestr("%Y%m%d",9)) { next; mes .@n$; mes "LIAR!!!"; mes "Telling lies are no good."; mes "Please take your reward!"; next; set #dr_time$, gettimestr("%Y%m%d",9); switch (gettime(4)) { Case 0: getitem 671,1; break; Case 1: getitem 672,1; break; Case 2: getitem 673,1; break; Case 3: getitem 674,1; break; Case 4: getitem 675,1; break; Case 5: getitem 676,1; break; Case 6: getitem 677,1; break; } next; mes .@n$; mes "Don't tell lies next time..."; mes "Have a nice day!"; close; } next; mes .@n$; mes "Then don't talk to me!"; close; } This is a account based daily from these post: http://rathena.org/board/topic/68819-request-daily-rewards-npc/ You can change the reward prize by just changing the getitem 671 "item id". 671 = Gold Coin change that to other Item(ID ONLY).
  6. I really cant understand what would you like to do. Anyways seems like am getting your point. Just set the condition like this: If Quest#1 done, set quest,1; If quest,1; goto Quest #2. If Quest#2 done, set quest,2; If quest,2; goto Quest #3. If Quest#3 done, set quest,3; If quest,3; goto Quest #4. If Quest#4 done, set quest,4; If quest,4; goto Quest #5.
  7. Is there opposite of escape_sql? Like for example retrieve_sql so that i can minimize the use of variables like permanent ones. I cant figure out myself. (pity me noob) Escape sql Syntax: escape_sql(<value>) Description: Converts the value to a string and escapes special characters so that it is safe to use in query_sql(). Returns the escaped form of the given value. Examples: set .@str$, "John's Laptop"; set .@esc_str$, escape_sql(.@str$); // Escaped string: John\'s Laptop Or should i be sticking in variables because sometimes sql ingame is often slow.
  8. WOW! I love the devil square concept of MU ONLINE! Thanks so much Anie for the script! Am really planing to make one of this, it will saves a lot of time for me and reduce possible headache encounter(how to make this script).
  9. @TTest: I mean, if he/she wears Wand theres a bonus from wearing it. @Nanakiwurtz: basically I wanted to make this script to work , technically its only part of the script but this is the part am really confused. Idk what will I put in the Item_Db.txt. function script Katar { if ( WeaponSelect1$ == "Katar" ) { set EffectLevel1, Wea_Katar; set Wea_Equip, 1; callfunc "EffectMain"; } else if ( WeaponSelect2$ == "Katar" ) { set EffectLevel2, Wea_Katar; set Wea_Equip, 2; callfunc "EffectMain"; } else end; } function script Music { if ( WeaponSelect1$ == "Instruments" ) { set EffectLevel1, Wea_Music; set Wea_Equip, 1; callfunc "EffectMain"; } else if ( WeaponSelect2$ == "Instruments" ) { set EffectLevel2, Wea_Music; set Wea_Equip, 2; callfunc "EffectMain"; } else end; } if ( Wea_Equip == 1 ) { set EffectLevel, EffectLevel1; if ( Special1_1$ == "Atk" || Special1_2$ == "Atk" || Special1_3$ == "Atk" ) bonus bAtk, ( 50 * EffectLevel ) / 100; if ( Special1_1$ == "Matk" || Special1_2$ == "Matk" || Special1_3$ == "Matk" ) bonus bMatk, ( 50 * EffectLevel ) / 100; if ( Special1_1$ == "Hit" || Special1_2$ == "Hit" || Special1_3$ == "Hit" ) bonus bHit, ( 50 * EffectLevel ) / 100; if ( Special1_1$ == "AspdRate" || Special1_2$ == "AspdRate" || Special1_3$ == "AspdRate" ) bonus bAspdRate, ( 10 * EffectLevel ) / 100; if ( Special1_1$ == "Aspd" || Special1_2$ == "Aspd" || Special1_3$ == "Aspd" ) bonus bAspd, ( 2 * EffectLevel ) / 100; if ( Special1_1$ == "HP" || Special1_2$ == "HP" || Special1_3$ == "HP" ) bonus bMaxHPrate, ( 5 * EffectLevel ) / 100; if ( Special1_1$ == "SP" || Special1_2$ == "SP" || Special1_3$ == "SP" ) bonus bMaxSPrate, ( 5 * EffectLevel ) / 100; if ( Special1_1$ == "HP_Recover" || Special1_2$ == "HP_Recover" || Special1_3$ == "HP_Recover" ) bonus bHPrecovRate, ( 10 * EffectLevel ) / 100; if ( Special1_1$ == "SP_Recover" || Special1_2$ == "SP_Recover" || Special1_3$ == "SP_Recover" ) bonus bSPrecovRate, ( 10 * EffectLevel ) / 100; if ( Special1_1$ == "FloatingCast" || Special1_2$ == "FloatingCast" || Special1_3$ == "FloatingCast" ) bonus bCastRate, ( 10 * EffectLevel ) / 100; if ( Special1_1$ == "FixedCast" || Special1_2$ == "FixedCast" || Special1_3$ == "FixedCast" ) bonus bFixCastRate, ( 10 * EffectLevel ) / 100; if ( Special1_1$ == "HpDrain" || Special1_2$ == "HpDrain" || Special1_3$ == "HpDrain" ) bonus2 bHpDrainRate, ( 5 * EffectLevel ), 15; // (100.00%),(100%) if ( Special1_1$ == "CoolDown" || Special1_2$ == "CoolDown" || Special1_3$ == "CoolDown" ) bonus bDelayRate, -( 10 * EffectLevel ) / 100; if ( Special1_1$ == "Heal" || Special1_2$ == "Heal" || Special1_3$ == "Heal" ) bonus bHealPower, ( 15 * EffectLevel ) / 100;
  10. Wow thanks so much for very quick reply Sir DeadlySilence!
  11. Hi guys/gals, anyone knows the correct usage of callfunc or autobonus item db script using this one: function script Wand { if ( Weapon$ == "Wand" ) { set WeapEquip, 1; callfunc "Effect"; } } function script Effect { if ( WeapEquip == 1 ) { bonus bMatk,5; } return; } and the db: 15000,Wand_,Wand Wand Wand,4,20,,1500,75,,1,4,0xFFFFFFFF,7,2,2,3,3,1,6,{ callfunc "Wand"; },{},{}
  12. Now I know how to use some functions and create own SQL Tables. Now I really want to know how to create or insert a column for specific table. For example, In `inventory` I want to insert `durability`. Do anyone knows? Please help me on this thanks in advance!
  13. @sir Liohardt: Yes sir, thanks for reminding me of that. Am really aware of it, I was scared of using too much of it, I saw some topic at eathena using wrong small script coded can cost too much resources. I did remove some for statements that shorten the script unnecessarily and took the long way around, LOL as you can see in the script you can found redundancy of functions and commands, but then again if you have a extra time you can look and read the whole script to correct some of my mistakes if I have any. Thanks!
  14. Ok no problem, Im now making an Let me try this one, it would be nice if you could provide a VIDEO in your OWN version of that Fishing System (- Thanks for the script anyways (-: Welcome! Yes I would love to! Anyways am planning to make that script more diverse, going to add skills and new features to it, but first am finding ways how to minimize the length of the script using callfunc, or getarg or whatever I can use to shorten the lines. I need to discover and learn new things first.
  15. Did you follow correctly the installation guide? in http://www.eathena.ws/board/Ranker-v11-Ingame-Txt-and-Sql-ranking-t193726.html If yes? Do you use rAthena? Well idk if that ranker can be used in new rathena revisions. What ranker would you like? If I bump into one topic. I will pm you right away.
  16. Bump, updated the whole script to v.1.5. Check this out.
  17. Actually the recorded name will be overlapped by new rankers. About Top 10 Rank, find this and change DESC LIMIT 5 to 10. If you want to use sir Emistry or Aniruru script. ORDER BY `Count` DESC LIMIT 5 or refer to sir Brian post.
  18. Insert this to Sql Query. DROP TABLE IF EXISTS `guild_rank_mem`; CREATE TABLE `guild_rank_mem` ( `char_id` int(10) unsigned NOT NULL, `guild_id` smallint(5) unsigned NOT NULL, `rank` smallint(5) unsigned DEFAULT '0', `woe` smallint(5) unsigned DEFAULT '0', `donate` int(11) unsigned DEFAULT '0', `donate_am` int(11) unsigned DEFAULT '0', `holiday` smallint(5) unsigned DEFAULT '0', PRIMARY KEY (`char_id`) ) ENGINE=MyISAM; DROP TABLE IF EXISTS `guild_rank_guild`; CREATE TABLE `guild_rank_guild` ( `guild_id` smallint(5) unsigned NOT NULL, `type` smallint(5) unsigned DEFAULT '1', `rank` smallint(5) unsigned DEFAULT '0', `woe` smallint(5) unsigned DEFAULT '0', `donate` int(11) unsigned DEFAULT '0', `donate_min` int(11) unsigned DEFAULT '0', `donate_max` int(11) unsigned DEFAULT '0', PRIMARY KEY (`guild_id`) ) ENGINE=MyISAM; Then place the NPC wherever you wanted.
  19. It's @Capuche not @Skorm Havnt seen that one, ohhh my, sorry sir Capuche. Thanks again. Edited the post.
  20. Src mod for that one is complicated to make. I guess anyways I did found someone here in the forums that he is selling that mod. Cant find it now thou.
  21. I remove the link of old scripts. I don`t want anyone to use it while im finishing the new one, because of too much perma-global vars althou it work fine. I will post the new one after I finished the whole script, meantime the new release will be my final release of it ATM. I don`t like players encounter bugs or any related errors. Because I do have vacation this coming week so am not here doing any updates to bugs or errors.
  22. WOw thanks for the reply Sir Capuche, I actually make the script working my self before i look at your post, but i will apply what you had teach me, thank so much, here is my working script. When fishing level reach to 50, no mo exp will be given the the player. if( FishingLevel >= 50)set FishingNowExp,FishingNowExp + 0;// + 0 ?? what's the point? I just made some corrections, Yes sir used first equip computation to set how many bonuses are given if multiple equip are equipped. Script: I only post the fishing points, but i manage to make all vars to work and read on query. function script Fishing_Points {if($@Toggle == 1 || $@Toggle == 2 || $@Toggle == 3 || $@Toggle == 4) { // Fishing Points! Can be toggled to on/off. for (.@i = 0; .@i < getarraysize($@FishingEquips); .@i++) if(isequipped($@FishingEquips[.@i])) { set #FishingPoints,#FishingPoints+$@FishingEquipsPts[.@i]; } set #FishingPoints,#FishingPoints+$@FishingPoints[FishingLevel]; if(query_sql("SELECT `fpts` FROM `fishing_system` WHERE `name` = '"+strcharinfo(0)+"'",.@fpts)){ set .@fpts,#FishingPoints; query_sql("UPDATE `fishing_system` SET `fpts` = '"+.@fpts+"' WHERE `name` = '"+strcharinfo(0)+"'"); } else { query_sql("INSERT INTO `fishing_system` (`account_id`,`char_id`,`name`,`fpts` ) VALUES ('"+getcharid(3)+"','"+getcharid(0)+"','"+strcharinfo(0)+"','"+escape_sql(.@fpts)+"')"); } } return; } Querry: DROP TABLE IF EXISTS `fishing_box`;DROP TABLE IF EXISTS `fishingbox`;DROP TABLE IF EXISTS `fishing_system`;CREATE TABLE IF NOT EXISTS `fishing_system` (`account_id` int(11) unsigned NOT NULL default '0',`char_id` int(11) unsigned NOT NULL default '0',`name` varchar(30) NOT NULL DEFAULT '',`flvl` INT( 11 ) NOT NULL DEFAULT '0',`fexp` INT( 11 ) NOT NULL DEFAULT '0',`fpts` INT( 11 ) NOT NULL DEFAULT '0',`fcot` INT( 11 ) NOT NULL DEFAULT '0',`fsuc` INT( 11 ) NOT NULL DEFAULT '0',`ffail` INT( 11 ) NOT NULL DEFAULT '0',`fenc` INT( 11 ) NOT NULL DEFAULT '0',`fmom` INT( 11 ) NOT NULL DEFAULT '0',`item_id` INT( 11 ) NOT NULL DEFAULT '0',`item_count` INT( 11 ) NOT NULL DEFAULT '0') ENGINE = MYISAM COMMENT = 'Lil Troll World of Fishing'; FRank: set .@frank,query_sql("SELECT `name`, `flvl`, `fexp`, `fpts`, `fcot` FROM `fishing_system` ORDER BY flvl DESC LIMIT 5",.@n$,.@fl,.@fe,.@fp,.@fc); mes "Hall Of Fame: Fishing Ladder"; mes "^ff0000Name^000000:^ff5500[ FL ]^000000:^005500[ FE ]^000000:^55007f[ FP ]^000000:^55ffff[ FC ]^000000"; for(set .@i,1; .@i <= .@frank; set .@i,.@i++) { mes .@i+". ["+.@n$[0]+"] ("+.@fl[0]+") ("+.@fe[0]+") ("+.@fp[0]+") ("+.@fc[0]+")"; //cutin $FishingLadderRank$,3; } next; menu "^005500[ Return ]^000000",mainmenu; close; The ladder above: ^ ^ ^ Im going to use this one you made: for(set .@i,0; .@i < .@frank; set .@i,.@i++) {mes (.@i+1) +". ["+ .@n$[.@i] +"] ("+.@fl[.@i]+") ("+.@fe[.@i]+") ("+.@fp[.@i]+") ("+.@fc[.@i]+")";//cutin $FishingLadderRank$,3; } Again sir Capuche, thanks so much i ate so much information today! Sorry I misread the name.
  23. @Vlync, yes its working and fully functioning. The old version used too much global vars, it will cause your server in long run to lag. I fixed major of it by making all vars to temporary global. Just refrain using the old version, just save your setups.
  24. Thanks sir Euphy, am more enlightened.
  25. Hi guys, i just need to clarify something, is OnInit: works like this case below even no global vars used? - script blahblah -1,{ OnInit: setarray .blahblah,501,502,503,504,505; setarray .blah,1,2,3,4,5; end; } function script blah1 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah2 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah3 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah4 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah5 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah6 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah7 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah8 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; } function script blah9 { for(.@i=0; .@i < getarraysize(.blahblah) .@i++){ if(isequipped(.blahblah[.@i]) mes .@i+". "+getitemname(.blahblah[.@i)+" "+blah[.@i]+" "; } return; }
×
×
  • Create New...