Jump to content

sotf

Members
  • Posts

    173
  • Joined

  • Last visited

Everything posted by sotf

  1. Cool script! Altho I have donate armor rentals on my server, which would make them permanent once you use this(am I right?) Can you make another version of this but instead of armor, it will enchant accessories(or headgears maybe?)
  2. What I meant was I want an NPC that gives out supplies to players once a week, but I want a cliclable one instead of an automatic one. But I don't want the NPC to give supplies on every click, just once per week.
  3. Good day rAthena! I was just wondering, is there any script that when a player clicks a specific NPC, it will give an item/items, but is only allowed once per 7 days? Like let's say, I click this npc and it gives me this specific item(s), if I click it again it wont give me anything until 7 days have passed. Thank you in advance!
  4. ^Ah thank you for that, I think a consumable item to end the status effect is enough. I will test it first and post here if it works, thanks again! I can't use any consumable/potions when I'm inflcted with Deep Sleep, is that normal? If so, what script can negate or remove the status without using consumables? using this: { sc_end SC_DEEPSLEEP;} :/ le bump
  5. Good Day rAthena! I'm just wondering, is there any script out there that can resist or give immunity to renewal status effect such as Deep Sleep? Probably a card/item effect. Card effect: half or full immunity to <insert Renewal Status effect here> Consumable item: when a player is inflicted with deep sleep, use this item to wake up. Thanks in advance for those who are going to help! Bump!
  6. http://code.google.com/p/ea-addicts/downloads/detail?name=gmprotectsql.txt&can=2&q= I have a script like this already. To stop canceling it with alt keys mute the player and then detach the player from the script and unmute them from the npc. I think there was a different way of doing it but I forget. You don't have to use mine but you can learn from it I'll try yours first and I'll see what I should adjust for my server's needs. This works on rAthena right?
  7. ^I can cancel that by using @jump on my alt keys <-- a huge security flaw
  8. Hi! Good day rathena! I'm here again asking for your help, I hope you can help me on this one as well So, I made a security system for our GM accounts on our server, a secondary password. My knowledge in scripting is just basic, so here's what I got so far: //Security System Secondary Password - script Security System Login -1,{ OnPCLoginEvent: if (getgroupid() >= 80) { warp "z_agit", 24, 175; end; } } - script Security System Mapflags -1,{ OnInit: setmapflag "z_agit", mf_loadevent; end; } - script Security System Password -1,{ if (getgroupid() >= 80){ OnPCLoadMapEvent: if ("z_agit" == strcharinfo(3)) { mes "Please Input Secondary Password for your Account:"; input .@ss1$; // Admin Orochi if( getcharid(3) == 2000502 ){ if( .@ss1$ == testing ){ mes "Thank you for your cooperation!"; next; atcommand "@hide"; mes "Warping back to save point..."; warp "SavePoint", 0, 0; end; close; } else{ mes "Password Incorrect!"; next; atcommand "@kick "+strcharinfo(0); } } } } } } My problem is it's not working the way I wanted, it's not working at all What I basically wanted is when a GM above the level of 80 logins, he will be warped to a map(z_agit) where commands are disabled, nowarp and nowarpto mapflags activated then when they arrive to the map, it will ask for a secondary password, if successfully inputed the GM will go @hide then warp to their save point, if fails, they will be automatically get kicked out of the server. Oh and I want every GM account to have their own secondary password, which will be fixed on the script and only I can change. On this part of the script... // Admin Orochi if( getcharid(3) == 2000502 ){ if( .@ss1$ == testing ){ mes "Thank you for your cooperation!"; next; atcommand "@hide"; mes "Warping back to save point..."; warp "SavePoint", 0, 0; end; close; } else{ mes "Password Incorrect!"; next; atcommand "@kick "+strcharinfo(0); } } } I was planning for it to be like this: // Admin Orochi <insert script here> // gm#1 <insert script here> and so on and so forth But if anyone has a better idea, please let me know Thanks in advance for those who are going to help
  9. ^how about if you try my GTB card effect and my settings on battle.conf?
  10. Good Day! I'm having some problem on our server. Let's me just explain it via a situation: Player1 wears GTB card on shield, then Player2 casts fire bolt, the damage is high. Then Player1 switched to a shield with Thara Frog Card, now Player2 casts fire bolt again and the damage is lower than before. Is it weird that thara frog card's resist catches fire bolt's damage instead of GTB's? Since GTB's should have resist from magic. Here's my GTB card effect: 4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,50; bonus bUseSPrate,100; },{},{} And here's the settings on my items.conf: gtb_sc_immunity: 50 Please help me solve this issue, thanks in advance for those who will help
  11. Good day! I can't seem to make Goddameit's Custom Battle Ground script to work on my server. //Author-Script Goddameit My forum : http://bit.ly/MDuQ9F //Author-Map TrojanWorm //Version 2012-10-31 //Don't re-release in anywhere and anyway ////////////////////////////////////////////////////////////////////////// endless_war mapflag battleground 2 endless_war,218,86,0 script #BattleGroundwarpA2 100,{ end; OnInit: waitingroom "Join Team A(Click)",2,"#BattleGroundwarpA2::OnJoin",1; end; OnJoin: if(!$@bg_id_a) set $@bg_id_a,waitingroom2bg("endless_war",205,85,"",""); else waitingroom2bg_single($@bg_id_a,"endless_war",205,85,"#BattleGroundwarpA2"); warpwaitingpc "endless_war",205,85; end; } endless_war,40,86,0 script #BattleGroundwarpB2 100,{ end; OnInit: waitingroom "Join Team B(Click)",2,"#BattleGroundwarpB2::OnJoin",1; end; OnJoin: if(!$@bg_id_ set $@bg_id_b,waitingroom2bg("endless_war",53,85,"",""); else waitingroom2bg_single($@bg_id_b,"endless_war",53,85,"#BattleGroundwarpB2"); warpwaitingpc "endless_war",53,85; end; } endless_war,165,86,0 script #BattleGroundwarpA1 45,2,2,{ warp "endless_war",161,86; end; } endless_war,90,86,0 script #BattleGroundwarpB1 45,2,2,{ warp "endless_war",94,86; end; } prontera,150,180,4 script Battle Ground 100,{ //--------------whisper------------------ OnWhisperGlobal: if ( getgmlevel() >= 99 ) { if ( @whispervar0$ != "ON" && @whispervar0$ != "OFF" ){ dispbottom "You have to type [ON] or [OFF] to enable or disable event"; end; } if ( @whispervar0$ == "ON" ){ callsub OnActive; end; } if ( @whispervar0$ == "OFF" ){ announce "Bg has been Cancelled.",bc_all; callsub OnEndd; end; } end; } //---------------endofwhisper--------------- if(.status==2) { mes "Game is running."; close; } if(.status==1) { if(.playernm>=128) { mes "Sorry, full"; close; } select("Join"); if(!.playerid[1]) { //callsub OnEndd; initnpctimer; } set .playernm,.playernm+1; set .playerid[.playernm],getcharid(0); mes "Complete"; close; } end; OnClock0100: OnClock0300: OnClock0500: OnClock0700: OnClock0900: OnClock1100: OnClock1300: OnClock1500: OnClock1700: OnClock1900: OnClock2100: OnClock2300: callsub OnActive; end; OnActive: callsub OnEndd; set .status,1; Announce "[Battle Ground]:Someone active the game! Go to prontera,150,180 and join us!",0; end; OnTimer60000: if(.playernm<=32) { Announce "[Battle Ground]:Sorry, player amount isn't enough",0; callsub OnEndd; end; } Announce "[Battle Ground]:Event is ready!",0; for(set .@i,1;.@i<=.playernm;set .@i,.@i+1) { if(.@i%2==0) warpchar "endless_war",218,86,.playerid[.@i]; else warpchar "endless_war",40,86,.playerid[.@i]; } callsub OnEnab2; end; OnTimer90000: set .status,2; Announce "[Battle Ground]:Go!",0; bg_monster $@bg_id_a,"endless_war",128,120,"A",1907,"Battle Ground::OnAdestory"; bg_monster $@bg_id_b,"endless_war",127,46,"B",1907,"Battle Ground::OnBdestory"; callsub OnEnab1; end; OnTimer190000: if(.point[1]>.point[2]) { for( set .@i,1; .playerid[.@i]; set .@i,.@i+1 ) { if( attachrid(.playerid[.@i]) ) { if( getcharid(4) == $@bg_id_a ) getitem 7539,10; } } Announce "[Battle Ground]:Team A Win!",0; } else if(.point[2]>.point[1]) { for( set .@i,1; .playerid[.@i]; set .@i,.@i+1 ) { if( attachrid(.playerid[.@i]) ) { if( getcharid(4) == $@bg_id_b ) getitem 7539,10; } } Announce "[Battle Ground]:Team A Win!",0; } else { Announce "[Battle Ground]:Draw!",0; } sleep2 3000; callsub OnEndd; end; OnBdestory: set .point[1],.point[1]+5; set .point[2],.point[2]-3; bg_updatescore "endless_war",.point[1],.point[2]; detachrid; sleep2 10000; bg_monster $@bg_id_b,"endless_war",127,46,"B",1907,"Battle Ground::OnBdestory"; end; OnAdestory: set .point[2],.point[2]+5; set .point[1],.point[1]-3; bg_updatescore "endless_war",.point[1],.point[2]; detachrid; sleep2 10000; bg_monster $@bg_id_a,"endless_war",128,120,"A",1907,"Battle Ground::OnAdestory"; end; OnEndd: set .status,0; bg_destroy $@bg_id_a; bg_destroy $@bg_id_b; set $@bg_id_a,0; set $@bg_id_b,0; setarray .point[1],0,0; killmonsterall "endless_war"; bg_updatescore "endless_war",.point[1],.point[2]; deletearray .playerid[0],128; mapwarp "endless_war","prontera",150,180; callsub OnDisa; return; OnEnab1: enablenpc "#BattleGroundwarpA1"; enablenpc "#BattleGroundwarpB1"; return; OnEnab2: enablenpc "#BattleGroundwarpA2"; enablenpc "#BattleGroundwarpB2"; return; OnDisa: disablenpc "#BattleGroundwarpA1"; disablenpc "#BattleGroundwarpB1"; disablenpc "#BattleGroundwarpA2"; disablenpc "#BattleGroundwarpB2"; return; OnInit: sleep2 10000; setwall "endless_war",218,87,1,1,0,"BattleGroundwarpA21"; setwall "endless_war",219,87,1,1,0,"BattleGroundwarpA22"; setwall "endless_war",219,86,1,1,0,"BattleGroundwarpA23"; setwall "endless_war",219,85,1,1,0,"BattleGroundwarpA24"; setwall "endless_war",218,85,1,1,0,"BattleGroundwarpA25"; setwall "endless_war",217,85,1,1,0,"BattleGroundwarpA26"; setwall "endless_war",217,86,1,1,0,"BattleGroundwarpA27"; setwall "endless_war",217,87,1,1,0,"BattleGroundwarpA28"; setwall "endless_war",40,87,1,1,0,"BattleGroundwarpB21"; setwall "endless_war",41,87,1,1,0,"BattleGroundwarpB22"; setwall "endless_war",41,86,1,1,0,"BattleGroundwarpB23"; setwall "endless_war",41,85,1,1,0,"BattleGroundwarpB24"; setwall "endless_war",40,85,1,1,0,"BattleGroundwarpB25"; setwall "endless_war",39,85,1,1,0,"BattleGroundwarpB26"; setwall "endless_war",39,86,1,1,0,"BattleGroundwarpB27"; setwall "endless_war",39,87,1,1,0,"BattleGroundwarpB28"; callsub OnEndd; end; OnPCKillEvent: if(strcharinfo(3)=="endless_war" && $@bg_id_a && $@bg_id_ { if(getcharid(4) == $@bg_id_a) { set .point[1],.point[1]+1; }else set .point[2],.point[2]+1; bg_updatescore "endless_war",.point[1],.point[2]; } end; } I added the whisper script I found on the same thread so I can manually activate the event. The whisper command works, but when my players click it, they choose join and it says "Complete." after that nothing happens. Please help me on this one, I really wanted this script on my server. Thanks in advance!
  12. Try mine: 2199,Ahura_Mazda,Ahura Mazdah,5,1,,10,,100,,0,0xFFFFFFFF,7,2,32,,1,1,0,{ if(getgroupid() >= 60) { bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; skill "CR_FULLPROTECTION",5; Skill "WZ_ESTIMATION",1; Skill "ST_FULLSTRIP",5; Skill "HW_MAGICPOWER", 10; bonus bMaxHPRate,200; bonus bNoGemStone,0; bonus bSpeedRate,25; } },{if(getgroupid() >= 60) { sc_start4 SC_ENDURE,60000,10,0,0,1; } else { message strcharinfo(0), "DIE!!!!"; atcommand "@delitem 1599 99"; atcommand "@delitem 2199 99"; atcommand "@kamic ff0000 "+strcharinfo(0)+": I wore an Ahura Mazdah, it's bad so that's why I am now jailed."; atcommand "@jail "+strcharinfo(0)+""; atcommand "@fakename "+strcharinfo(0)+" the Ahura Boy"; } },{ sc_end SC_ENDURE; } 1599,Angra_Manyu,Angra Manyu,4,1,,10,0,,2,0,0xFFFFFFFF,7,2,2,1,1,1,8,{if(getgroupid() >= 60) { bonus bAllStats,50; bonus bBaseAtk,3800; bonus bMatkRate,200; bonus2 bHPDrainRate,1000,100; bonus2 bSPDrainRate,1000,20; bonus bHealPower,200; bonus2 bAddRace,RC_NonBoss,100; bonus2 bAddRace,RC_Boss,100; skill "WZ_STORMGUST",10; Skill "WZ_METEOR",10; Skill "WZ_VERMILION",10; skill "GM_SANDMAN",1; } else { bonus bAllStats,-500; }},{if(getgroupid() <= 50) { message strcharinfo(0), "DIE!!!!"; atcommand "@delitem 1599 99"; atcommand "@delitem 2199 99"; atcommand "@kamic ff0000 "+strcharinfo(0)+": I wore an Angra Manyu, it's bad so that's why I am now jailed."; atcommand "@jail "+strcharinfo(0)+""; atcommand "@fakename "+strcharinfo(0)+" the Angra Boy"; }},{} Item effects will only take effect for GMs above level 60. When worn by lower levels, it will auto announce, auto jail, auto fakename, auto deletes both ahura and angra. In short, total pwnage.
  13. Thank you so much guys! I'll try which one of these will work well on my server. I really appreciate your help
  14. ^Ah thanks! Well I really intended to use countitem because let's say they are not wearing any donate items, but they do have some on their inventory. When they warp to the map, they will not get warped out because they are not wearing any donates, they can just wear it on the map and not get detected. So I want the script to check also their inventory EDIT: By the way, can I do that too with countitem? Because I am currently having a real hard time using arrays. I tried to make another script for another map but now both scripts wont work.. will this work? countitem(909,910,911) >= 1
  15. ah I see, maybe that's why it's not working, thanks! EDIT: OnInit works! Thanks a lot!
  16. Hi rathena! I have successfully made a not-so little script that warps someone out of a map if he's wearing a donate item, here's the code: - script nodonatemap -1,{ OnPCLoadMapEvent: getmapxy @map$,@x,@y,0; if (@map$ == "pvp_n_4-3") { if(52) >= 1 || countitem(21267) >= 1 || countitem(21268) >= 1 || countitem(21269) >= 1 || countitem(21270) >= 1 || countitem(21271) >= 1 || countitem(21272) >= 1 || countitem(21273) >= 1 || countitem(21274) >= 1 || countitem(21275) >= 1 || countitem(21276) >= 1 || countitem(21277) >= 1 || countitem(21278) >= 1 || countitem(1316) >= 1 || countitem(1588) >= 1 || countitem(1932) >= 1 || countitem(1987) >= 1 || countitem(1833) >= 1 || countitem(1700) >= 1 || countitem(13435) >= 1 || countitem(1500) >= 1 || countitem(1600) >= 1 || countitem(13080) >= 1 || countitem(13079) >= 1 ) { warp "SavePoint",0,0; end; } } end; } But it's just too damn long so I tried doing arrays, code here: - script nodonatemap -1,{ setarray @donateitems[0],21849,21850,21851,21852,21267,21268,21269,21270,21271,21272,21273,21274,21275,21276,21277,21278,1316,1588,1932,1987,1833,1700,13435,1500,1600,13080,13079; OnPCLoadMapEvent: getmapxy @map$,@x,@y,0; if (@map$ == "pvp_n_4-3") { if (countitem(@donateitems) >= 1) { warp "SavePoint",0,0; end; } } end; } my first script worked, but the second one doesn't. Can you please tell me what's wrong in it? And how do I fix it? BTW I got this error on my mapserver when I tried the second one: [Error]: buildin_countitem: Invalid item '0'. Thanks in advance for those who are going to help with my noobish questions *Sorry I am not really educated with this coding and stuffs, so bare with me please
  17. I get this error on my mapserver: [Error]: script:getarg: no callfunc or callsub! and I only get the [CTF]!! announce :/
  18. I'm marking this thread as solved. Thank you everyone! I tried the script first because it's the easiest way to go, but I'll take note of Emistry's and Euphy's posts! Thank you guys! You're the bests!
  19. hmm I think I will try the script first, thank you! Will test it out as soon as possible
  20. ah so let's say I want them to drop jellopy(909) instead of skull... if(battle_config.bone_drop==2 || (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp)) { struct item item_tmp; memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=909; item_tmp.identify=1; item_tmp.card[0]=0; item_tmp.card[1]=0; item_tmp.card[2]=0; item_tmp.card[3]=0; map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } did I do it right?
  21. Hi Good day rAthena! It's nice to ba back I hope you guys can help me again on this one, I plan to add some quest items on my server but I want this one quest requirement be dropped on pvp room when a player is killed. Just like those skulls dropping when a player died. Is it possible? I am not really sure if I posted on the right section, to mods, please feel free to move wherever this topic should be Thanks in advance!
  22. Ah I see! That makes sense. Thanks again!
  23. ^Thank you so much! That is what I exactly needed! Another question, I was planning to do more than one map. But once I put too much map it tends to mess up, rendering the item useless haha. Help again please? I did this: if( strcharinfo(3) == "prtg_cas01" || strcharinfo(3) == "prtg_cas02" || strcharinfo(3) == "prtg_cas03" || strcharinfo(3) == "prtg_cas04" || strcharinfo(3) == "prtg_cas05" || strcharinfo(3) == "gefg_cas01" || strcharinfo(3) == "gefg_cas02" || strcharinfo(3) == "gefg_cas03" || strcharinfo(3) == "gefg_cas04" || strcharinfo(3) == "gefg_cas05" || strcharinfo(3) == "aldeg_cas01" || strcharinfo(3) == "aldeg_cas02" || strcharinfo(3) == "aldeg_cas03" || strcharinfo(3) == "aldeg_cas04" || strcharinfo(3) == "aldeg_cas05" || strcharinfo(3) == "arug_cas01" || strcharinfo(3) == "arug_cas02" || strcharinfo(3) == "arug_cas03" || strcharinfo(3) == "arug_cas04" || strcharinfo(3) == "arug_cas05" || strcharinfo(3) == "schg_cas01" || strcharinfo(3) == "schg_cas02" || strcharinfo(3) == "schg_cas03" || strcharinfo(3) == "schg_cas04" || strcharinfo(3) == "schg_cas05" ) { message strcharinfo(0),"Access Denied!"; getitem 14232,1; } else { getitem 607,10; }
×
×
  • Create New...