Jump to content

Ajjwidjdneidjenw

Members
  • Posts

    161
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Ajjwidjdneidjenw

  1. I could help with the database, shouldn't be a problem.
  2. 501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ if(strcharinfo(3) == "prontera") {effect} },{},{}
  3. For the heck of it, I'll join in as well whenever I'm done with my college work. Changed my user name^
  4. warp "pvphero",0,0; warp "pvphero",0,0; warp "pvphero",0,0; warp "pvphero",0,0; warp "pvphero",0,0; Only one warp will activate, as the script ends when the player warps so the rest of the script isn't executed. Very.. eh.. Unappealing to read.
  5. I assume this wouldn't be too hard, as all you would need to be able to do is a player to create a bet, and get a random number, Colour of the numbers in an array, and something else in roulette (something where you have a 1/3 chance to win, not sure what it was called).
  6. If I'm being honest, I don't think this is such a great idea. rAthena's Emulator isn't that stable yet due to the ATK/MATK Calculations being not implemented propperly yet.. Increasing the Max level, would make the players(Especially GX's) even more powerfull due to the addition of extra status points.
  7. your like vice versa of mine o.o lol Excuse me, I don't quite get what you mean . I've written this in request of the person. All specified elements are in there.
  8. Not tested, probably has some problems, currently not able to test. pvp_n_1-2,150,75,4 script MvP NPC 59,{ if (!mobcount("this","all") end; if((@coold+180) > gettimetick(2)) end; mes "["+strnpcinfo(1)+"]"; mes "Do you wish to be warped to the MvP?"; if(Select("Yes please:No Thanks")==2) close; if (!mobcount("this","all") { mes "The MvP has been killed already"; close; } getmapxy .@m$,.@x,.@y,3,getmonsterinfo(.MvP$[.rand],0); set @coold,gettimetick(2); close2; warp .@m$,.@x,.@y; end; OnTimer3600000: set .rand,rand(getarraysize(.MvP$); monster "this", 0, 0, "--ja--", .MvP$[.rand], 1,strnpcinfo(0)+"::OnMvPDeath"; Stopnpctimer; end; OnMvPDeath: Mapannounce "this","The MvP '"+getmonsterinfo(.MvP$[.rand],0)+"'has been slain by "+strcharinfo(0); startnpctimer; sleep 15000; mapwarp "pvp_n_1-2","SavePoint",0,0; end; OnInit: setarray .MvP$[0],1002,1003,1004; //List of Random MvP's Startnpctimer; end; }
  9. Curse is a status effect, players can become immune to it.
  10. Those are multiple values settings, so you must use Setarray I know, my bad. DIdn't test it
  11. Randomly bc's one of the following, but I geuss the above is better. - script Announcement -,{ OnInit: setarray .Announcements$[0],"GameMasters will never ask for your account information.", "Broadcast Two", "Broadcast Three"; //etc.. setarray .colour$[0],"0xFF0000",//red "0x00FF00", //Green "0x0000FF"; //blue end; OnMinute00: OnMinute30: announce .Announcements$[(rand(getarraysize(.Announcements$)))],0,.Colour$[(rand(getarraysize(.colour$)))]; end; }
  12. Jeeeeeeeez, who had the time to write that script. I bet its possible to reduce this to like, 600~800 lines by using like, call sub / using arrays.and loops.
  13. Emistry, its better to make the person warp right away. In case its a guild castle, the above can be bypassed if a player doesn't click the 'close' button and is being e-called while in the same castle. Just have a dispbottom message like so. Nevermind, didn't notice the sleep. Still though, I think it would be more efficient to use the dispbottom and warping right away other than running the same thing every 5 seconds . - script Sample#checkrefine -1,{ OnInit: setarray .Map$[0],"payg_cas02","guild_vs1","guild_vs2","guild_vs3","guild_vs4"; .size = getarraysize( .Map$ ); for( .@i = 0; .@i < .size; .@i++ ) setmapflag .Map$[.@i],mf_loadevent; end; OnPCLoadMapEvent: for( .@i = 0; .@i < .size; .@i++ ) while( strcharinfo(3) == .Map$[.@i] ){ getinventorylist; for( .@i = 0; .@i < @inventorylist_count; .@i++ ) if( @inventorylist_refine[.@i] > 10 ){ dispbottom "Please remove all Equipment that have Refine +10 or above."; warp "SavePoint",0,0; } sleep2 5000; } end;
  14. I just read all the messages properly, and Wow. I seem to understand it a little bit now, but I think I'll have to create a few scripts utilizing the bitmask for me to actually understand properly. Thanks! I'll go build something shortly. (once I come up with something)
  15. Thats because the script triggers upon login, it does the check right away . weird though, looking atit it should work fine. OnPCLoginEvent: if (getgmlevel() >= 99) end; set .@name$, strcharinfo(0); if (query_sql("SELECT `char`.`name` FROM `char` LEFT JOIN login ON `char`.account_id=login.account_id WHERE login.last_mac=(SELECT last_mac FROM login WHERE account_id="+getcharid(3)+") AND `char`.online=1 AND `char`.char_id!="+getcharid(0), .@name$) >= 1) { for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) { if (checkvending(.@name$[.@i]) != 2) set .@samemac, .@samemac +1; } if (.@samemac >= 1) { announce "Sorry, only 1 account per computer can be logged in at a time.", bc_self; sleep 1000; atcommand "@kick " + .@name$; } } end; } edit: if (.@samemac >= 1) { is greater than or equal to one, thus will always kick the player . Also, doesn't it kick the player because .@name$ is also the Array name?
  16. I know how the quest system works Annie, thanks anyway . I'm mainly just struggling with the bit masks and such.
  17. line 192 has two semi colons if(.GldEXPBoost == 1) announce "Guild Rank System: EXP Bonus has been activated.",4,0x00FF00;;
  18. Thanks, MarkZD gave me some information on this subject as well. I do seem to understand a few parts. You may add me to an IM or send me a PM if you want so you could show me Sounds interesting .
  19. Tbh, I'm not too familiar with bit operators, could you give me a small explanation on the above?
  20. Refer to my previous post, added a newer script. ^
  21. I'll try to create a 'simple' public script later, so I can show you guys where I started, and where I am right now . Edit: can't think of anything ,and I gtg to college. Ideas anyone? Might as well post one of my other scripts. This one is fairly simple //PvP script V.1.5 //By Jero //1.1, added a dual log check. //1.2, added a PvP NPC //= Version 1.3 Optimised script preformance. //= Version 1.4 Added MAC check instead of IP //= Version 1.5 Cleaned up the code //=================================NPC================================= prontera,148,189,6 script PvP warper#01::SPVP 59,{ mes "[PvP warper]"; mes "What PvP room would you like to enter?"; if (select("Normal PvP [^FF0000"+getmapusers("06guild_01")+"^000000]:"+ "No item PvP [^FF0000"+getmapusers("06guild_02")+"^000000]:"+ "GvG Room [^FF0000"+getmapusers("06guild_03")+"^000000]:"+ "No, I'm not a violent person") == 4) close; query_sql "select `last_mac` from `login` where `account_id`='"+getcharid(3)+"'",.@PVPUIP$; If (getd("$@SPVP" + .@PVPUIP$)) { Mes "Dual Log detected, Access not permitted."; close; } callfunc "disppvp"; setd ("$@SPVP" + .@PVPUIP$), 1; warp "06guild_0"+@menu,0,0; close; //===============================Other Events=========================================== OnPCDieEvent: if (strcharinfo(3) == "06guild_01" || strcharinfo(3) == "06guild_02" || strcharinfo(3) == "06guild_03") { query_sql "select `last_mac` from `login` where `account_id`='"+getcharid(3)+"'",.@PVPUIP$; setd ("$@SPVP" + .@PVPUIP$), 0; end; } OnPCLogoutEvent: if (strcharinfo(3) == "06guild_01" || strcharinfo(3) == "06guild_02" || strcharinfo(3) == "06guild_03" ) { query_sql "select `last_mac` from `login` where `account_id`='"+getcharid(3)+"'",.@PVPUIP$; setd ("$@SPVP" + .@PVPUIP$), 0; end; } } //================================Arena NPC=========================================== 06guild_02,50,4,4 script Arena Guardian#01::AGUARD 416,{ mes "[Arena Guardian]"; mes "Do you wish to leave the arena?"; next; if (select("Yes Please let me out:No way!") == 2) close; query_sql "select `last_mac` from `login` where `account_id`='"+getcharid(3)+"'",.@PVPUIP$; getmapxy(.@m$,.@x,.@y,0); if (getmapusers(.@m$) != 1) { set .@AGRDPW, rand(9000000, 10000000); mes "[Arena Guardian]"; mes "please type in the following number " +.@AGRDPW; next; input .@AGRDPW2; if(.@AGRDPW != .@AGRDPW2) { mes "Incorrect password, please try again."; close; } } mes "Thank you for participating!"; mes "I hope to see you again soon!"; next; setd ("$@SPVP" + .@PVPUIP$), 0; warp "SavePoint",0,0; end; } //================================Mapflags============================================ 06guild_02 mapflag nomemo 06guild_02 mapflag noteleport 06guild_02 mapflag nopenalty 06guild_02 mapflag nowarp 06guild_02 mapflag nowarpto 06guild_02 mapflag noreturn 06guild_02 mapflag nobranch 06guild_02 mapflag nosave 06guild_02 mapflag pvp_noguild 06guild_02 mapflag nogo 06guild_02 mapflag pvp 06guild_02 mapflag restricted 8 //normal 06guild_01 mapflag nomemo 06guild_01 mapflag noteleport 06guild_01 mapflag nopenalty 06guild_01 mapflag nowarp 06guild_01 mapflag nowarpto 06guild_01 mapflag noreturn 06guild_01 mapflag nobranch 06guild_01 mapflag nosave 06guild_01 mapflag pvp_noguild 06guild_01 mapflag nogo 06guild_01 mapflag pvp //GVG 06guild_03 mapflag nomemo 06guild_03 mapflag noteleport 06guild_03 mapflag nopenalty 06guild_03 mapflag nowarp 06guild_03 mapflag nowarpto 06guild_03 mapflag noreturn 06guild_03 mapflag nobranch 06guild_03 mapflag nosave 06guild_03 mapflag pvp_noguild 06guild_03 mapflag nogo 06guild_03 mapflag gvg //================================NPC Duplicates======================================= morocc,170,89,3 duplicate(SPVP) PvP warper#02 56 geffen,127,66,3 duplicate(SPVP) PvP warper#03 56 payon,167,227,3 duplicate(SPVP) PvP warper#04 56 alberta,200,148,3 duplicate(SPVP) PvP warper#05 56 aldebaran,134,115,5 duplicate(SPVP) PvP warper#06 56 comodo,185,156,5 duplicate(SPVP) PvP warper#07 56 gonryun,163,126,3 duplicate(SPVP) PvP warper#08 56 louyang,210,101,5 duplicate(SPVP) PvP warper#09 56 hugel,106,156,4 duplicate(SPVP) PvP warper#10 56 dicastes01,188,181,4 duplicate(SPVP) PvP warper#11 56 //==============================Guard Duplications.===================================== 06guild_02,4,50,4 duplicate(AGUARD) Arena Guardian#02 416 06guild_02,50,95,4 duplicate(AGUARD) Arena Guardian#03 416 06guild_02,97,50,4 duplicate(AGUARD) Arena Guardian#04 416 06guild_01,4,50,4 duplicate(AGUARD) Arena Guardian#05 416 06guild_01,50,95,4 duplicate(AGUARD) Arena Guardian#06 416 06guild_01,97,50,4 duplicate(AGUARD) Arena Guardian#07 416 06guild_03,4,50,4 duplicate(AGUARD) Arena Guardian#08 416 06guild_03,50,95,4 duplicate(AGUARD) Arena Guardian#09 416 06guild_03,97,50,4 duplicate(AGUARD) Arena Guardian#10 416 06guild_01,50,4,4 duplicate(AGUARD) Arena Guardian#11 416 06guild_03,50,4,4 duplicate(AGUARD) Arena Guardian#12 416 function script disppvp { sc_end sc_gospel; sc_end sc_poembragi; sc_end sc_service4u; sc_end SC_APPLEIDUN; sc_end sc_kyrie; sc_end SC_ASSUMPTIO; sc_end SC_QUAGMIRE; sc_end SC_MINDBREAKER; sc_end SC_READING_SB; sc_end SC_KAUPE; sc_end SC_KAAHI; sc_end SC_KAIZEL; sc_end SC_ADRENALINE2; return; }
  22. Well its not really my first, my first ones were really the item scripts and such. Trust me, I've spend a whole bunch of hours on that script above^, and I attempted a few other scripts. This one was really my own. (except for the item rewarding part, copied that from the Rachel Sanctuary quest, and modified that.). Looking back at it makes me want to start writing a script for Christmas already, I should start brainstorming. anyway 2 am here, gotta go, college tommorow and all. I'll be looking forward to our next 'script showdown,'
  23. Brian, if he uses Harmony he can just edit the config file to reject mutli clients.
  24. Lol, if you read my post, that is actually ones of my first script ever written a long while ago, would I do it agian I wouldn't have done it this way. That's what I meant . if I can say it myself, this entire script was/is a mess back when I made it, I can do it so much better now in different aspects. Thing is, I cannot really show some of my current stuff, as they're more private towards my own server / Other server I dev for. I'll have to create something specifically for rAthena, or write something simmiliar to what I have done in in the past. it came from this topic, what I meant with the 'continue in pm' would basically be a discussion about scripting, as we had some fun in the previously stated topic. @annie Darnit, you made me feel like a newbie XD, *protects self.
×
×
  • Create New...