narien123
-
Posts
39 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by narien123
-
-
dont know if it works, u can just give it a try
- script LevelAnnouncer -1,{ if(BaseLevel == 60) { announce ""+strcharinfo(0)+" have reach level 60!"; end; } if(BaseLevel == 70) { announce "Congratulation "+strcharinfo(0)+"have reach level 70!"; end; } if(BaseLevel == 80) { announce "Congratulation "+strcharinfo(0)+"have reach level 80!"; end; } if(BaseLevel == 90) { announce "Congratulation "+strcharinfo(0)+"have reach level 90!"; end; } if(BaseLevel == 99{ announce "Congratulation "+strcharinfo(0)+"have reach level 99!"; end; } }
- script LevelAnnouncer -1,{ if(BaseLevel == 60) { getitem 909,1; announce ""+strcharinfo(0)+" have reach level 60!"; end; } if(BaseLevel == 70) { getitem 909,1; announce "Congratulation "+strcharinfo(0)+"have reach level 70!"; end; } if(BaseLevel == 80) { getitem 909,1; announce "Congratulation "+strcharinfo(0)+"have reach level 80!"; end; } if(BaseLevel == 90) { getitem 909,1; announce "Congratulation "+strcharinfo(0)+"have reach level 90!"; end; } if(BaseLevel == 99{ getitem 909,1; announce "Congratulation "+strcharinfo(0)+"have reach level 99!"; end; } }
if like this will work ?
-
when player reach level 60 , 70 ,80 , 90 , 99 auto get item ..
and announce the name <name > reach level 60 ... -
.@ResetStat = 5000; // Zeny for stat reset .@ResetSkill = 5000; // Zeny for skill reset .@ResetBoth = 9000; // Zeny for resetting both together
Zeny into item ..
-
same as any other equipment. Add the individual values together.
For e.g. Upper + Mid => 1024 + 2048 = 3072
o , thx
How about Costume weapon ?
-
(2^10) 1024 = Costume Upper headgear
(2^11) 2048 = Costume Middle headgear
(2^12) 4096 = Costume Lower headgear
how about Upper Mid
Lower Mid
Upper Lower
U,L,M -
item_noequip.txt 2607,6 // ClipID
conf/mapflag/restricted.txt "map_name"<TAB>mapflap<TAB>restricted 6
i already do the same thing . before yesterday , but still wont work , its only dont have effect , i want after u enter pvp/gvg map , the eq will auto uneq
-
When Player Enter Pvp / WOE Map . auto uneq item clip[1]
-
//= Zaha Doll hat Quest====================== //= By: Rain============================= //= Version 1.0========================== //======================================= xmas_dun02,36,225,4 script Lady Trisha 906,{ mes "^FF0000[Trisha]^000000"; mes "Hi, don't you love toys!"; mes "Hahahaha, I love this place."; mes "So many elves to make all the toys I want."; next; mes "Oooo, you make me to make you a doll ^^."; mes "Okay, I'll craft you a ^FF0000Zaha Doll Hat^000000 "; next; menu "Requirements",L_Bl, "Make Item",-,"Cancel",L_Cancel; mes "^FF0000[Trisha]^000000"; mes "Good good, let me just check"; next; if(countitem(4052)<1|| countitem(2607)<1 || countitem(7277)<50) || countitem(592)<1) || Zeny < 1000000 goto L_NoMake; delitem 4052,1; delitem 2607,1; delitem 7277,50; delitem 592,3; set Zeny, Zeny-1000000; mes "^FF0000[Trisha]^000000"; mes "Give me a second....."; next; getitem 5464,1; mes "^FF0000[Trisha]^000000"; mes "Have fun with Zaha ^.^"; close; L_NoMake: mes "^FF0000[Trisha]^000000"; mes "You don't have the requirements."; mes "Please come back another time..."; close; L_Bl: mes "^FF0000[Trisha]^000000"; mes "Ok all you have to do is collect:"; mes "^362ED6 50 Munak Doll^000000"; mes "^362ED6 3 Jam Pancake (moscovia quest)^000000"; mes "^362ED6 1 Elder Willow Card^000000"; mes "^362ED6 1 Clip[1]^000000"; mes "and of course 1,000,000 zeny"; next; menu "Accept",-, "Leave",L_Leave; mes "^FF0000[Trisha]^000000"; mes "Did you not hear me the first time?"; close; L_Leave: mes "^FF0000[Trisha]^000000"; mes "Maybe another time?"; close; L_Cancel: mes "^FF0000[Trisha]^000000"; mes "Aw, what a shame"; mes "Come back anytime ^.^"; close; }
-
Either one of those is correct.
The item 25022 doesn't have its closing tag. Right above [25023], you're missing "},".
thx .. it's about the item 25022
-
-
It works for me and I haven't experienced any bug yet.
if you can't even click it you must have errors I don't have, probably because you are on 3ceam.
Please show me these errors.
-
Try this:
morocc,155,99,4 script party_dungeon_warper 96,{ .@nom$ = "["+strnpcinfo(0)+"]"; mes .@nom$; mes "Hello there, I'm in charge of managing the entrance to "+.dungeon_name$+"."; next; mes .@nom$; mes "I can only give access to a party of ^0000ff"+.min_party_size+" players or more^000000."; mes "Only the ^0000ffparty leader^000000 can ask for the entrance access."; mes ""; mes "^ff0000It costs "+.amount+" "+getitemname(.item)+" to reserve an access.^000000"; next; mes .@nom$; if (.Dungeon) { //someone is in the dungeon mes "A group of "+.PlayerCount+" players has currently access to the dungeon"; mes .AlivePlayerCount+" of them are still alive"; mes "^0000ff"+.WaitingCount+"^000000 group(s) are waiting for the entrance access."; } else mes "No one is currently in the dungeon."; mes ""; mes "What do you want to do?"; getpartymember getcharid(1),1 ; getpartymember getcharid(1),2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) .@count_online++; .@DungeonReserved = 0; for (.@i = 0 ; .@i < getarraysize(.PartyIDs) ; .@i++) if (getcharid(1) == .PartyIDs[.@i]) .@DungeonReserved = 1; switch(select("Enter the dungeon:Reserve access:Leave")) { next ; mes .@nom$; case 1: if (!.@DungeonReserved) { //the dugeon isn't reserved yet mes "You didn't reserve access yet."; mes "Please reserve access before entering the dungeon."; close; } else if (.PartyIDs[0] != getcharid(1)) { //dungeon reserved but in the waiting room mes "You are in the waiting list sir, you cannot enter the dungeon yet."; mes "Your position in the waiting list : ^0000ff"+callsub(S_Position,getcharid(1))+"^000000."; mes "You will be informed when you can enter the dungeon."; close; } else if (@dungeon == 0) { //player already died in the dungeon mes "You already died in the dungeon and so cannot enter it again."; close; } else if (@warped == 1) { //player warped out of the dungeon mes "You warped out of the dungeon and so cannot enter it again."; close; } @warped = 1; .PlayerCount = .@count_online; .EnteredPlayers++ ; .AlivePlayerCount++; warp .warpzone$,.warpx,.warpy; end; case 2: if (.@DungeonReserved) { //has already reserved access mes "You already reserved access to the dungeon."; mes "Your position in the waiting list : ^0000ff"+callsub (S_Position,getcharid(1))+"^000000."; if (callsub (S_Position,getcharid(1))) mes "You will be informed when you can enter the dungeon."; close; } else if (.@count_online < .min_party_size) { //not enough players online or not in a party mes "You need a party of "+.min_party_size+" players online to reserve the dungeon."; close; } else if (getpartyleader(getcharid(1),1) != getcharid(3)) { //not party leader mes "Only the party leader can reserve access to the dungeon."; close; } else if (getarraysize(.PartyIDs)) { //people already waiting setarray .PartyIDs[getarraysize(.PartyIDs)] , getcharid(1); mes "You successfully reserved the entrance."; mes "Your position in the waiting list : ^0000ff"+callsub (S_Position,getcharid(1))+"^000000."; mes "You will be informed when you can enter the dungeon."; close; } if (countitem(.item) < .amount) { mes "You don't have "+.amount+" "+getitemname(.item)+"."; mes "^ff0000It costs "+.amount+" "+getitemname(.item)+" to reserve an access.^000000"; close; } delitem .item,.amount; .Dungeon = 1; setarray .PartyIDs[0] , getcharid(1); mes "^ff0000You can now enter the dungeon.^000000"; mes "If none of the party members enter the dungeon before "+.delay+" minutes, the dungeon will be automatically closed."; initnpctimer ; .TimeDelay = 0; addrid(2,0,.PartyIDs[0]) ; @dungeon = 1 ; @warped = 0; end; case 3: end; } OnTimer300000: .TimeDelay = 1; if (.AlivePlayerCount == 0) callsub S_NextParty; end; S_Position: for (.@i = 0 ; .@i < getarraysize(.PartyIDs) ; .@i++) if (.PartyIDs[.@i] == getarg(0)) .@j = .@i; return .@j; S_CheckCount: debugmes "checkcount"; if (.AlivePlayerCount == 0 /*|| (.Delay && .AlivePlayerCount == .EnteredPlayers)*/) callsub S_NextParty; return; S_NextParty: addrid(2,0,.PartyIDs[0]); announce "Everyone is dead, you lost access to the dungeon."; deletearray .PartyIDs[0],1; if (.PartyIDs[0]) { detachrid ; addrid(2,0,.PartyIDs[0]); announce "Your party can now enter the dungeon.",bc_self; announce "Please enter it before a "+.delay+" minutes delay, else you will loose access.",bc_self; initnpctimer; .TimeDelay = 0; } end; OnPCDieEvent: getmapxy(.@map$,.@x,.@y,0); if (.@map$ == .warpzone$) @dungeon = 0 ; .AlivePlayerCount -= 1 ; warp .exitzone$,.exitx,.exity ; callsub S_CheckCount; end; OnPCLogoutEvent: //if player logs out in the dungeon, he's counted as dead getmapxy(.@map$,.@x,.@y,0); if (.@map$ == .warpzone$) @dungeon = 0 ; .AlivePlayerCount -= 1 ; callsub S_CheckCount; end; OnPCLoginEvent: //if player logs in in the dungeon, he's warped out of it getmapxy(.@map$,.@x,.@y,0); if (.@map$ == .warpzone$) warp .exitzone$,.exitx,.exity; end; OnInit: //===============================set this up========================================== .dungeon_name$ = "the Fire dungeon"; .item = 671; //item required (gold coin) .amount = 1; //amount required .min_party_size = 1; //minimum amount of players needed to enter the dungeon .delay = 5; //delay after wich dungeon is closed if all the players in it are dead .warpzone$ = "mus_arena01" ; .warpx = 62 ; .warpy = 48; //entrance warp coordinates .exitzone$ = "mus_arena03" ; .exitx = 116 ; .exity = 193; //exit coordinates //=============================end of user setup====================================== mapwarp .warpzone$,.exitzone$,.exitx,.exity; .Dungeon = .PlayerCount = .AlivePlayerCount = .WaitingCount = 0; setarray .PartyIDs[0],0; }
It's not the final product cause I couldn't test it to its limits so it may have bugs xd
tell me if it works for you and if you want to add/change anything.
don't forget to edit the user setup, the NPC location and the NPC sprite ID.
Cant Click it .. i think it's not complete
-
OnNPCKillEvent:
if(getgmlevel() > 0) end;
set @kill,@kill+1;
if(@kill >= rand(200,201)) goto Check;
end;
OnPCLoginEvent:
Check:
if(getgmlevel() > 0) end;
getmapxy .@map$, .@x, .@y, 0;
if (.@map$=="jawaii") end;
if(checkcart() == 1) set @cart,1;
if(checkfalcon() == 1) set @falcon,1;
if(checkriding() == 1) set @riding,1;
atcommand "@option 2 0 0";
atcommand "@battleignore";
setoption 0x2,1;
sc_start sc_berserk, 1000000000, 1;
mes "[Anti Bot]";
mes "Bot checking time";
mes "Please input the number you see";
next;
switch( rand(1,9) ) {
case 1:
mes "#################^83F52C##^000000################";
mes "###############^83F52C####^000000################";
mes "#################^83F52C##^000000################";
mes "#################^83F52C##^000000################";
mes "#################^83F52C##^000000################";
mes "#################^83F52C##^000000################";
mes "###############^83F52C######^000000##############";
input @num;
if(@num == 1) break;
atcommand "@kick "+strcharinfo(0);
end;
case 2:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "###################^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####################";
mes "############^83F52C##^000000#####################";
mes "############^83F52C#########^000000##############";
input @num;
if(@num == 2) break;
atcommand "@kick "+strcharinfo(0);
end;
case 3:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "###################^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
mes "###################^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
input @num;
if(@num == 3) break;
atcommand "@kick "+strcharinfo(0);
end;
case 4:
mes "############^83F52C##^000000#####################";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "############^83F52C#########^000000##############";
mes "##################^83F52C##^000000###############";
mes "##################^83F52C##^000000###############";
input @num;
if(@num == 4) break;
atcommand "@kick "+strcharinfo(0);
end;
case 5:
mes "############^83F52C########^000000###############";
mes "############^83F52C##^000000#####################";
mes "############^83F52C##^000000#####################";
mes "############^83F52C#######^000000################";
mes "##################^83F52C##^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "#############^83F52C######^000000################";
input @num;
if(@num == 5) break;
atcommand "@kick "+strcharinfo(0);
end;
case 6:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####################";
mes "############^83F52C########^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C######^000000################";
input @num;
if(@num == 6) break;
atcommand "@kick "+strcharinfo(0);
end;
case 7:
mes "############^83F52C########^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "################^83F52C##^000000#################";
mes "###############^83F52C##^000000##################";
mes "###############^83F52C##^000000##################";
mes "###############^83F52C##^000000##################";
mes "###############^83F52C##^000000##################";
input @num;
if(@num == 7) break;
atcommand "@kick "+strcharinfo(0);
end;
case 8:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
input @num;
if(@num == 8) break;
atcommand "@kick "+strcharinfo(0);
end;
case 9:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C########^000000##############";
mes "###################^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
input @num;
if(@num == 9) break;
atcommand "@kick "+strcharinfo(0);
end;
}
next;
mes "[Anti Bot]";
mes "Thank you for your patience, you can now move on.";
atcommand "@option 0 0 0";
atcommand "@battleignore";
setoption 0x2,0;
sc_end sc_berserk;
percentheal 100,100;
set @kill,0;
if(@cart == 1) {
setcart;
set @cart,0;
}
if(@falcon == 1) {
setfalcon;
set @falcon,0;
}
if(@riding == 1) {
setriding;
set @riding,0;
}
close;
}
Change
end;
to Every 15 minute
Hi man, all botteres can bypass any script-based anti-bots systems.
Your system is possible easy to bypass (if you want, i can show you).
You just make a sad life for your players, not for your botters.
Try better some professional protection. For example Hashield
My problem is they using auto click on Fishing ..
-
callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i;
Then you have to find qshop1, qshop2 and qshop3 to delete all the items from them
Else you can replace this:
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // -------------------------------------------------- for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) npcshopdelitem "qshop"+.@i,909; end; }
to this:
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! // -------------------------------------------------- for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { npcshopitem "qshop"+.@i,512,10; npcshopdelitem "qshop"+.@i,512; } Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); end; }
Doing so will erase the 3 qshops before adding items to them.
i found out , i have another npc ( full headgear quest npc ) i think this npc eq mix with the new one i just create/
-
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1);
You just have to edit these.
the problem is the headgear that not on the list also showing
-
//===== eAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4a - eAthena //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //============================================================ prontera,150,183,6 script Quest Shop 998,{ function Add; function Chk; function Slot; function A_An; if(.Shops$ != "") set .@i,1; else { set .@menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) set .@menu$, .@menu$+.Shops$[.@i]+":"; set .@i, select(.@menu$); } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end; function Add { if (getitemname(getarg(1))=="null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } for(set .@n,5; .@n<127; set .@n,.@n+2) { if (!getarg(.@n,0)) break; if (getitemname(getarg(.@n))=="null") { debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped)."; return; } } for(set .@i,2; .@i<.@n; set .@i,.@i+1) set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); sleep 1; return; } function Chk { if (getarg(0)<getarg(1)) { set @qe0,1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot){ case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } OnBuyItem: set .@q[0],@bought_nameid; copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]")); if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000"; if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000"; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000"; next; set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11); addtimer 1000, strnpcinfo(1)+"::OnEnd"; while(1){ switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe0) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[1])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[2]) set Zeny, Zeny-.@q[2]; if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3]; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]; getitem .@q[0],.@q[1]; if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0; specialeffect2 699; close; case 2: set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5); if (@qe1&1) atcommand "@changelook 3 "+@qe2; if (@qe1&256) atcommand "@changelook 1 "+@qe2; if (@qe1&512) atcommand "@changelook 2 "+@qe2; set @qe6,1; break; case 3: close; } } OnEnd: if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; } for(set .@i,0; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0; end; OnInit: // --------------------- Config --------------------- // Custom points, if needed: "<variable>","<name to display>" setarray .Points$[0],"#CASHPOINTS","Cash Points"; set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .DisplayID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) // Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...}; // Duplicate dummy data for any additional shops (bottom of script). // If no categories, use the second line instead (remove //). setarray .Shops$[1],"Headgears","Weapons","Other"; // set .Shops$,"n/a"; // Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // -------------------------------------------------- for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) npcshopdelitem "qshop"+.@i,909; end; }
i want to remove all the Headgear .. but where to ?
-
From the top of my head it should roughly be something like this..
Insert in on_equip script:
if(getequipid(EQI_ACC_L == 2629) || getequipid(EQI_ACC_R == 2629)) {calfunc "Example";}
Put this in your custom NPC scripts.
function script Example { unequip(EQI_ACC_L) && unequip(EQI_ACC_R); message strcharinfo(0),"Cant Wear More than 2 Megingjard."; }
Take a look at doc/script_commands.txt for further documentation. Let me know if it works.
Im using 3Ceam , Dont have on_equip
-
OnNPCKillEvent:
if(getgmlevel() > 0) end;
set @kill,@kill+1;
if(@kill >= rand(200,201)) goto Check;
end;
OnPCLoginEvent:
Check:
if(getgmlevel() > 0) end;
getmapxy .@map$, .@x, .@y, 0;
if (.@map$=="jawaii") end;
if(checkcart() == 1) set @cart,1;
if(checkfalcon() == 1) set @falcon,1;
if(checkriding() == 1) set @riding,1;
atcommand "@option 2 0 0";
atcommand "@battleignore";
setoption 0x2,1;
sc_start sc_berserk, 1000000000, 1;
mes "[Anti Bot]";
mes "Bot checking time";
mes "Please input the number you see";
next;
switch( rand(1,9) ) {
case 1:
mes "#################^83F52C##^000000################";
mes "###############^83F52C####^000000################";
mes "#################^83F52C##^000000################";
mes "#################^83F52C##^000000################";
mes "#################^83F52C##^000000################";
mes "#################^83F52C##^000000################";
mes "###############^83F52C######^000000##############";
input @num;
if(@num == 1) break;
atcommand "@kick "+strcharinfo(0);
end;
case 2:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "###################^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####################";
mes "############^83F52C##^000000#####################";
mes "############^83F52C#########^000000##############";
input @num;
if(@num == 2) break;
atcommand "@kick "+strcharinfo(0);
end;
case 3:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "###################^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
mes "###################^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
input @num;
if(@num == 3) break;
atcommand "@kick "+strcharinfo(0);
end;
case 4:
mes "############^83F52C##^000000#####################";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "############^83F52C#########^000000##############";
mes "##################^83F52C##^000000###############";
mes "##################^83F52C##^000000###############";
input @num;
if(@num == 4) break;
atcommand "@kick "+strcharinfo(0);
end;
case 5:
mes "############^83F52C########^000000###############";
mes "############^83F52C##^000000#####################";
mes "############^83F52C##^000000#####################";
mes "############^83F52C#######^000000################";
mes "##################^83F52C##^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "#############^83F52C######^000000################";
input @num;
if(@num == 5) break;
atcommand "@kick "+strcharinfo(0);
end;
case 6:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####################";
mes "############^83F52C########^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C######^000000################";
input @num;
if(@num == 6) break;
atcommand "@kick "+strcharinfo(0);
end;
case 7:
mes "############^83F52C########^000000###############";
mes "############^83F52C##^000000####^83F52C##^000000###############";
mes "################^83F52C##^000000#################";
mes "###############^83F52C##^000000##################";
mes "###############^83F52C##^000000##################";
mes "###############^83F52C##^000000##################";
mes "###############^83F52C##^000000##################";
input @num;
if(@num == 7) break;
atcommand "@kick "+strcharinfo(0);
end;
case 8:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
input @num;
if(@num == 8) break;
atcommand "@kick "+strcharinfo(0);
end;
case 9:
mes "#############^83F52C#######^000000###############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C########^000000##############";
mes "###################^83F52C##^000000##############";
mes "############^83F52C##^000000#####^83F52C##^000000##############";
mes "#############^83F52C#######^000000###############";
input @num;
if(@num == 9) break;
atcommand "@kick "+strcharinfo(0);
end;
}
next;
mes "[Anti Bot]";
mes "Thank you for your patience, you can now move on.";
atcommand "@option 0 0 0";
atcommand "@battleignore";
setoption 0x2,0;
sc_end sc_berserk;
percentheal 100,100;
set @kill,0;
if(@cart == 1) {
setcart;
set @cart,0;
}
if(@falcon == 1) {
setfalcon;
set @falcon,0;
}
if(@riding == 1) {
setriding;
set @riding,0;
}
close;
}
Change
end;
to Every 15 minute
-
After done everything . i cant runserver
i already use C+++ on rAthena-10 -
how to set player cant use 2 same Accessory 2629 in 1 char
-
I started to work on the script this evening, here is what I planned to do, please tell me if that's what you're looking for:
the NPC will allow a party leader of a 3 or more online players group to go into the dungeon untill every member is dead. Costs 1 gold coin.
Only one group can be allowed to be in the dungeon at the same time.
If a group is already in the dungeon, you will be placed in a queue and informed when t's your turn to go into the dungeon.
-Once a group is given access, if no member goes into the dungeon after a certain delay, the access will be given to the next group.
-If someone dies in the dungeon, he and every of his characters cannot access it again.
-If someone logs out in the dungeon, he's counted as dead and so cannot enter it again. On relog he'll be warped to somewhere else.
-After a certain delay, if only 2 of 3 members entered the dungeon but died in, the dungeon closes for the current group.
Is it good for you or do you want to modify/add anything?
I don't think I'll have time to script this week so you may have to wait for the week-end to get it, sorry
it's ok take your time .. that's all i need ^^
-
I'm on ra so I don't know if that'll work with you but we can at least try.
Is the exit a NPC or a warp?
Exit prontera 155 177
-
I need a few details because I'm an idiot
I think making an instance is not necessary because want you want to do seems pretty basic,but it depends on how you want to do it.
When you make a reservation and get access to the dungeon, would you have access to it for a duration or till everybody dies? If you die in the dungeon can you still access it?
Is the gold coin required for each party member or just for the party leader?
Do you really want it to be a quest (maybe with a reward) or just an access giving.
With this, I think I'll be able to make what you want.
Only Party Leader pay for the entry , Till Everyone die , cant access after u die , no need reward , it's only for access
thx you for willing to help me with it .. i try alot of it but seem bug / erro , coz im using 3ceam 140 stable .
I need a few details because I'm an idiot
I think making an instance is not necessary because want you want to do seems pretty basic,but it depends on how you want to do it.
When you make a reservation and get access to the dungeon, would you have access to it for a duration or till everybody dies? If you die in the dungeon can you still access it?
Is the gold coin required for each party member or just for the party leader?
Do you really want it to be a quest (maybe with a reward) or just an access giving.
With this, I think I'll be able to make what you want.
warp to this mus_arena01 62 48
the exit will be mus_arena03 116 193
thx you
-
Min Members 3, request item gold coin , must be party leader to accept this quest .. map warp flame_dun , waiting room ( Fire Dungeon )
instance.
request this script
in Script Requests
Posted
the script dont have error , but it's dont work ..