Jump to content

GmOcean

Members
  • Posts

    666
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by GmOcean

  1. Oh? That looks pretty good. You should however, convert the number, into a string, so as to add, commas. Merely for looks only lol, but i guess doing that, would require additional scripting and changing the zeny column in the db to string instead of int. But aside from that, seems to work perfectly. Only downside I see is if, you all of a sudden get flooded with wishes lol... Might wanna put a wishing cap xD and a timelimit for when they will be auto-deleted if they havent been granted after X amount of seconds/minutes/hours/days/weeks/months O.o hell with it/ years lol
  2. Not sure how to port it to a website, not skilled in that code lol, BUT it is possible. Though there is one thing to note about your SQL Table, your storing their wish into a string with a 255char max string. This is fine, except that input's and the like in RO allow for 255 characters. Since your adding: ' Player A has thrown XXXXX zeny into the fountain wishing for "+ players really long wish should they choose to +". You MIGHT go over the 255 cap and it'll either error or cut some of the text out. You could have SQL store it as a TEXT where it won't have that 255 limit, but it's up to you.
  3. Lol, Emistry and I had similar ideas, but you should use his script as it's cleaner, also, it stores a time-stamp so you know whether or not, it's old.
  4. Okay well, here is an example, of how I would have it stored, after that it's just a matter of retrieving the information for use later on. prontera,180,150,4 script Wishing Well 123,{ mes "Throw zeny in and make a wish?"; if(select("Throw Zeny:Wishes are for suckers")==2){close;} else { mes "How much zeny would you like throw in?"; input @zeny,0,zeny; if(!@zeny){close;} mes "Tell me your wish..."; input @wish$; //Think character limit is 255? Should be plenty. query_sql("INSERT INTO `wishing_well` (acct_id,name,zeny,wish,granted) VALUES ('"+ getcharid(3) +"','"+ strcharinfo(0) +"','"+ @zeny +"','"+ @wish$ +"','0')"); set zeny,zeny - @zeny; mes "Your wish has been received."; close; } CREATE TABLE IF NOT EXISTS `wishing_well` ( `ID` bigint(20) unsigned NOT NULL auto_increment, `acct_id` int(11) unsigned NOT NULL default '0', `name` varchar(30) NOT NULL default '', `zeny` int(11) unsigned NOT NULL default '0', `wish` text, `granted, tinyint(2) NOT NULL default '0', PRIMARY KEY (`ID`) ) ENGINE=MyISAM;
  5. Why not just use a normal sql db as Emistry suggested? This way, you can also, have it pull data-ingame, by sorting through everything and making a list via a SQL ladder. It's not too hard, and can be accessed via your website. Best way I can think of :/
  6. I think what he was saying is, IF you use Tortoise svn to grab your CUSTOM SVN, from your SVN server, it SHOULD update the current version displayed. Atleast it should now display the version noted in your svn server. Where as rAthena is 17k+, yours assuming you havent committed much might be less than 100. so like, version 097 or something like that ionno.
  7. Well, I can't give an exact example, because I'm not sure how your current registrations are coded. But it would be something similar to this, if using Flux CP. Seeing as how they deal with SQL DBs to store account information, there would most likely be something similar to what is listed HERE. You'll see in that page that it sends a query to a SQL db with information they entered, all you should have to do, is add additional queries below it, to make it send the information to multiple DBs. Atleast this is how most games do it, when they make it so your GameAccount is the same for Forums. In retrospect, should be quite similar.
  8. This sounds like a SQL issue. I'm not exactly sure where to go to fix it, but I do know, some where in your settings, there is a CHECK BOX, that says limit something to 1,000 lines. If you UN-CHECK that, then you should no longer receive this error. Because what's happening now, is SQL is limiting the amount of information it can accept to 1000 line per script. So if you run a query with 1,001 lines, it'll error out, and only the first 1,000 lines will be entered.
  9. If I'm not mistaken, when they register it's via online right? Well if that's the case, there is PHP code, that specifies what is to happen upon saying confirm/accept or w/e it is they press. Either way, it usually, just has it send information to a SQL DB, and then a query is run. You SHOULD be able to have it merely send the same information to all of your SQL DBs. While this won't solve your request to have only 1 DB. It should make it so they only need to register once, and thus all games, should have the same login information.
  10. This requires a src edit, as there is currently no bonus command that allow for bypassing GTB. So, you'll be better off, taking your request to the SRC Request section, and asking help there, also, as a suggestion, try and see if they will make the mod into an actual bonus type. (e.g: bonus bGTBbypass,(x/10000)%. Personally, i'd like to see such a thing implemented already as it is a pretty common request, but then again, rAthena aims to be Official not quite custom. So unless it benefits a majority as a whole, it'll just remain a custom to be added at one's discretion.
  11. Actually I think his issue is just the exact opposite. His script is done through the interface of a normal NPC using menu's where you just choose it and read the requirements. I believe he wants his script to be turned into a Shop NPC.
  12. That sets the variable .acctid to the account ID of the player. Just incase, you wanted to give them some sort of item or whatever, after the 20seconds.
  13. Hmm, I thought about this before, but, you could always store the information into 1 Player Var using implode & explode combinations. I've written a script for this sort of thing before, but it mainly dealt with giving players random quest requirements than other people but for the same item. To make things unique.
  14. Well, you could just use a dynamic NPC to do the getitem2 after purchasing it, the only thing is, it still wont show (+7). So yea, just go with Emistry's suggestion.
  15. Here you go. prontera,180,150,4 script Countdown -1,{ set .name$,strcharinfo(0); set .acctid,getcharid(3); initnpctimer; end; OnTimer20000: mapannounce strnpcinfo(4),"The winner is: "+ .name$ +"",0; stopnpctimer; end; }
  16. Well, first off, this should be posted in, SRC Request section. Secondly, most if not all of your skills that you want, is just a matter of Copy + Paste + Rename skills, so that, it seems unique. You can also refer to: Adding New Skills at the Wiki.
  17. Oh, sorry, change that to the below. I must have typed that part in wrong. bindatcmd "@warp",strnpcinfo(3)+"::OnWarpCmd";
  18. 30%? I think your math is off, it should be 20%. As far as I know, Bubble Gum doesn't give 10 + (10*2)%. It should just make the drop rate, X+X = %. Or am i missing something here. Edit NVM. I see what your saying. Hmm, although, I don't remember that stat being changeable. Last I remember, changing it to anything else other than 100, will result in it still being 100. Or did this get fixed?
  19. I've edited my first post, to modify the script to fit your new needs. The only issue I see arising from it, is if a player tries to put in coordinates and happens to place a LETTER instead of a NUMBER. While, this won't crash your server, it'll just show an error. Aside from that, it will act as needed. Allowing for @warp to those locations, ONLY if they have bought the permit.
  20. Here you go. Only edits I made to your request was, Instead of making it 1M to gain access to Levels 1->3, and then 10M for access to Levels 1->4. I made it so, In TOTAL they will have to pay 10M zeny to gain access to Levels 1->4. In other words, if they bought 1->3 for 1M, then they only need pay 9M more to gain access to 1->4. To make it fair. prontera,150,150,4 script Level Dungeons 123,{ set .@npc$,"[^0000FF Level Dungeons Warper ^000000]"; if(!V1_3 && !V1_4) {mes .@npc$; mes "You currently do not have access to these dungeons. You must pay an entrance fee, do you wish to continue?"; mes "Prices:"; mes "Access to Dungeons 1->3 = 1,000,000z"; mes "Access to Dungeons 1->4 = 10,000000z"; menu "Access to Dungeons 1->3",i1_3,"Access to Dungeons 1->4",i1_4,"Cancel",iClose;} if(V1_4) {menu "Level 1:Level 2:Level 3:Level 4",-; warp "lvl_dun0"+ @menu +"",0,0; end;} menu "Level 1:Level 2:Level 3",-,"Access to Dungeons 1->4",i1_4,"Cancel",iClose; warp "lvl_dun0"+ @menu +"",0,0; end; i1_3: next; if(zeny < 1000000){mes "Sorry, but you don't have enough zeny. You need 1,000,000z"; close;} set zeny,zeny-1000000; set V1_3,1; mes "Thank you. You now have access to Level Dungeons 1->3."; close; i1_4: next; if(zeny < (10000000 - V1_3) ){mes "Sorry, but you don't have enough zeny. You need "+ (10000000 - V1_3) +"z"; close;} set zeny,zeny - (10000000 - V1_3); set V1_4,1; mes "Thank you. You now have access to Level Dungeons 1->4."; close; iClose: close; OnInit: bindatcmd "@warp",strnpcinfo(3)+"::OnWarpCmd"; end; OnWarpCmd: if(compare(.@atcmd_parameters$[0],"lvl_dun0") && V1_3 && .@atcmd_parameters$[0] != "lvl_dun04") {warp .@atcmd_parapmeters$[0],0,0; end;} if(compare(.@atcmd_parameters$[0],"lvl_dun0") && V1_4) {warp .@atcmd_parapmeters$[0],0,0; end;} if(compare(.@atcmd_parameters$[0],"lvl_dun0") && !V1_3 && !V1_4){end;} warp .@atcmd_parameters$[0],atoi(.@atcmd_parameters$[1]),atoi(.@atcmd_parameters$[2]); end; }
  21. No, this is because all the Black Market ticket does, is activate a way for you to open a reverse vending. So, just like the vending skill, you MUST have the items that you want to Sell/Buy. The only way around this, would be for a menu to pop up, and you select which item you want to vend (even if you don't have it), then give the player 1 of that item, so they can use it for this purpose, however that just leads to exploiting, because they can just warp away after having got the item. So, again, no. Not unless some src edits are done, which would be pretty complicated.
  22. Sounds like, the eAmod they have. Though, their's is turned on and off by use of a command. This should effectively mimic their system, by giving you commands, to turn it off and on. - script undead_mode -1,{ OnInit: set .mode,1; //0 = Zombies Only, 1 = Random undead mob. set .mobs[0],1015,1016,1028,1071,1076,1152,1153,1169,1196,1290,1197,1298,1864,1865; bindatcmd( "@undeadmode",strnpcinfo(3)+"::OnAtCommand" ); bindatcmd( "@zombiemode",strnpcinfo(3)+"::OnAtCommand" ); end; OnAtCommand: if($zmode){set $zmode,0;} else {set $zmode,1;} dispbottom "Undead/Zombie Mode is now "+ ($zmode?"OFF":"ON") +""; end; OnPCDieEvent: if($zmode){ if( .mode ){set .@id,.mobs[rand(getarraysize(.mobs))];} else {set .@id,.mobs[0];} monster "this",-1,-1,strcharinfo(0),.@id,1"";} end; } *Note, I may have gotten, the display message backwards about when it says off and on lol, not sure, been awhile since i've used that method.
  23. As far as I can see, it clearly says Duplicate Entry, which would suggest somewhere in your query You have a duplicate entry. Also, I failed to see why you needed to specify the account ID repeatedly when trying to replace certain values.
  24. GmOcean

    Town Message

    You know this is much cleaner if we just attach a: loadmapflag on all maps you want this to activate on, then just do this: -%TAB%script%TAB%load_map%TAB%-,{ OnPCLoadMapEvent: announce "Welcome to [ "+ strtoupper(strcharinfo(3)) +" ]",bc_self,0x00F0E5,0,16; end; } //Add Maps & Mapflags. Though, this is assuming, that no other Loadmap flags are being used for other reasons.
  25. Oh duh lol. Sorry forgot about that, I updated the script to show the names. Also, i changed a variable to an NPC var, to try and solve the NO zeny issue. As for why your not getting an announce, I don't see why your not getting one. I'd test it BUT, i don't have a server up and running to do so. Kinda just scripting on Brain Power lol, thats all the checks I can do, maybe someone else will be able to further fix this.
×
×
  • Create New...