Jump to content

RCharles

Members
  • Posts

    154
  • Joined

  • Last visited

Everything posted by RCharles

  1. Make sure your packet_db corresponds to your packet inside your sclientinfo/clientinfo.xml In your src/common, open that and you should see something like this : // 20090408 - 2009-04-08aSakexe+ - 0x44a (dont use as it overlaps with RE client packets) // 20080827 - 2008-08-27aRagexeRE+ - First RE Client // 20081217 - 2008-12-17aRagexeRE+ - 0x6d (Note: This one still use old Char Info Packet Structure) // 20081218 - 2008-12-17bRagexeRE+ - 0x6d (Note: From this one client use new Char Info Packet Structure) // 20090603 - 2009-06-03aRagexeRE+ - 0x7d7, 0x7d8, 0x7d9, 0x7da // 20090617 - 2009-06-17aRagexeRE+ - 0x7d9 // 20090922 - 2009-09-22aRagexeRE+ - 0x7e5, 0x7e7, 0x7e8, 0x7e9 // 20091103 - 2009-11-03aRagexeRE+ - 0x7f7, 0x7f8, 0x7f9 // 20100105 - 2010-01-05aRagexeRE+ - 0x133, 0x800, 0x801 // 20100126 - 2010-01-26aRagexeRE+ - 0x80e // 20100223 - 2010-02-23aRagexeRE+ - 0x80f Now those are some of the compatible diff's. There should be a lot more in there i just grabbed a few as a example. Now go into your DB and Packet_DB Usually people will say "Change your #define to match your diff" but that doesn't always work so new plan. Once you open the Packet_DB say i wanted to use the 2010-02-23, look in the Packet_DB for: //2010-02-09aRagexeRE //0x07F0,6 //2010-02-23aRagexeRE <-- 0x080F,20 //2010-03-03aRagexeRE //0x0810,3 //0x0811,-1 //0x0812,86 //0x0813,6 If it's there then you know you can use it, So this is where you go back to the mmo.h file and change the: #define PACKETVER w/e To #define PACKETVER 20100223 Once thats done go into your PACKET_DB file and make sure that it's set to default //packet_db_ver: 25 packet_db_ver: default
  2. Try This one.. prontera,147,196,3<tab>script <tab>GoldShop<tab>403,{ mes .name$; mes "You currently have "+countitem(.gold_item)+" GOLD."; mes "Would you like to look at the shop?"; next; if(select("Yes:No") == 2) { close; } close2; callshop "GOLD_SHOP",1; npcshopattach "GOLD_SHOP"; dispbottom "You currently have "+countitem(.gold_item)+" GOLD."; end; OnBuyItem: for(set @i,0; @i < getarraysize(@bought_nameid); set @i,@i+1) { for(set @j,0; @j < getarraysize(.GOLD_ITEMS); set @j,@j+2) { if(.GOLD_ITEMS[@j] == @bought_nameid[@i]) { set @itemcost,(.GOLD_ITEMS[(@j+1)]*@bought_quantity[@i]); set @totalcost,(@totalcost+@itemcost); break; } } } if(@totalcost > countitem(.gold_item)) { dispbottom "You don't have enough GOLD."; } else { for(set @i,0; @i < getarraysize(@bought_nameid); set @i,@i+1) { getitem @bought_nameid[@i],@bought_quantity[@i]; } delitem .gold_item,@totalcost; dispbottom "Thank you for shopping."; dispbottom "You now have "+countitem(.gold_item)+" GOLD left."; } set @totalcost,0; deletearray @bought_nameid[0],128; deletearray @bought_quantity[0],128; end; OnInit: npcshopdelitem "GOLD_SHOP",909; // Leave this alone set .name$,"[GOLD Trader]"; set .gold_item,7720; // Input GOLD ID setarray .GOLD_ITEMS[0],4174,40,4047,40,4302,40,4263,30,4305,30,4121,40,4236,25,4168,40,43 18,30,4276,40,4146,30,4131,30,4143,30,4135,40,5374,250,5375,200,5377,200,5373,200 ,5372,150,12906,2,12907,2,13592,4,12905,2,12903,2; // Input as many items as you want (item::price) for(set .@i,0; .@i < getarraysize(.GOLD_ITEMS); set .@i,.@i+2) { npcshopadditem "GOLD_SHOP",.GOLD_ITEMS[.@i],.GOLD_ITEMS[(.@i+1)]; } } - shop GOLD_SHOP 139,909:1
  3. Look into your flux cp files, navigate to 'config/servers.php' and set the md5 to false: 'UseMD5' => true,
  4. There is a tool could Quest Maker, its a very simple tool for creating a quest NPC. It generates the script automatically. Link: http://vince.dc.free.fr/Quest%20Maker%20v3.0.rar Also, as it will generate simple script, try looking at the script so you can familiarize how is it being done.
  5. Your problem might be related to this http://rathena.org/board/topic/65004-new-server-rejected-from-server3/page__pid__107541#entry107541 Please do check it, it might help you.
  6. 1st - Why are you using 127.0.0.1 (loopback IP) It should be your WAN IP 2nd - If still not working, you might wrongly diffed your client. I would probably suggest using old but stable client (maybe 20110315) 3rd - You might have same problem with this, http://rathena.org/board/topic/65004-new-server-rejected-from-server3/page__pid__107541#entry107541
  7. Have you tried checking mmo.h if the define PACKETVER is the same as your client version? You can post your clientinfo.xml and the map,login,char. It will help
  8. Can you post your Application.php But then I guess this could help, you have the same problem. http://rathena.org/board/topic/60799-flux-cp-email-verification-problem/
  9. RCharles

    PC_Bleed

    Better post screenshots..
  10. With dispbottom "<message>"; I don't think so that you can put color code on it.
  11. This is a video of BrowEdit Tutorial on how to Add custom map into your server. I hope that will really make you understand now..
  12. I only think of this 3 possible reason that causes this error. 1. Check your char_athena.conf, login_athena.conf, map_athena.conf and make your WAN/Local IP is correct 2. Your PACKETVER in mmo.h should match your client version( /trunk/src/common/mmo.h ) #define PACKETVER 20111116 3. Check your clientinfo.xml / sclientinfo.xml and make sure everything you put there is correct. The address in your clientinfo.xml / sclientinfo.xml should be the same with the address you put in map_athena.conf
  13. Back from eAthena, brianL posted this..
  14. Installation Guides are found in rAthena Wiki: Category:Installation_Guides (for CentOS, Debian and FreeBSD)
  15. RCW 2008-2011 maps here
  16. RCharles

    MvP Rank

    //= MvP Rank Improved v1.0 //= --- //= This Rank will count every MvP you kill, //= to be more clear, will count every mob //= defined inside the array ".mobid[0]", //= so, if you add the poring ID will count in the rank //= you can modify and ad miniBoss because this array //= only have all MvPs, that's the idea, only MvPs... //= --- - script Rank MvP -1,{ OnInit: // Script Configuration setarray .mobid[0],1511,1647,1785,1630,1399,1039,1874,2068,1272,1719,1046,1389,1112,1115, 1957,1418,1871,1252,1768,1086,1688,1646, 1373,1147,1059,1150,1956,2022,1087,1190,1038,1157,1159,1502,1623,1650,1583,1708, 1312,1751,1685,1648,1917,1658; // MvP Ids set .a, 0; // Broadcast who killed the MvP and wich MvP and wick Map [0 Off - 1 On] set $@top, 10; // Max. Top Rank (Hihgly recommended between 5~10, more maybe bug the server (limited variables) end; OnNPCKillEvent: // Script execution for (set .@c, 0; .@c < getarraysize(.mobid); set .@c, .@c + 1) if (killedrid == .mobid[.@c]) set .@s, 1; // If a MvP if (!.@s) end; if (.a) // If announce On announce "The user [" +strcharinfo(0) +"] has killed a [" +getmonsterinfo(killedrid,0) +"] in the map [" +strcharinfo(3) +"]",bc_blue|bc_all; set MvP, MvP + 1; callfunc ("MvPRank",MvP,strcharinfo(0)); end; } // End Script prontera,146,167,7 script MvP Rank 404,{ // NPC que mostrará el Rank mes "[^FF0000MvP ^0000FFRank ^00FF00Top ^FF0000" +$@top +"^000000]"; for (set .@c, 0; .@c < $@top; set .@c, .@c + 1) mes "Top ^FF0000" +(.@c + 1) +"^000000 ^0000FF" +getd("$topmvp" +.@c +"$") +"^000000 with ^FF0000" +getd("$topmvp" +.@c) +"^000000 MvP killed."; close; } // End if function script MvPRank { set @mvptotal, getarg(0); set @nomb$, getarg(1); for (set .@c, 0; .@c < $@top; set .@c, .@c + 1) { if (@mvptotal >= getd("$topmvp" +.@c)) { if (strcharinfo(0) == getd("$topmvp" +.@c +"$")) { setd "$topmvp" +.@c, @mvptotal; setd "$topmvp" +.@c +"$", @nomb$; return; } else { if (getd("$topmvp" +(.@c + 1) +"$") == "") { setd "$topmvp" +.@c, @mvptotal; setd "$topmvp" +.@c +"$", @nomb$; return; } else { setd "$topmvp" +(.@c + 1), getd("$topmvp" +.@c); setd "$topmvp" +(.@c + 1) +"$", getd("$topmvp$" +.@c); setd "$topmvp" +.@c, @mvptotal; setd "$topmvp" +.@c +"$", @nomb$; return; } // End if } // End if } // End if } // End loop return; } // End function Also there is an existing MVP Rank + Announcement created by Rokimoki. Link: http://www.eathena.w...howtopic=240971
  17. Have you tried using search? http://rathena.org/board/topic/56903-customisable-monster-invasion-event/ However you could do your own following this simple script. -<TAB>script<TAB>Invasion<TAB>-1,{ OnInvasionStart: set .t, rand(getarraysize(.@map$)); set .cnt, 1; set .killed, .quan; announce "Monsters are invading town "+.map$[.t],0; announce "Wave #"+(.cnt)+" starts!",0; monster .map$[.t],0,0,"Invasion Monster",.mob[rand(getarraysize(.mob))],.quan,strnpcinfo(0)+"::OnInvasionKilled"; end; OnInvasionKilled: set .killed, .killed - 1; switch( .killed ) { case 0: break; default: mapannounce .map$[.t],"Monster left on map: "+.killed,0; end; } set .cnt, .cnt + 1; set .killed, .quan; if( .cnt > .wave ) { announce "The Invasion Boss shows himself!",0; monster .map$[.t],0,0,"Invasion Boss",.boss[rand(getarraysize(.boss))],1,strnpcinfo(0)+"::OnBossKilled"; end; } announce "Wave #"+(.cnt)+" starts!",0; monster .map$[.t],0,0,"Invasion Monster",.mob[rand(getarraysize(.mob))],.quan,strnpcinfo(0)+"::OnInvasionKilled"; end; OnBossKilled: announce strcharinfo(0)+" has ended the invasion in "+.map$[.t],0; getitem <item id>,<quantity>; end; OnInit: set .wave, 2; // Number of waves BEFORE the boss set .quan, 100; // Number of mobs spawned for each non-MVP wave setarray .boss[0],<mob id>,<mob id>; // Add all MVP IDs that you want to summon at random setarray .mob[0],<mob id>,<mob id>; // Add all the mob IDs that you want to summon at random setarray .map$[0],"prontera","morocc","aldebaran"; // Add all the map warps you want your invasion to take place at random }
  18. src/map/atcommand.c: { MAP_PRONTERA, 156, 191 }, // 0=Prontera { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta { MAP_IZLUDE, 128, 114 }, // 5=Izlude { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_LOUYANG, 217, 40 }, // 14=Louyang { MAP_NOVICE, 53, 111 }, // 15=Training Grounds { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins { MAP_MOSCOVIA, 223, 184 }, // 25=Moscovia f you want your newly added location to be in the message when you typed @go, modify the following line in .../src/map/atcommand.c: clif_displaymessage(fd, " 0=Prontera 1=Morroc 2=Geffen"); Note: Always make sure the numbers are aligned perfectly vertical in the text file and also, make sure, when adding the first map, that the "" is moved ahead of it as shown in the example above. Also, if you want @go to work with the town name as well as with the number, find the following lines: if (strncmp(map_name, "prontera", 3) == 0) { town = 0; After that, Recompile the server
  19. Is this what you mean? Please check. http://www.eathena.ws/board/index.php?showtopic=192492 Txt to Sql for Item and Mob DB by apwwn
  20. Bro, its not bad to request for script. But in developing a server you must actually learn basic scripting. And its easy. Also you can use the quest generator i told you.
×
×
  • Create New...