Jump to content

Veracious

Members
  • Posts

    179
  • Joined

Everything posted by Veracious

  1. Place it in your server's grf or data folder data\texture\유저인터페이스\illust\<your file here i.e. (Character_Clown01.bmp)> After thats done, for displaying the image follow this - http://rathena.org/board/topic/95469-where-to-put-cutin-255/?p=257716
  2. I want to have an Item Signer NPC that will take some items and Sign player's name on Equipments, and also if its possible on ETC items. It will also sign on slotted equipments, also on enchanted equipments if its possible to do so. Currently i'm using Lupus's script but it doesn't sign on slotted gears, etc items & enchanted equipments.
  3. RMS Skill Effect - This skill amplifies the spell damage by boosting your MATK for the first spell (yes, only one spell) following this skill. The bonus is 5% per SkillLV. It used to display the Increased/Amplified MATK in the status window(alt+q) when MA was casted, it also used to go back to the original MATK once the first spell was casted or when the 30 second stay duration got over.
  4. Did you do this already? If you're facing problems after doing this, your version is quite old and I doubt what I said will work, I recommend you to use the 1.6c version and apply the changes which I mentioned in the previous posts. Here is the link for Euphy's Quest Shop 1.6c - https://github.com/rathena/rathena/blob/master/npc/custom/quests/quest_shop.txt
  5. 1) @pvpoff will disable pvp If you wish to have PVP ON on those maps without the Map Rank/Timer then @pvpoff is not the solution it can be done through GRF editing. 2) make changes in the following files :- idnum2itemdesctable.txt idnum2itemdisplaynametable.txt num2itemdesctable.txt num2itemdisplaynametable.txt desctable - Description of your items displaynametable - Display Name of your items If you also want to change the name which is displayed when you type @ii thanatos - 'Thanatos_Card'/'Memory of Thanatos Card'[0] (4399) Open trunk\db\re\item_db.txt if renewal or trunk\db\pre-re\item_db.txt if pre-renewal Find 4399,Thanatos_Card,Memory of Thanatos Card Replace with 4399,Thanatos_Card,Thanatos Card 3) search for clientinfo.xml in your grf/data files Find <aid> <admin>2000000</admin> <admin>2000001</admin> <admin>2000002</admin> </aid> <aid> - Admin ID, it contains the number of Admin suits the client will display. <admin>2000000-2000002</admin> - Admin ID list, you can expand it to 2000003, 20000004, 20000005 depending upon your requirement. If you want to add one Admin just do as show below. Also, make sure you add it above </aid> or else it won't work. <aid> <admin>2000000</admin> <admin>2000001</admin> <admin>2000002</admin> <admin>2000003</admin> </aid>
  6. Instead of formatting your PC why not use the correct compatible version of microsoft visual studio? EDIT : Sorry, I meant Microsoft Visual C++ 2010
  7. Just go through this topic its the same - http://rathena.org/board/topic/94925-npc-quest-shop/ EDIT : 1) You need to copy the script you're using 2) Make a new script and paste the original script inside it 3) Do the changes as shown in the above link i.e. replacing q_shop & qsho1,qshop2,qshop3 etc 4) This will make it like 2 different scripts and you can now have different items in your 2nd script.
  8. http://rathena.org/wiki/Basic_Scripting#Duplicating Of course it will duplicate the items inside it, thats the way it works. Other way for doing this(you will be able to add different items) - http://rathena.org/board/topic/94925-npc-quest-shop/#entry255096
  9. Amplified Magic is not displaying the Amplified MATK in status window alt+q. I wan't it to be displayed. I've tried searching some topics but they're all about bugs of that skill. Anyone knows how to do it?
  10. Its working, thanks Kichi! trunk\src\map\atcommand.c Changed battle_config.guild_emperium_check = 0; to battle_config.guild_emperium_check = 1; ACMD_FUNC(guild) { char guild[NAME_LENGTH]; int prev; nullpo_retr(-1, sd); memset(guild, '\0', sizeof(guild)); if (!message || !*message || sscanf(message, "%23[^\n]", guild) < 1) { clif_displaymessage(fd, msg_txt(sd,1030)); // Please enter a guild name (usage: @guild <guild_name>). return -1; } prev = battle_config.guild_emperium_check; battle_config.guild_emperium_check = 1; guild_create(sd, guild); battle_config.guild_emperium_check = prev; return 0; }
  11. Just like what Winz said there is an option while diffing the client "Skip Service Select" just don't select it. For tip of the day you can try doing whats said here to enable it - http://rathena.org/wiki/Tip_of_the_day
  12. http://rathena.org/wiki/Cutin "close2;" works perfectly for me, you can try this, as when the script gets complicated sometimes the cutin doesn't work as it should by just using "close;". close2; cutin "",255; end;
  13. Thanks i'll be trying this
  14. I have already hexed the client 8-10 times and i can't really recall what all those hexes. Can we make it like @guild failed if no emperium in inventory? Already it consumes Emperium if its there in the inventory, is there any way to make the command fail if an emperium is not present in the invent?
  15. Working perfect! Thanks! // New guild skills [Celest] case GD_BATTLEORDER: if(flag&1) { if (status_get_guild_id(src) == status_get_guild_id(bl)) sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id, skill_lv)); } else if (status_get_guild_id(src)) { clif_skill_nodamage(src,bl,skill_id,skill_lv,1); map_foreachinrange(skill_area_sub, src, skill_get_splash(skill_id, skill_lv), BL_PC, src,skill_id,skill_lv,tick, flag|BCT_GUILD|1, skill_castend_nodamage_id); if (sd) skill_blockpc_start(sd, skill_id, skill_get_time2(skill_id,skill_lv)); } break; case GD_REGENERATION: if(flag&1) { if (status_get_guild_id(src) == status_get_guild_id(bl)) sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id, skill_lv)); } else if (status_get_guild_id(src)) { clif_skill_nodamage(src,bl,skill_id,skill_lv,1); map_foreachinrange(skill_area_sub, src, skill_get_splash(skill_id, skill_lv), BL_PC, src,skill_id,skill_lv,tick, flag|BCT_GUILD|1, skill_castend_nodamage_id); if (sd) skill_blockpc_start(sd, skill_id, skill_get_time2(skill_id,skill_lv)); } break; case GD_RESTORE: if(flag&1) { if (status_get_guild_id(src) == status_get_guild_id(bl)) clif_skill_nodamage(src,bl,AL_HEAL,status_percent_heal(bl,90,90),1); } else if (status_get_guild_id(src)) { clif_skill_nodamage(src,bl,skill_id,skill_lv,1); map_foreachinrange(skill_area_sub, src, skill_get_splash(skill_id, skill_lv), BL_PC, src,skill_id,skill_lv,tick, flag|BCT_GUILD|1, skill_castend_nodamage_id); if (sd) skill_blockpc_start(sd, skill_id, skill_get_time2(skill_id,skill_lv)); } break; case GD_EMERGENCYCALL: case GD_ITEMEMERGENCYCALL: { int8 dx[9] = {-1, 1, 0, 0,-1, 1,-1, 1, 0}; int8 dy[9] = { 0, 0, 1,-1, 1,-1,-1, 1, 0}; uint8 j = 0, calls = 0, called = 0; struct guild *g; // i don't know if it actually summons in a circle, but oh well. ;P g = sd?sd->guild:guild_search(status_get_guild_id(src)); if (!g) break; if (skill_id == GD_ITEMEMERGENCYCALL) switch (skill_lv) { case 1: calls = 7; break; case 2: calls = 12; break; case 3: calls = 20; break; default: calls = 0; break; } clif_skill_nodamage(src,bl,skill_id,skill_lv,1); for (i = 0; i < g->max_member && (!calls || (calls && called < calls)); i++, j++) { if (j > 8) j = 0; if ((dstsd = g->member[i].sd) != NULL && sd != dstsd && !dstsd->state.autotrade && !pc_isdead(dstsd)) { if (map[dstsd->bl.m].flag.nowarp && !map_flag_gvg2(dstsd->bl.m)) continue; if(map_getcell(src->m,src->x+dx[j],src->y+dy[j],CELL_CHKNOREACH)) dx[j] = dy[j] = 0; pc_setpos(dstsd, map_id2index(src->m), src->x+dx[j], src->y+dy[j], CLR_RESPAWN); called++; } } if (sd) skill_blockpc_start(sd, skill_id, skill_get_time2(skill_id,skill_lv)); } break;
  16. I've tested this, i'm now able to use all the Guild Skills with separate delay. But, the delay of 5 minutes is removed, once i cast all those skills i'm not able to cast them again i.e. the skills can be casted only once even trying after 10 minutes they cant be casted again. Its not reading the cooldown i guess. Please help!
  17. Its working without errors, need to test the script now.
  18. Getting error again when i recieve the items [SQL]: DB error - Unknown column 'master' in 'field list' [Debug]: at ..\src\map\script.c:15156 - SELECT `account_id`,`master`,`time` FROM `guild_package_log` WHERE `guild_id` = 0 LIMIT 1 [Debug]: Source (NPC): Guild Package Giver at prontera (151,185) Script that i used for testing prontera,151,185,3 script Guild Package Giver 78,{ mes "Claim Guild Package"; query_sql( "SELECT `account_id`,`master`,`time` FROM `guild_package_log` WHERE `guild_id` = "+.@guild_id+" LIMIT 1",.@aid,.@master$,.@time$ ); if( !.@aid ){ // get guild packet getitem 512,1; getitem 512,2; getitem 512,3; query_sql( "INSERT INTO `guild_package_log` VALUES ( "+gettimetick(0)+","+.@guild_id+",'"+escape_sql( strcharinfo(0) )+"',"+getcharid(3)+",NOW() )" ); close; } else{ mes "Already claimed by "+.@master$+" on "+.@time$; close; } } at sql CREATE TABLE IF NOT EXISTS `guild_package_log` ( `id` int(11) unsigned NOT NULL, `guild_id` int(11) unsigned NOT NULL, `name` varchar(30) NOT NULL DEFAULT '', `account_id` int(11) unsigned NOT NULL, `time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY ( `id` ) ) ENGINE=MyISAM;
  19. I'm getting errors each time i talk to the npc [SQL]: DB error - Unknown column 'aid' in 'field list' [Debug]: at ..\src\map\script.c:15156 - SELECT `aid`,`master`,`time` FROM `guild _package_log` WHERE `guild_id` = 0 LIMIT 1 [Debug]: Source (NPC): Guild Package Giver at prontera (151,185) [SQL]: DB error - Column count doesn't match value count at row 1 [Debug]: at ..\src\map\script.c:15156 - INSERT INTO `guild_package_log` VALUES ( 0,'GM Veracious',2000000,NOW() ) [Debug]: Source (NPC): Guild Package Giver at prontera (151,185)
  20. 0 4 19:55:33 CREATE TABLE IF NOT EXISTS `guild_package_log` ( `id` int(11) unsigned NOT NULL auto_increment, `guild_id` int(11) unsigned NOT NULL, `name` varchar(30) NOT NULL DEFAULT '', `account_id` int(11) unsigned NOT NULL, `time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY ( `id` ) Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7 0.000 sec Error at these two lines. PRIMARY KEY ( `id` ); ) ENGINE=MyISAM;
  21. I think you need this you can also change the colors so that they don't look like GM broadcasts which are in yellow.
  22. Its not deleting items or turning them into account bound after the guild breaks. bump bump bump bump bump
  23. thanks, its working now! //===== EinherjarRO Scripts ================================== //= Pvp Ladder //===== By: ================================================== //= Stolao //===== Current Version: ===================================== //= 1.0B //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= // Configurable Pvp Ladder //===== Comments: ============================================ //= [Stolao] //= Needs bug testing, please report any bugs //= Unable to test thurally on my comp atm //===== Additional Comments: ================================= //= 1.00 Initial Release //= 1.01 Added Location with veiwing of ladder //= 1.02 Added GM Menu //= 1.03 Added atcommand //= 1.04 Shortend menu script //= 1.05 Added PvpPoints into confug and script //= 1.06 Added Abuse Protection //= 1.07 Made Pvp Points Configurable //= 1.08 Fixed typo in Reset Option //= 1.09 Made Amount of pvp points earned configurable //= 1.0A Ajusted Spacing for easier reading //= 1.0B Added Warp to savepoint on abuse into config //===== Contact Ifo: ========================================= //= [Stolao] //= Email: [email protected] //============================================================ prontera,154,169,4 script Pvp_Ladder 837,{ mes "~Sign Reads~"; OnPvpLadder: mes "Pvp Ladder"; if(getgmlevel() >= .GM){ set .@i,select("Warp to PVP Room:View PVP Records:Leave:Reset PVP Stats"); } else { set .@i,select("Warp to PVP Room:Veiw PVP Records:Leave"); } switch(.@i){ case 1: next; { mes "[ ^0000ffPVP Warper^000000 ]"; mes "Hello!"; mes "Do you want me to warp you to PVP Room?"; menu "^398315Sure, Bring it on!",warppvp,"^d95353No, thanks.",cancel; warppvp: warp "prt_pvp",0,0; end; } cancel: { next; mes "[ ^0000ffPVP Warper^000000 ]"; mes "One should be courageous, not a coward."; end; } case 4: mes "Are you sure you want to delete ALL pvp records?"; if(select("No:Yes")==1) close; next; mes "Wait one Moment..."; mes "....."; cleararray $TOPPK$[0],0,127; cleararray $TOPPK[0],0,127; query_sql("DELETE FROM `global_reg_value` WHERE `str` = 'PKCOUNT'"); set .@self, getcharid(3); set .@size, query_sql("select account_id from `char` where online = 1", .@aid); for(set .@i,0; .@i<.@size; set .@i,.@i+1) { if(attachrid(.@aid[.@i])){ set PKCOUNT,0; } } attachrid(.@self); mes "Cleared pvp data."; close; case 2: next; for(set .@i,0; .@i < getarraysize($TOPPK$); set .@i,.@i+1){ mes (.@i+1)+": "+ $TOPPK$[.@i] +" with "+ $TOPPK[.@i] +" kills"; if(.@i % 10 == 0){ if(select("Read More:Leave") == 1){ next; } else { close; } } } case 3: close; } close; OnPCKillEvent: if(.Options&2 && (agitcheck() || agitcheck2())){ if(getgmlevel() < .GmLvl || .Options&8){ if(.Options&1 || strcharinfo(3) == .Map$){ if(.Options&32){ for(set .@i,.RepeatCount; .@i > 0; set .@i, .@i-1){ set @PKedID[.@i+1], @PKedID[.@i]; } set @PKedID,killedrid; } for(set .@i,1; .@i < .RepeatCount; set .@i,.@i + 1){ if(@PKedID[0] == @PKedID[.@i]){ set .@s, .@s + 1; } else { set .@i, .RepeatCount + 1; } } if(.@s < .RepeatCount){ set PkCount,PkCount+1; if(.Options&16) setd getd(.PointType$),getd(.PointType$) + .PvpEarned; for(set .@i,0; .@i < .MaxPlayers; set .@i, .@i + 1){ if(PKCOUNT > $TOPPK[.@i]){ if($TOPPK$[.@i] != strcharinfo(0)){ setarray $TOPPK$[.@i + 1], $TOPPK$[.@i]; setarray $TOPPK[.@i + 1], $TOPPK[.@i]; } setarray $TOPPK$[.@i],strcharinfo(0); setarray $TOPPK[.@i],PKCOUNT; if(.Options&4) Announce ""+strcharinfo(0)+" Now Holds the The number "+.@i+" spot on the Pvp Ladder",bc_all; } sleep 1; } } else { if(.Options&64) warp "Save",0,0; } } } } end; OnInit: set .GM,99; set .MaxPlayers,10; // Number of Players held in Records set .GmLvl,99; // Highest GM level Able to Hold a Record, if Option 8 is Disabled set .Map$,"prt_pvp"; // Map Pvp Must Take Place on in order to Count, if Option 1 is Disabled set .RepeatCount,5; // Number of kills on same person before it detects abuse, max of 128 set .PointType$,"#PvpPoints"; // Name of points earned, E.G. #Cash Points set .PvpEarned,1; // Number of Pvp Points Earned set .Options,7; // Bitwise Variable // 1: Only Counts Kills on .Map$ if Disabled // 2: Disables Record Holding during WOE // 4: Announce When Someone Takes a Rank // 8: Allow Gms Above level .GmLvl To Be on Ladder // 16: Gain PvP Points on Kills (#PvpPoints) // 32: Repeat Kill Protection // 64: Warp to Save on abuse // Example: "1+2+4 = 7" No Forced Map, Disables Record Holding during WOE and Announces New Record Holders bindatcmd("PvpLadder" ,"Pvp_Ladder::OnPvpLadder",0,99); OnCharIfInit: while( 1 ){ delwaitingroom; waitingroom "PVP Warper [ "+getmapusers("prt_pvp")+" Players ]",0; sleep 1000; } end; } I wanted to slightly change this part case 2: next; for(set .@i,0; .@i < getarraysize($TOPPK$); set .@i,.@i+1){ mes (.@i+1)+": "+ $TOPPK$[.@i] +" with "+ $TOPPK[.@i] +" kills"; if(.@i % 10 == 0){ if(select("Read More:Leave") == 1){ next; } else { close; } } } It displays 1st rank seperately( first rank uses 1 whole space of 10 ranks), after i select "read more" it shows 2-11 ranks, how can i make it start from 1-10?
×
×
  • Create New...