Jump to content

Zeiyan

Members
  • Content Count

    53
  • Joined

  • Last visited

  • Days Won

    2

Zeiyan last won the day on July 30 2020

Zeiyan had the most liked content!

About Zeiyan

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location:
    California
  • Emulator
    Hercules

Recent Profile Visitors

2264 profile views
  1. Kung wala sa folder ung files it's most likely nasa GRF. If sinusubukan mo kumuha ng sprites and files from other servers, make sure you let them know.
  2. Sorry, It was solved. the issue was the data.grf/rdata.grf was somehow not compatible with my client. I reverted back to a bit older data folder and it worked.
  3. Greetings. I have been away for about 6 years from rathena and hercules but I am back to play around with a private server again. I'm a little rusty but not entirely retarded so I would appreciate the help from anybody. My set up: data.grf and rdata.grf are from here: https://drive.google.com/drive/folders/1uzGIJqhenRyGZhG5gzzCIs29GxlJ3QIr Translations: Translation from asheraf, zackdreaver along with some of my old ones (mixed and matched) My client: 2018-06-20 diffed with NEMO Server side: Ubuntu 18.04 in a virtual machine with the latest rathena as of 9 Nov 2019 Issue: As I was setting up my server and client I came across an issue where having the latest data.grf/rdata.grf was not letting me get past the service select screen. As I was trying to troubleshoot (enable/disable doram both client and server side, try different client versions along with changing my packetver on the server side, diffing my clients multiple times, repatching my kro, rebuilding my client folder) I was finally able to fix it by using an older grf (the above link) rather than the latest one. My issue now is I have a working client but I lost track of what diffs I have on it or what the exact version is. All I know is it is a 2018-06-20Ragexe. (NOT RE). I also forgot if I used the old nemo or the new one. (I was still using WeeDiff and Shin's Diff when I quit last time). I have a working client but no way to update or diff it with nemo if I need to and every other client (2018-06-20c and e) and diff combinations that I tried have not worked so far. Can any one help me out in figuring out why the one I have right now is working and I'm unable to replicate it? Should be a challenge for y'all. I've attached a link for the exe's that is diffed and one that is not. The one that is not diffed is definitely the one undiffed version of the working client. I just don't know what diffs and exact client version of it aside from it's 2018-06-20. https://drive.google.com/drive/folders/11aCYfknYZsCUjnxWBZjWNFvfzJwHhPOn?usp=sharing EDIT: I forgot to mention my whenever I diff the raw client, I would be able to log in and get to see my characters but after selecting the character it would get stuck and time out displaying "Failed to connect to server". No server side errors/warnings would pop up. It is definitely a client side issue at this point and would not be any of my data folders or grf since I have a client that works. It would be either the diff settings or something. (Defnitely not the packetver either) I am open to using other client versions at this point but would take suggestions of what is the most supported and stable. I am running a pure pre-renewal server.
  4. DELETE FROM `char_reg_num_db` WHERE `key` = "KILL";DELETE FROM `char_reg_num_db` WHERE `key` = "Death";DELETE FROM `char_reg_num_db` WHERE `key` = "KillingStreak";DELETE FROM `char_reg_num_db` WHERE `key` = "MultiKill";DELETE FROM `char_reg_num_db` WHERE `key` = "KillingSpree";DELETE FROM `char_reg_num_db` WHERE `key` = "Dominating";DELETE FROM `char_reg_num_db` WHERE `key` = "MegaKill";DELETE FROM `char_reg_num_db` WHERE `key` = "Unstoppable";DELETE FROM `char_reg_num_db` WHERE `key` = "WickedSick";DELETE FROM `char_reg_num_db` WHERE `key` = "MonsterKill";DELETE FROM `char_reg_num_db` WHERE `key` = "Godlike";DELETE FROM `char_reg_num_db` WHERE `key` = "BeyondGodlike";DELETE FROM `char_reg_num_db` WHERE `key` = "DoubleKill";DELETE FROM `char_reg_num_db` WHERE `key` = "TripleKill";DELETE FROM `char_reg_num_db` WHERE `key` = "UltraKill";DELETE FROM `char_reg_num_db` WHERE `key` = "Rampage";DELETE FROM `char_reg_num_db` WHERE `key` = "Ownage";DELETE FROM `char_reg_num_db` WHERE `key` = "NemesisKill";DELETE FROM `char_reg_num_db` WHERE `key` = "FeedCount"; This is what i use to clean my pvp table (using ghost's pvp script)
  5. prontera,150,150,5 script instajob 100,{if ( #instantjob == 0) { mes "[ Instajob ]"; mes "I'll change you into a job that you want but be warned you can only change your job once so choose carefully!"; next; mes "[ Instajob ]"; mes "If you cancel, YOU WILL LOSE YOUR CHANCE to have instant level and job!"; next; switch(select("Lord Knight:Paladin:Assassin Cross:Stalker:High Priest:Champion:High Wizard:Professor:Sniper:Clown/Gypsy:Gunslinger:Ninja:Star Gladiator:Soul Linker:Whitesmith:Creator")){ case 1: jobchange 4008; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Lord Knight!"; break; case 2: jobchange 4015; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Paladin!"; break; case 3: jobchange 4013; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now an Assassin Cross!"; break; case 4: jobchange 4018; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Stalker!"; break; case 5: jobchange 4009; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a High Priest!"; break; case 6: jobchange 4016; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Champion!"; break; case 7: jobchange 4010; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a High Wizard!"; break; case 8: jobchange 4017; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Professor!"; break; case 9: jobchange 4012; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Sniper!"; break; case 10: if(Sex == 0){ jobchange 4021; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Gypsy!"; } else { jobchange 4020; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Clown!"; } break; case 11: jobchange 24; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Gunslinger!"; break; case 12: jobchange 25; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Ninja!"; break; case 13: jobchange 4047; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Star Gladiator!"; break; case 14: jobchange 4049; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Soul Linker!"; break; case 15: jobchange 4011; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Whitesmith!"; break; case 16: jobchange 4019; set BaseLevel,255; set JobLevel,120; mes "[ Instajob ]"; mes "Congratulations! You are now a Creator!"; break; } set #instajob, 1; close;}mes "Instajob can only be used once per account!";close;}
  6. Thanks but i already do know how to add individual monsters I just shared this for others to use if they want. although I was hoping others can sort of optimize the code. (it really sucks and hard to read) I have redundant lines so i feel like i kinda made it longer than it should be. (maybe use arrays or use more efficient sql queries)
  7. mine does'nt check for monster id. it just counts killed monsters in general. then another achievement for mvps and another for lighthalzen mobs.
  8. no. i think that one have src modifications. mine is basically just a simple quests that saves into db. ( i suck at arrays)
  9. Hello hercules!. I just want to share this script i made. I'm fully aware that the coding style sucks, hard to modify and hard to understand (even i have problems reading it when i finished.) nonetheless i wanted to share it and hopefully someone can optimize it and make it easy to modify and clean the whole thing up (if possible add achievements to make it easier) NOTE: for pvp achievement my separate script has variable "KILL" (using ghost's pvp script so don't need to do checking for abuse) for event achievement i added the variable "evtjunk" to all my custom events Script: http://pastebin.com/vBuWaiKd SQL: CREATE TABLE IF NOT EXISTS `achievement` ( `id` int(11) NOT NULL auto_increment, `account_id` int(11) NOT NULL default '0', `char_id` varchar(23) NOT NULL default '', `name` varchar(23) NOT NULL default '', `achievement` varchar(23) NOT NULL default '', `val` int(11) NOT NULL default '0', PRIMARY KEY (`id`), KEY (`id`)) ENGINE=MyISAM; Please leave comments, tips and advices below. (Hoping to hear from people i learned from, emistry and annieruru!
  10. @charinfo A @command (via script) that gives you and your GM Staff (GM level 2 NOT group level)information about Player account informations without having to login to phpmyadmin. I'm quite used to making very simple scripts but this is my first time to give back to the community and also my first time using sql query in scripts (in short i'm a newbie) Please leave comments about what you think . ( I use it on my own server so it includes checking if they have freebies received via account or via mac address) You can choose to input Character name or Username NOTE: I know the @accinfo almost do the same thing but i'm a big noob in source editing so i made this for my own use ( then i can include the stuff i want to display) - script charinfo -1,{OnInit: bindatcmd "charinfo","charinfo::OnCharInfo", 0, 2; end;OnCharInfo: if(getgroupid() >= 2) { mes " [ Character Info ] "; mes " Hello GM ^00CC00"+strcharinfo(0)+"^000000!"; mes " What would you like to check? "; switch (select("Character Name:Username")) { case 1: input .@chrnm$; query_sql "SELECT `account_id` FROM `char` WHERE `name` = '" + .@chrnm$ + "'",.@acid; next; break; case 2: input .@acnme$; query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '" + .@acnme$ + "'",.@acid; next; break; } query_sql "SELECT `userid`,`email`,`group_id`,`last_ip`,`birthdate`,`last_mac` FROM `login` WHERE `account_id` ='" + .@acid + "'", .@usrd$,.@eml$,.@ggm,.@lstip$,.@brtdy$,.@macad$; if ( .@ggm > 0 ) { mes "[ Account Information ]"; mes "GM Account Information are not available"; close; } else if ( .@acid < 2000000 || .@acid > 3000000 ) { mes "[ Account Information ]"; mes "Character Not Found"; close; } query_sql "SELECT `name`, `base_level`, `job_level` FROM `char` WHERE `account_id` =" + .@acid + " ORDER BY `base_level` DESC",.@chrlst$, .@blvl, .@jlvl; mes "[Character List]" ; for(set .@i, 0; .@i < getarraysize(.@chrlst$); set .@i, .@i + 1){ mes .@i+1+". ^00CC00"+.@chrlst$[.@i]+"^000000 "; mes "Level: "+.@blvl[.@i]+"/"+.@jlvl[.@i]+" "; } next; mes "[ Account Information ]"; mes "Account ID: "+.@acid; mes "Username: "+.@usrd$; mes "Email: "+.@eml$; mes "Last IP: ^00CC00"+.@lstip$+"^000000"; mes "Birthdate: "+.@brtdy$; mes "Mac Address: ^FF0000"+.@macad$+"^000000"; query_sql "SELECT `account_id`,`last_mac` FROM `freebies` WHERE `account_id` =" + .@acid + " ",.@rcvfrbs, .@lstmc$; if (.@rcvfrbs > 0) { set .@rcvfrbs, 1; } else { set .@rcvfrbs, 0; } if (.@rcvfrbs > 0) { set .@rcvfrbs$, "^00CC00Yes^000000"; } if (.@rcvfrbs == 0) { set .@rcvfrbs$, "^FF0000No^000000"; } mes "Freebies from account: "+.@rcvfrbs$; for(set .@i1, 0; .@i1 < getarraysize(.@lstmc$); set .@i1, .@i1 + 1){ set .@lstmc, .@lstmc +1; } if (.@lstmc < 1) { set .@lstmc$, "^FF0000No^000000"; } if (.@lstmc > 0) { set .@lstmc$, "^00CC00Yes^000000"; } mes "Freebies from MAC: "+.@lstmc$; close; }} 2. @ipinfo This one displays all users (displays username) with login count and last login from IP address of a certain character (Input Character name) - script ipinfo -1,{OnInit: bindatcmd "ipinfo","ipinfo::OnIPInfo", 2, 2; end;OnIPInfo: if(getgroupid() >= 2) { input .@chrnm$; query_sql "SELECT `account_id` FROM `char` WHERE `name` = '" + .@chrnm$ + "'",.@acid; query_sql "SELECT `last_ip`,`group_id` FROM `login` WHERE `account_id` ='" + .@acid + "'", .@lstp$, .@grplvl; query_sql "SELECT `account_id`,`userid`,`logincount`,`lastlogin` FROM `login` WHERE `last_ip` ='" + .@lstp$+ "'", .@acidlip, .@acidlip$, .@lgncnt, .@lstlgn$; if (.@acid < 2000000 || .@acid > 3000000) { mes "Character Not Found"; close; } if (.@grplvl > 0) { mes "GM Accounts Not Available"; close; } mes "Name: ^00CC00"+.@chrnm$+"^000000 "; mes "IP Address: ^FF0000"+.@lstp$+"^000000 "; next; mes "Displaying Users with IP: ^00CC00"+.@lstp$; next; for(set .@i, 0; .@i < getarraysize(.@acidlip$); set .@i, .@i + 1){ mes .@i+1+". ^00CC00"+.@acidlip$[.@i]+"^000000 "; mes "Login Count: "+.@lgncnt[.@i]+" "; mes "Last Login: "+.@lstlgn$[.@i]+" "; } close; }} 3. @macinfo Same as @ipinfo except this one displays mac address information (if you have harmony or in my case have last_mac table) - script macinfo -1,{OnInit: bindatcmd "macinfo","macinfo::OnMacInfo", 2, 2; end;OnMacInfo: if(getgroupid() >= 2) { input .@chrnm$; query_sql "SELECT `account_id` FROM `char` WHERE `name` = '" + .@chrnm$ + "'",.@acid; query_sql "SELECT `last_mac`,`group_id` FROM `login` WHERE `account_id` ='" + .@acid + "'", .@lstp$, .@grplvl; query_sql "SELECT `account_id`,`userid`,`logincount`,`lastlogin` FROM `login` WHERE `last_mac` ='" + .@lstp$+ "'", .@acidlmac, .@acidlmac$, .@lgncnt, .@lstlgn$; if (.@acid < 2000000 || .@acid > 3000000) { mes "Character Not Found"; close; } if (.@grplvl > 0) { mes "GM Accounts Not Available"; close; } mes "Name: ^00CC00"+.@chrnm$+"^000000 "; mes "Mac Address: ^FF0000"+.@lstp$+"^000000 "; next; mes "Displaying Users with Mac: ^00CC00"+.@lstp$; next; for(set .@i, 0; .@i < getarraysize(.@acidlmac$); set .@i, .@i + 1){ mes .@i+1+". ^00CC00"+.@acidlmac$[.@i]+"^000000 "; mes "Login Count: "+.@lgncnt[.@i]+" "; mes "Last Login: "+.@lstlgn$[.@i]+" "; } close; }}
  11. if (where&EQP_WEAPON) {switch (sd->status.weapon) {case W_FIST: //Bare fists should not break :P//case W_1HAXE://case W_2HAXE://case W_MACE: // Axes and Maces can't be broken [DracoRPG]//case W_2HMACE://case W_STAFF://case W_2HSTAFF://case W_BOOK: //Rods and Books can't be broken [Skotlex]//case W_HUUMA:where &= ~EQP_WEAPON;}} Solved by commenting these lines
  12. uhmm. okay. it doesnt affect the item bonus right? how do i make all weapons breakable? thanks.
  13. Hello hercules. Well I'm not sure if it's a bug or something i did or anything that i'm not aware of. 1st of all here are some of my modification battle.conf // Overall rate of which your own equipment can break. (Note 2)// This rate affects penalty breaking rate of skills such as power-thrust and your natural breaking rate // (from equip_natural_break_rate). If a Sage's endow skill fails and this is above 0, the selected char's// weapon will be broken.equip_self_break_rate: 10// Overall rate at which you can break target's equipment. (Note 2)// This affects the behaviour of skills like acid terror and meltdownequip_skill_break_rate: 10 item_db.conf { Id: 4361 AegisName: "B_Harword_Card" Name: "Whitesmith Card" Type: 6 Buy: 20 Weight: 10 Loc: 2 Script: <" callfunc "ccount"; if(@cardcnt < 3) { bonus4 bAutoSpell,486,3,30,0; bonus4 bAutoSpell,42,10,30,1; bonus bBreakWeaponRate,300; bonus bBreakArmorRate,300; } "> Trade: { nodrop: true }}, Problem: The armor so far is working properly (breaking the armor), However there are some instances that the bonus "bBreakWeaponRate" is not working. It's that it's not working at all but it does not work on some characters/weapon types maybe. (i'm not sure we tested it on high wizard with survivor rod and knife = knife gets broken, survivor rod = survives ) We tested it on some more characters and weapons but i'm having trouble determining what is causing this. NOTE: We also tried 100% break rate to determine if it really is working or not and there really is something wrong. Another question equip_skill_break_rateequip_skill_break_rate their defaults are 100 and i set them to 10. How does this affect the bonus bBreakWeapon and bBreakArmor?
  14. if (($table = mysqli_query($sql,"SELECT * FROM `char` WHERE `char_id`='".$_GET['char']."'")) ) How do I add a table? I'm trying to have my "pvp_rank" table included so i can add how many kills, deaths, etc. my player has
×
×
  • Create New...

Important Information

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