Jump to content

GmOcean

Members
  • Posts

    666
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by GmOcean

  1. *makeitem <item id>,<amount>,"<map name>",<X>,<Y>; *makeitem "<item name>",<amount>,"<map name>",<X>,<Y>; This command will create an item on the specified cell of a map. As with any dropped items, the items created with this command will disappear after a period of time. Using an amount greater than 1 will create a single stack of the given amount, not multiple stacks of 1. Like 'getitem', it also accepts an 'english name' field from the database and creates Apples if the name isn't found. If the map name is given as "this", the map the invoking character is on will be used.
  2. Is that what you WANT it to do? - script SavePointWarp -1,{ OnPCLoginEvent: if( strcharinfo(3) == "map_name" ){warp "SavePoint",0,0;} end; } Just replace map_name with the name of the map you want.
  3. I want to re-suggest this command. Mainly because, unitwarp + getnpcid is still very buggy. Some of things i've discovered is: 1. If the NPC has an OnTouch label, it will not activate at the new location (provided that location is outside of it's original cells). 2. The NPC doesn't recogize the new location as it's NEW location. It still holds all data to the original location marked in the script structure. 3. If a player walks over the cells where an NPC used to be, that has an OnTouch label, it will try to activate that label and fail, by sending errors to the map server, stating that the corresponding NPC is no longer there. I'm sure there are a few more problems out there, but these are the ones i've found in the past couple days. So again, I would like to re-suggest an updated command to move an npc across maps without these bugs. This should be 100% possible, as I've had a src mod for eA a few years back that allowed me to create NPC duplicates on the fly as well as move the NPC across maps if I so choose to.
  4. I'm wondering how I can add skills to a class using the custom src folder using the .Inc files. Like the ones used for atcommands and script commands.
  5. Your ((((LUK Stat x 10) / 3)+1)/1000)=%. Ex: 99x10=990/3=330+1=331/1000=.331=33.1%
  6. -NecroPost- http://rathena.org/board/files/file/2240-release-script-command-equip2/ This command does work. Tested on latest revision. Just add it to script.inc and script_def.inc in src/custom folder.
  7. -NecroPost- I'd like to revist this suggestion, to see if we can get a final decision on this. I vote we should implement both features suggested in this topic.
  8. Try this: - script GuildInvasion -1,{ OnInit: setarray .map$[0],"Guild Map 1","Guild Map 2","Guild Map 3"; setarray .guild[0],1,2,3; OnPCLoadMapEvent: //Guild Map 1 if( strcharinfo(3) == .map$[0] && getcharid(2) == .guild[0] ){end;} else { mapannounce .map$[0],strcharinfo(0) +" from ["+getguildname(getcharid(2))+"] has invaded your home town!",bc_blue|bc_map; end; } //Guild Map 2 if( strcharinfo(3) == .map$[0] && getcharid(2) == .guild[0] ){end;} else { mapannounce .map$[0],strcharinfo(0) +" from ["+getguildname(getcharid(2))+"] has invaded your home town!",bc_blue|bc_map; end; } // Guild Map 3 if( strcharinfo(3) == .map$[0] && getcharid(2) == .guild[0] ){end;} else { mapannounce .map$[0],strcharinfo(0) +" from ["+getguildname(getcharid(2))+"] has invaded your home town!",bc_blue|bc_map; end; } //Add more as needed. // End since, they are not on any of the maps. end; } guild_map_1 mapflag gvg guild_map_2 mapflag gvg guild_map_3 mapflag gvg guild_map_1 mapflag loadevent guild_map_2 mapflag loadevent guild_map_3 mapflag loadevent guild_map_1 mapflag noteleport guild_map_2 mapflag noteleport guild_map_3 mapflag noteleport It detects if a player warps onto 1 of the guild maps. If they do, it then checks to see if they are in the same guild as the map owners. If they are, nothing happens. If they are NOT, then it announces that they invaded the map. As Emistry suggested, GVG is enabled, so PVP will always be on if it's to fight enemy guilds. You won't be able to hurt your guild members.
  9. I thought about doing an OnTouch method, but i was concerned about whether or not OnTouch will activate 100% of the time upon the npc warping locations. Since the main method of using a campfire, will be through an item, which summons the NPC to that player's location, but him/her and other players in the immediate area can use it as well. Also, I figured as much, since detachrid with addrid, only removes the LAST person attached. Was hoping there was a way to detach them all, without storing their IDs in a temp variable/array. As for the firewood part, it's mostly intended, that summoning the campfire will give it a 60second use, and then adding firewood will extend its time, not necessarily a requirement. And Lastly, thank you very much for assisting me xD. It's always good to see you pop up from time to time, but I fear even 1 rare appearance, will result in a flooded PM box D:. Best of luck to you, and may the PM box stay empty~ish! lol.
  10. Okay, so my problem is that addrid works fine, however, it seems to terminate a scripts function if it fails. Additionally, if combined with an IF statement, it sends an error to the map server, causing the script to fail. ex. if( addrid(4,0,(.x-5),(.y+5),(.x+5),(.y-5)) ){ do this; } else { end; } //This will result in an error. Also, placing it with in a set command also results in a script failure. set .@i, addrid(4,0,1,200,200,1); So, what I'm trying to do can be fully explained with the script. As you can see below it shouldn't be an issue with not having a player attached. prontera,155,170,4 script Campfire 123,{ donpcevent strnpcinfo(3)+"::OnCampfireStart"; end; OnInit: getmapxy(.m$,.x,.y,1,strnpcinfo(3)); set .a,1; end; OnCampfireStart: initnpctimer; freeloop(1); while(.a) { npctalk "Healing"; addrid(4,0,(.x-5),(.y+5),(.x+5),(.y-5)); if( playerattached() ) { dispbottom "You have been attached to script"; if( issitting() ){dispbottom "You were sitting.";} else {dispbottom "You were standing.";} sleep2 10000; getmapxy(.@m$,.@x,.@y,0); if(distance(.@x,.@y,.x,.y) >= 6){detachrid;} } sleep 100; if(.end){freeloop(0); break;} } set .end,0; end; OnFireWoodUse: set .firewood,.firewood+1; end; OnTimer60000: if(.firewood){set .firewood,.firewood-1; setnpctimer 0;} set .end,1; disablenpc strnpcinfo(0); end; }
  11. You just need to change the formula. sstatus->luk*10/3+1 //Original. At 99 Luk, this gives players a 34% chance to auto-warg. sstatus->luk*7/3+1 //Edited. At 99 Luk this gives players a 23% Chance to auto-warg. That's essentially a 30% reduction OF 35%.
  12. I Don't know what you meant by edited the script for fewer mobs, but this is the section you need to change: //--------------- Mob Spawns -------------------------------// //bossnia_01 bossnia_01,0,0,0,0 boss_monster Garm 1252,3,7200000,0,0 bossnia_01,0,0,0,0 boss_monster Gloom Under Night 1768,1,7200000,0,0 bossnia_01,0,0,0,0 boss_monster Dark Lord 1272,1,7200000,0,0 bossnia_01,0,0,0,0 boss_monster Doppelganger 1046,1,7200000,0,0 bossnia_01,0,0,0,0 boss_monster Dracula 1389,1,1800000,0,0 bossnia_01,0,0,0,0 boss_monster Drake 1112,1,1800000,0,0 bossnia_01,0,0,0,0 boss_monster Detale 1719,2,7200000,0,0 bossnia_01,0,0,0,0 boss_monster Maya 1147,1,1800000,0,0 bossnia_01,0,0,0,0 boss_monster Mistress 1059,1,1800000,0,0 bossnia_01,0,0,0,0 boss_monster Baphomet 1039,1,1800000,0,0 //bossnia_02 bossnia_02,0,0,0,0 boss_monster Amon Ra 1511,1,1800000,0,0 bossnia_02,0,0,0,0 boss_monster Atroce 1785,2,1800000,0,0 bossnia_02,0,0,0,0 boss_monster Hell Apocalypse 1978,2,7200000,0,0 bossnia_02,0,0,0,0 boss_monster Eddga 1115,1,1800000,0,0 bossnia_02,0,0,0,0 boss_monster Osiris 1038,1,7200000,0,0 bossnia_02,0,0,0,0 boss_monster Orc Lord 1190,1,7200000,0,0 bossnia_02,0,0,0,0 boss_monster Orc Hero 1087,2,1800000,0,0 bossnia_02,0,0,0,0 boss_monster Incantation Samurai 1492,1,3600000,0,0 bossnia_02,0,0,0,0 boss_monster Moonlight Flower 1150,1,3600000,0,0 bossnia_02,0,0,0,0 boss_monster Lord of Death 1373,1,3600000,0,0 //bossnia_03 bossnia_03,0,0,0,0 boss_monster Ktullanux 1779,2,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Kiel D-01 1734,1,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Thanatos 1708,1,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Lady Tanee 1688,1,3600000,0,0 bossnia_03,0,0,0,0 boss_monster Tao Gunka 1583,1,3600000,0,0 bossnia_03,0,0,0,0 boss_monster Turtle General 1312,1,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Pharaoh 1157,1,3600000,0,0 bossnia_03,0,0,0,0 boss_monster Stormy Knight 1251,1,3600000,0,0 bossnia_03,0,0,0,0 boss_monster Fallen Bishop Hibram 1871,1,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Phreeoni 1159,2,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Golden Thief Bug 1086,1,3600000,0,0 bossnia_03,0,0,0,0 boss_monster Evil Snake Lord 1418,1,7200000,0,0 bossnia_03,0,0,0,0 boss_monster RSX-0806 1623,1,7200000,0,0 bossnia_03,0,0,0,0 boss_monster Assassin Cross Eremes 1647,1,0,0,0 bossnia_03,137,118,1,1 boss_monster Whitesmith Howard 1648,1,0,0,0 bossnia_03,122,195,1,1 boss_monster Beelzebub 1873,1,0,0,0 bossnia_03,196,122,1,1 boss_monster Valkyrie Randgris 1751,1,0,0,0 bossnia_03,142,61,1,1 boss_monster Ifrit 1832,1,0,0,0 Simply // comment out what ever monsters you don't want spawning. ex: //bossnia_03,137,118,1,1 boss_monster Whitesmith Howard 1648,1,0,0,0 bossnia_03,122,195,1,1 boss_monster Beelzebub 1873,1,0,0,0 bossnia_03,196,122,1,1 boss_monster Valkyrie Randgris 1751,1,0,0,0 //bossnia_03,142,61,1,1 boss_monster Ifrit 1832,1,0,0,0 The above will prevent Whitesmith Howard and Ifrit from spawning.
  13. Your script doesn't have the NPC it's looking for. disablenpc "Dice Event Warper#dice"; So either you need to redownload it, or look for it else where.
  14. That, can be done but I'm not at my work-station at the moment, so I wont be able to make the nessecary changes, while also bug testing/ exploit testing any changes made.
  15. Actually, the side boxes (in the order they are) are just fine. However, if we are going to consider anything of the sort, perhaps we should have it user based and save to profile. ex. By default, it'll be in the order it is since, that is how it should be, it allows the community to see exactly the progress the developers have done and how fast. This is definately a must since if the community sees a lack in development then yes, it will slowly decline. ex2. If you log in, then you can drag+drop those into an order you see fit. (I've seen this done on numerous websites, however I'm not sure this forum will support that. If it doesn't then well, just scrap this particular idea). As stated in ex2, this may not be possible with this forum. If that is the case, then perhaps, a user voted layout. Seeing as how there are FAR less developers than there are users, we can give those developers a boost in vote points, each user = 1 vote, each dev = 1-10? depending on what would make it fair. This way, developers can vote to get it to have a layout that supports their interests. @Offtopic - Lastly, I don't think the current decline of rA vs eA is anywhere near comparable. rA is far from being anywhere near that state, however, as with all projects like these, there will be a slow decline in forum activity IF the content lacks anything new. For instance, eA at one point (back before renewal) was at a decline and a fast one at that. However, when kro released renewal, interests sparked and productivity boosted, and the community flocked back to amounts larger than ever. Basically the same thing is happening with rA (i'd actually say the opposite is true, where its still growing). Currently, there just isnt much interest in rA atm because there isn't much happening in kro right now. In eA,rA and hercules, there is about a 80% user base that is pure leechers. 15% is people actively asking for help, and providing it. 5% is the developers working their best to bring new content to us while also improving functionality that 90% of users won't really understand/appreciate since it holds no interests to them. All in all, rA's doing fine. @OnTopic - If it's possible, a customize able forum layout attached and saved to each person's indivisual profile. If not, then perhaps a vote should be issued so we can have a majority decision. You can do this via a poll, where you have people vote for which windows they want where: ex. Window 1 = Recent Topics, Window 2 = Recent Revisions, Window 3 = Badge Nominees.... etc... Something to think about D:
  16. The magic power of tarot card must be so low that 70% reduction + mdef results in 100% reduction.
  17. This is coming along great. Though I have just a few quests. 1. Will the configure window allow for changing the mouse keys? ( Left click to function as Middle wheel click does for moving around the map). 2. Are there already keys configured to show/hide the effects/lighting/sounds on the map? And lastly, it seems, that expanding the object window, and then unexpanding it results in a client crash. (rev.272). This happens when trying to expand the window and then un-expand the window on the default map loaded (prontera by default). Good luck with the production, hope it picks up speed. If only I had knowledge in programing T.T; Edit: Also, just wanted to know how far along custom map support has come, along with the ability to " start " creating new maps using BE2.
  18. if (countitem(501) > 0) { //change 501 to item of your liking Change the 0 to a 10 like so: if (countitem(501) > 10) { //change 501 to item of your liking and then it checks for 10.
  19. Char_id and acct_id shouldn't matter what it's set to as Cydh said, aside from the card0-4 issue. Probably the main reason being that, those numbers are for db entries only. Where as an npc_id and mob_id need to be something viewable by the client and therefore cannot overlap with each other. That is why acct_id and Char_id can have the same numbers. It's similar as to why you can have multiple pvp/gvg/BG ranking ladders. You should even be able to have Guild_id and party_ids overlap with char&acct as well. Since they all hold no true value to the client but only to our sql dbs to help us be organized.
  20. Overall it's an okay logo, however the first ' A ' in Aria looks VERY isolated. One could almost argue, that the server name is: RIA ragnarok online. What your missing, is something to tie them together.
  21. or just add a small heal 10SP to the end of it. So it restores the used SP. 611,Spectacles,Magnifier,11,40,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "MC_IDENTIFY",1; heal 0,10; },{},{} That should make it heal 10SP upon use of the item. Only issue I see here from doing it this way is that, if a player clicks cancel they might still receive the 10SP heal. However in my eyes, this isn't that big of a deal since they need to click cancel anyways.
  22. You can change the banning to jailing if you want. I just never truly found it to hold any value since it only really jails that 1 character. And I usually make like 2 of each class on an account just to hide my identity from other players D: Section you wanna look for is here: if( .ip1$ == getd(".ip"+getcharid(0)+"$") ) {dispbottom "Cheating will not be tolerated. Repeated offenses will result in a public denounciation, and a 5day ban."; set @repeatcheat,@repeatcheat +1; if(@repeatcheat >=3){announce ""+strcharinfo(0)+" has been caught cheating and has been banned for 5days.",bc_blue|bc_all; atcommand "@ban +5d "+strcharinfo(0)+"";} end;} //Prevents same IP Address Farming
  23. - script bounty_script -1,{ OnInit: set .mapname$,"guild_vs3"; //Mapname this script will work on. Leave blank to enable on all maps. set .bounty,10000; //Bounty gained per kill. set .prevent_resu_kill,1; //Whether or not resu killing is enabled. 0 = NO | 1 = YES set .no_zeny_warp,1; //Whether or not a player is warped out of map because they have no zeny. 0 = NO | 1 = YES //*Note - If prevent_resu_kill is enabled, as well as the script on all maps, then players will be warped back to savepoint upon being killed from another player, on ALL maps.* //DON'T CHANGE ANYTHING BEYOND THIS PART, UNLESS YOU KNOW WHAT YOU'RE DOING. if( .prevent_resu_kill ){set .no_zeny_warp,0;} end; OnPCLoginEvent: query_sql("select last_ip from `login` WHERE account_id = "+ getcharid(3) +""),.@ip$; setd ".ip"+getcharid(0)+"$",.@ip$; end; OnPCLogoutEvent: setd ".ip"+getcharid(0)+"$",""; end; OnPCKillEvent: if( strcharinfo(3) != .mapname$ && .mapname$ != "" ){end;} set .ip1$, getd(".ip"+getcharid(0)+"$"); if(killedrid == getcharid(3)){end;} //Prevent Suicide. attachrid(killedrid); if( .ip1$ == getd(".ip"+getcharid(0)+"$") ) {dispbottom "Cheating will not be tolerated. Repeated offenses will result in a public denounciation, and a 5day ban."; set @repeatcheat,@repeatcheat +1; if(@repeatcheat >=3){announce ""+strcharinfo(0)+" has been caught cheating and has been banned for 5days.",bc_blue|bc_all; atcommand "@ban +5d "+strcharinfo(0)+"";} end;} //Prevents same IP Address Farming if( zeny >= .bounty ){set zeny,zeny-.bounty;} set .zeny, getd(".bounty"+ getcharid(0) +""); setd ".bounty"+ getcharid(0) +"",0; //Sets Bounty to 0 if they die. if( .no_zeny_warp ){ if(zeny < .bounty){warp "SavePoint",0,0;} } //Warps them out of map if they no longer have zeny. if( .prevent_resu_kill ){ warp "SavePoint",0,0; } //Warps them out of map to prevent resu kill spam attachrid(killerrid); set zeny,zeny + .zeny; setd ".bounty"+ getcharid(0) +"", getd(".bounty"+ getcharid(0) +"") + .bounty; //Sets Bounty to +10,000 per kill. set .@a$, ""+ getd(".bounty"+ getcharid(0) +"") +""; set .@b, getstrlen(.@a$); while(.@c < .@ {set .@a$,insertchar(.@a$,",",(.@b - 3));set .@b,.@b-3; set .@c,.@c+3;} announce "["+ strcharinfo(0) +"] has killed ["+ rid2name(killedrid) +"]. "+ (Sex?"He":"She") +" has a bounty of: "+ .@a$ +" zeny! [ WANTED LEVEL "+ (getd(".bounty"+ getcharid(0) +"") / .bounty) +" ]",bc_blue|bc_all; end; } Okay, here is an updated version, this has a few changes, such as a quick option changing at the top to make it easier to customize. Additionally, you'll see in those options, an option to prevent resu kill spams. I didn't add the request that would allow a player to get his zeny back if he dies because this would in turn create problems further down the line.
  24. It's possible. I'll take a look at it in a bit.
  25. That can easily be done. I'll make the changes when I'm done with work.
×
×
  • Create New...