Jump to content

Gidz Cross

Members
  • Posts

    643
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Gidz Cross

  1. Thanks @Mabuhay! It works! So thats one way to put pub in npc. I have done this method in woe_controller. It doesnt seem to have problem. //===== rAthena Script ======================================= //= Euphy's WOE Controller //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.5 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A controller for War of Emperium designed for //= simplicity and ease of use. //= Many concepts taken from ToastOfDoom's script, //= and "rewards" function originally by Goddameit. //===== Additional Comments: ================================= //= Be sure to disable the default agit controllers! //== npc\guild\agit_controller.txt //== npc\guild2\agit_start_se.txt //============================================================ // Information NPC //============================================================ prontera,146,173,5 script WOE Information 1907,{ doevent "WOE_CONTROL::OnMenu"; end; OnAgitStart: while(agitcheck()) { specialeffect EF_BEGINSPELL6; sleep 425; } end; OnInit: waitingroom "WOE Information",0; end; } // Script Core //============================================================ - script WOE_CONTROL -1,{ function Disp_Owner; function Add_Zero; OnInit: // ----------------------------------------------------------- // Configuration settings. // ----------------------------------------------------------- set .CastleWarp,0; // 1: Always enable all castle warps. | 0: Warp only to active castles. set .AutoKick,1; // Automatically kick players from inactive castles during WOE? (1:yes / 0:no) set .NoOwner,0; // Automatically kick players from unconquered castles outside of WOE? (1:yes / 0:no) set .ExitWarp,0; // Warp all players from castles when WOE ends? (1:yes / 0:no) set .GMAccess,99; // GM level required to access Session Manager. // ----------------------------------------------------------- // Reward options. // ----------------------------------------------------------- // [1] Enable rewards. // [2] Mail all rewards. // - If not set, players receive items in their inventory. // - Only ONE item can be sent via mail for PACKETVER < 20150513 while later clients are limited to MAIL_MAX_ITEM (5). // - Note that offline players do NOT receive rewards. // [4] Only reward Guild Masters. // - If not set, all guild members are rewarded. // - If mailing is enabled (option 2), offline Guild Masters WILL receive rewards. // [8] Duplicate IP check. // - Members in a guild with the same IP address are not rewarded. // - If Guild Masters is enabled (option 4), this feature is not used. // ----------------------------------------------------------- // Combine values as needed (e.g. 1|8 = 1+8 = 9). set .Options, 0; // Rewards per castle. // setarray .reward_id[0], <itemID>{,<itemID>,...} // setarray .reward_amount[0], <amount>{,<amount>,...} setarray .reward_id[0],0; setarray .reward_amount[0],0; // Zeny reward: .reward_zeny = 0; // ----------------------------------------------------------- // Constants (leave this section alone). // ----------------------------------------------------------- setarray .Castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; setarray .EndLabel$[0],"ar01","ar02","ar03","ar04","ar05","sc01","sc02","sc03","sc04","sc05"; setarray .Days$[0],"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"; setarray .Regions$[0],"Prontera","Payon","Geffen","Aldebaran","Arunafeltz","Schwaltzvalt"; setarray .Map$[0],"prt_gld","pay_gld","gef_fild13","alde_gld","aru_gld","sch_gld"; setarray .MapX[0],134,240,153,111,208,121,295,317,140,204,214,308,143,193,305,48, 95,142,239,264,158,83, 68,299,292,293,288, 97,137, 71; setarray .MapY[0], 65,128,137,240,240,233,116,293,160,266, 75,240,240,278, 87,83,249, 85,242, 90,272,47,155,345,107,100,252,196, 90,315; // ----------------------------------------------------------- .reward_id_size = getarraysize(.reward_id); set .Size, getarraysize($WOE_CONTROL); if (.AutoKick || .NoOwner) for(set .@i,0; .@i<30; set .@i,.@i+1) { setmapflag .Castles$[.@i], mf_loadevent; setd "."+.Castles$[.@i], .@i; } if (!agitcheck() && !agitcheck2()) sleep 4000; set .Init,1; OnMinute00: freeloop(1); if (agitcheck() || agitcheck2()) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(DT_DAYOFWEEK) == $WOE_CONTROL[.@i] && gettime(DT_HOUR) == $WOE_CONTROL[.@i+2]) { OnWOEEnd: announce "The War Of Emperium is over!",bc_all|bc_woe; AgitEnd; AgitEnd2; sleep 1000; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1); if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; } if ((.Options&1) && .Active[0] && .ForceEnd != 2) callsub OnReward, .Active[0]; deletearray .Active[0],2; if (.ForceEnd) { set .ForceEnd,0; end; } break; } } if ((!agitcheck() && !agitcheck2()) || .Init) { if (!agitcheck() && !agitcheck2()) set .Init,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(DT_DAYOFWEEK) == $WOE_CONTROL[.@i] && gettime(DT_HOUR) >= $WOE_CONTROL[.@i+1] && gettime(DT_HOUR) < $WOE_CONTROL[.@i+2]) { deletearray .Active[0],2; set .Active[0], $WOE_CONTROL[.@i+3]; if (.Init) { AgitEnd; AgitEnd2; } else announce "The War Of Emperium has begun!",bc_all|bc_woe; sleep 1000; AgitStart; AgitStart2; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) { if (!.Init) Disp_Owner(.Castles$[.@j],0); set .Active[1], .Active[1] | (1<<((.@j/5)+1)); } else { if (.@j<20) { donpcevent "Agit#"+.Castles$[.@j]+"::OnAgitEnd"; killmonster .Castles$[.@j], "Agit#"+.Castles$[.@j]+"::OnAgitBreak"; } else { donpcevent "Manager#"+.Castles$[.@j]+"::OnAgitEnd2"; killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; } } } break; } } set .Init,0; end; function Disp_Owner { set .@o, getcastledata(getarg(0),1); if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe; else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe; return; } function Add_Zero { return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00"; } OnReward: if (!.reward_id_size && !.reward_zeny) return; set .@sql$, ((.Options&4)?"position = 0":"online = 1"); if (.Options&2) set .@str$,gettimestr("%B %d, %Y",21); freeloop(1); for(set .@i,0; .@i<30; set .@i,.@i+1) { if (getarg(0)&(1<<.@i)) { set .@gid, getcastledata(.Castles$[.@i],1); if (!.@gid) continue; set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (.Options&2) { .@charid = .@cid[.@j]; .@sender$ = "no-reply"; .@title$ = "** Siege Reward: "+getcastlename(.Castles$[.@i])+" **"; .@body$ = "Brave one,\r\n \r\n Congratulations!\r\n Your guild has successfully occupied\r\n territory in the War of Emperium on\r\n "+.@str$+".\r\n \r\n \r\n \r\n \r\n [ Your reward is attached. ]"; if (.reward_id_size) mail .@charid, .@sender$, .@title$, .@body$, .reward_zeny, .reward_id, .reward_amount; else mail .@charid, .@sender$, .@title$, .@body$, .reward_zeny; if (PACKETVER < 20150513 && !getd(".@str_"+.@cid[.@j]) && isloggedin(.@aid[.@j],.@cid[.@j])) { setd ".@str_"+.@cid[.@j],1; message rid2name(.@aid[.@j]),"You've got mail!"; } } else if (isloggedin(.@aid[.@j])) { .@name$ = rid2name(.@aid[.@j]); .@castle_name$ = getcastlename(.Castles$[.@i]); for ( .@k = 0; .@k < .reward_id_size; .@k++ ) { if (checkweight(.reward_id[.@k], .reward_amount[.@k])) getitem .reward_id[.@k], .reward_amount[.@k], .@aid[.@j]; else message .@name$, "You can't receive x" + .reward_amount[.@k] + " " + getitemname(.reward_id[.@k]) + " for conquering " + .@castle_name$ + " because you're overweight."; } Zeny += .reward_zeny; message .@name$, "You have been rewarded for conquering " + .@castle_name$ + "."; } } } } return; OnPCLoadMapEvent: if (!compare(strcharinfo(3),"g_cas")) end; if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) { if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end; sleep2 1000; message strcharinfo(0), getcastlename(strcharinfo(3))+" is currently inactive."; sleep2 5000; if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0; } end; OnMenu: while(1) { mes "[WOE Information]"; if (agitcheck() || agitcheck2()) { if (.Active[0]) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(DT_DAYOFWEEK) == $WOE_CONTROL[.@i] && gettime(DT_HOUR) >= $WOE_CONTROL[.@i+1] && gettime(DT_HOUR) < $WOE_CONTROL[.@i+2]) { set .@i, $WOE_CONTROL[.@i+2]; break; } mes "The War of Emperium is ^0055FFactive^000000 until ^FF0000"+Add_Zero(.@i)+"^000000 in the following regions:"; mes " "; for(set .@i,0; .@i<6; set .@i,.@i+1) if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; } else mes "The War of Emperium is ^0055FFactive^000000."; } else { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((gettime(DT_DAYOFWEEK) == $WOE_CONTROL[.@i] && gettime(DT_HOUR) <= $WOE_CONTROL[.@i+1]) || gettime(DT_DAYOFWEEK) < $WOE_CONTROL[.@i]) { setarray .@time[0],$WOE_CONTROL[.@i],$WOE_CONTROL[.@i+1]; break; } if (!getarraysize(.@time)) setarray .@time[0],$WOE_CONTROL[0],$WOE_CONTROL[1]; mes "The War of Emperium is ^777777inactive^000000."; if (.Size) { mes " "; mes "The next session will begin"; mes "on ^0055FF"+.Days$[.@time[0]]+"^000000 at "+Add_Zero(.@time[1])+"^000000."; } } next; switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) { case 1: if (.CastleWarp) set .@clr$,"^0055FF"; set .@menu$,""; for(set .@i,0; .@i<6; set .@i,.@i+1) { if (.CastleWarp || .Active[1]&(1<<(.@i+1))) set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?.@clr$:"^777777")+.Regions$[.@i]+" Castles^000000"; set .@menu$, .@menu$+":"; } set .@i, select(.@menu$)-1; set .@menu$,""; for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) { if (.CastleWarp || .Active[0]&(1<<.@j)) set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?.@clr$:"^777777")+getcastlename(.Castles$[.@j])+"^000000"; set .@menu$, .@menu$+":"; } set .@j, select(.@menu$)-1; warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j]; close; case 2: mes "[Schedule]"; if (.Size) { freeloop(1); for(set .@i,0; .@i<.Size; set .@i,.@i+4) { mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000"; for(set .@j,0; .@j<30; set .@j,.@j+1) if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes " ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000"; if (.@i+4 < .Size) mes " "; } freeloop(0); } else mes "No times are configured."; next; break; case 3: mes "[Castle Ownership]"; for(set .@i,0; .@i<6; set .@i,.@i+1) { set .@k, .@i*5; mes "> ^FF0000"+.Regions$[.@i]+"^000000"; for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { set .@t, getcastledata(.Castles$[.@j],1); mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; } if (.@i < 5) mes " "; } next; break; case 4: while(1) { mes "[Session Manager]"; mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured."; mes "What would you like to do?"; next; switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) { case 1: mes "[New Session]"; if (.Size > 127) { mes "You have already reached the maximum of 32 sessions."; next; break; } mes "Select a day."; next; set .@Day, select(" ~ "+implode(.Days$,": ~ "))-1; mes "[New Session]"; mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,0; .@i<23; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@Start, select(.@menu$)-1; mes "[New Session]"; mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@End, select(.@menu$)+.@Start; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (.@Day == $WOE_CONTROL[.@i] && ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) || (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) || (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) { mes "[New Session]"; mes "The chosen times overlap with an existing session."; next; set .@d,1; break; } if (.@d) { set .@d,0; break; } set .@Castle,0; while(1) { mes "[New Session]"; mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000"; mes " > Castles:"; if (!.@Castle) mes " ~ ^777777(none selected)^000000"; else for(set .@i,0; .@i<30; set .@i,.@i+1) if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")"; next; set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":"; for(set .@i,0; .@i<30; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:"; set .@i, select(.@menu$)-1; if (.@i) set .@Castle, .@Castle^(1<<(.@i-1)); else { mes "[New Session]"; mes "Are you sure?"; next; switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) { case 1: for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((.@Day == $WOE_CONTROL[.@i] && .@End <= $WOE_CONTROL[.@i+1]) || .@Day < $WOE_CONTROL[.@i]) { set .@d,1; break; } if (!.@d) { set .@d,1; set .@i,.Size; } copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i; setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle; set .Size, getarraysize($WOE_CONTROL); case 3: mes "[New Session]"; mes ((.@d)?"Session added.":"cancelled."); next; set .@d,1; case 2: break; } if (.@d) { set .@d,0; break; } } } break; case 2: mes "[Remove Session]"; if (!.Size) { mes "There are no sessions configured."; next; break; } mes "Select a session to remove."; next; set .@menu$,""; for(set .@i,0; .@i<.Size; set .@i,.@i+4) set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; set .@i, select(.@menu$)-1; if (.@i == (.Size/4)) break; mes "[Remove Session]"; mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?"; mes "This action cannot be undone."; next; set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000"); mes "[Remove Session]"; if (.@j == 2) mes "cancelled."; else { deletearray $WOE_CONTROL[.@i*4],4; set .Size, getarraysize($WOE_CONTROL); mes "Session deleted."; } next; break; case 3: mes "[Reload Settings]"; mes "This will trigger all events related to new session configurations, if any."; if (agitcheck() || agitcheck2()) { mes " "; mes "Be aware that this will disrupt the current WOE session."; } next; set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000"); mes "[Reload Settings]"; if (.@i == 2) mes "cancelled."; else { set .Init,1; donpcevent "WOE_CONTROL::OnMinute00"; mes "Variables have been re-initialized."; } next; break; case 4: mes "[Force Agit End]"; if (!agitcheck() && !agitcheck2()) { mes "WOE has already ended."; next; break; } mes "This command will safely execute all AgitEnd events."; mes " "; mes "Kill the current WOE session?"; next; set .@i, select(" ~ ^FF0000End session...^000000:"+((.Options&1)?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000"); mes "[Force Agit End]"; if (.@i == 3) mes "cancelled."; else { set .ForceEnd, .@i; donpcevent "WOE_CONTROL::OnWOEEnd"; mes "WOE session terminated."; } next; break; case 5: set .@d,1; break; } if (.@d) { set .@d,0; break; } } break; case 5: close; } } } Is this okay? It works alright. Maybe it will cause problem in the future? What do you think.
  2. This is the script im using on my server right now. I want to put pub on it. But the problem is i dont know where to put the OnInit: waitingroom "Donation Shop",0; end; Can you help me? And also. When im using @reloadnpc the items in the Donation Shop will become jellopy. I should use @reload script to have it fully functional again. ---> Is this normal?
  3. Oh! I noticed as well. Well im going to use your script. It seems i cannot reproduce the error now. I wonder whats that error. It was last night. Thanks as always @BeWan
  4. 32004,Custom_Valkyrie_Manteau,Valkyrie Manteau,4,0,,500,,3,,1,0xFFFFFFFE,7,2,4,,1,1,0,{ bonus bUnbreakableGarment,0; bonus bAllStats,1; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Thief||BaseClass==Job_Gunslinger||BaseClass==Job_Taekwond) bonus bFlee2,5+ (getrefine()*3); if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Acolyte||BaseClass==Job_Ninja) bonus bShortWeaponDamageReturn,5+(getrefine()*3); },{},{} 32005,Custom_Valkyrie_Shoes,Valkyrie Shoes,4,0,,500,,4,,1,0xFFFFFFFE,7,2,64,,1,1,0,{ bonus bUnbreakableShoes,0; bonus bAllStats,1; bonus2 bResEff,Eff_Eff_Sleep,10000; bonus bSpeedRate,10; bonus bMaxHPrate,5; bonus bMaxSPrate,5; },{},{} Can you guys check my script to my custom valk manteau and shoes? It giving me error on my console.
  5. How did you solved it? I just notice i have the same problem. I already edited the db/pre-re/guild_skill_tree.yml. Where to go next? Which scr file i should meddle with? Thanks!
  6. I diff my client to use read data first using nemo so i can add/delete at ease. But the problem is this textures. Where is this located? I want to use the old skin for this. Not this square thingy. Can you help me? And i also edited those label before such as Use, eqp, etc and fav. But i already forgot. Where to edit those again? Thanks! *EDIT I solved the problem with use,eqp, etc and fav
  7. What really is your problem? Hair Palettes or Hair styles? Palettes = Color | Hairstyle = Sprite
  8. Hi. I love your script. Thanks! By the way. Can anybody add a function for ranger? It keeps giving me flute even though the script already gave me one.
  9. You have to download the palletes. I recommend the 553-ClothesDyes-251HairDyes. Can be found in the download section. Put everything in single grf. Have it load first by editing your data.ini
  10. Hello again folks! Its me again posting the same problem. I have solved this riddle of mine way way back. Now i have the same problem. The thing is i forgot what i did back then. So can you help me guys? Thanks! *Edit It was solved figure it out by my self. Heres the solution // NC Mechanic 2256,0,0,3:6:9:12:15,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_BOOSTKNUCKLE 2257,0,0,50,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1549:16030:16031:16032 //NC_PILEBUNKER 2258,0,0,2:4:6,0,0,0,99,0,0,mado,0,0,6145,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_VULCANARM 2259,0,0,20,0,0,0,99,0,0,mado,0,0,2139,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_FLAMELAUNCHER 2260,0,0,20,0,0,0,99,0,0,mado,0,0,6146,1,6147,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_COLDSLOWER 2261,0,0,30:45:60,0,0,0,99,8,1,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_ARMSCANNON 2262,0,0,20:40:60,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2800 //NC_ACCELERATION 2263,0,0,25,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2801 //NC_HOVERING 2264,0,0,5,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_F_SIDESLIDE 2265,0,0,5,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_B_SIDESLIDE 2267,0,0,200,0,0,0,99,0,0,mado,0,0,6146,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2802 //NC_SELFDESTRUCTION 2268,0,0,100,0,0,0,99,0,0,mado,0,0,6360,3,6363,3,6362,3,6361,3,0,0,0,0,0,0,0,0,0,0,6146,2,2803 //NC_SHAPESHIFT 2269,0,0,20,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2804:2809:2810 //NC_EMERGENCYCOOL 2270,0,0,45,0,0,0,99,0,0,mado,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_INFRAREDSCAN 2271,0,0,30,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_ANALYZE 2272,0,0,60:70:80,0,0,0,99,0,0,mado,0,0,6146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2805 //NC_MAGNETICFIELD 2273,0,0,80:90:100,0,0,0,99,0,0,mado,0,0,6146,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2806 //NC_NEUTRALBARRIER 2274,0,0,80:100:120,0,0,0,99,0,0,mado,0,0,6146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2808 //NC_STEALTHFIELD 2275,0,0,25:30:35:40:45,0,0,0,99,0,0,mado,0,0,12392,1,12392,1,12393,1,12393,1,12394,1,0,0,0,0,0,0,0,0,2807,0,0 //NC_REPAIR Take note of 6145. Thats the item id. Thats it! You can either change it to 0 or to any of your liking.
  11. How late i am to see this reply. But i did exactly the same. Thanks as always bro. Yep i figure out by my self. Thank you!
  12. Can someone make a guide for this? I know its old but its still problem for those who uses pre renewal.
  13. Nice. But like i said i fixed my izlude now. Its now playable. But the problem is the npc placements. They are mostly facing wrong direction. i noticed as well that theres a new morroc and new alberta. Will they have problem if im in pre renewal settings? Should i revert them back as well into old maps? btw thank for the reply. New finding arises. Did a little bit of research about this izlude map. Well first thing first. I already fixed my @go 5 (izlude town) all textures has been restored (bmp map files) The new problem was the pvp map for izlude. I guess its still loading the map cache for new izlude. Do we have pvp_y_8-3 gat file? And by the way the npc placements has not solved either. Now i also revert my old morroc town. Some npcs are facing the wrong way. Some npc placement are in the tree itself. Okay i fixed the pvp_y_8-2 issue by renaming the old izlude i got from rathena to pvp_y_8-2. Recache it using weemapcache. Now what really left was the placement of npcs in all of new towns.
  14. Hello. I recently discovered this issue. So its quiet a while now regarding to the NEW and OLD izlude. I already revert back to my old izlude thanks to google referring me to rathena posts to fix it. Now my problem is the placements of some (or all) npc in the area. Is there a fix for this? Because the npc located in my izlude were scattered and facing the wrong direction. Thanks!
  15. Gracias senior! It worked thanks! i Just put // to set Options, 1|8;
  16. i second this although its old. I just recently discovered it. Now i fixed it by having old izlude town back. The problem is the NPC locations. They're scattered and facing the wrong way. Any fix?
  17. Hello i have a request. Scripting really not my strongest suit. But i want a clean up with regards to the Woe Controller that comes with our latest git. This is the Woe Script of Euphy. It works alright and i love it very much! My request is a little clean up that will remove the reward system. I want old school style. But the feature itself was great. I would like to use it someday. As i try to use it try to reward myself as a gm i get this error on my console. Please take a look in screenshot. Anyways maybe the reason why i got this error was because i disabled the mail system. I diff my client to hide the mail button. That is the reason why im requesting to remove the reward system added by Goddameit. Thanks guys!
  18. Nicely done my sire. Alright it works now! Now i really need to clean it up. Will give another feed back soon
  19. will try now! Again bro you are the best! Oh the reason why i cant use it anymore its because its 1 time use only. Good feature indeed. Might need this in the future. However the script i posted is the best option for me. It has the things i want. maybe if you have time can you look and test it for me? Im trying to add conditions like what you told me to add multiple item requirements i should do like these i have tried it but even though i did and if i still missing the second item it will still push through. okay this is my condition RK: if(Class == Job_Lord_Knight){ mes "To become Rune Knight,"; mes "you must have the following items."; next; mes "You need to give me these:"; mes "1 TCG"; mes "5 Poring Card."; menu "Okay i have it!",RKc; RKc: if(Class == Job_Lord_Knight && countitem(7227) >= 1 || countitem(4001) >= 5){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4060; callfunc "F_ClearJobVar"; delitem 7227,1; delitem 4001,5; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } Even though i dont have 5 poring card it will still make me 3rd job. And ofcourse my mapserver will give me error and debug message telling me Hmmmmmmmm. *EDIT**** Oh i changed ito these! i replace the || into && and its working now! Its requesting 2 items now. ? Now to clean in up i have to set additional conditions like the player have to be atleast 200 to do job change. for that i really dont have an idea.
  20. can sombody make mirror to event manager? Thanks!
  21. Wow @BeWan!!! Thank you for always taking time to reply to my silly posts! Will try this now and give a feedback! Okay it works but i can choose any class i want. I am Lord Knight. Had 500 apples as requirement. I selected ranger and it did. I want to set conditions. If im in swordmans class it should make me rune knight instead of any class i want. But i thank you @BeWan for helping me. Any other script regarding my query? Thanks!
  22. Hello guys. I know we have the default jobmaster in our rathena. Well i disabled the 3rd job class there. I want a separate npc that can change players into 3rd job. i have one here (one from my old server) its very dirty and doesnt do what i want. here is the code //===== eAthena Script ======================================= //= eAthena Jobchanger AKA Aone //===== By: ================================================== //= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance] //===== Current Version: ===================================== //= 1.5a //===== Compatible With: ===================================== //= eAthena SVN Trunk 6674 //===== Description: ========================================= //= Changes your job without asking too much //= For other info, please contact me at [email protected] //= Editted menu to avoid button mashing. //= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus] //= script leaves grabage variable: 'lastJob' //= 1.4 Added NJ/GS, changed all job numbers to Job_* constants. //= All credits go to pxxx [Skotlex] //= 1.5 Rewrite everything from scratch. [Lance] //= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus] //============================================================ prontera,163,190,5 script 3rd Job Master 703,{ mes "^ff0000[Jamie]^000000"; if(Class == Job_Lord_Knight || Class == Job_Paladin || Class == Job_Champion || Class == Job_High_Priest || Class == Job_High_Wizard || Class == Job_Professor ||Class == Job_Whitesmith || Class == Job_Creator || Class == Job_Stalker ||Class == Job_Assassin_Cross || Class == Job_Sniper || Class == Job_Gypsy || Class == Job_Clown){ mes "I know, I know, you wanna be a 3rd class, right?"; next; mes "Now, don't feel down... I'm gonna change you right away..."; next; mes "Unless you wanna change your mind?"; next; menu "I don't want to yet...",E_quit,"Yes, Please!!~",N_change; } else{ mes "No more jobs are available"; next; next; mes "BYE BYE!!~"; close; } N_change: RK: if(Class == Job_Lord_Knight){ mes "To become Rune Knight,"; mes "you must have the following items."; next; mes "You need to give me these:"; mes "1 TCG"; mes "5 Poring Card."; menu "Okay i have it!",RKc; } RG: if(Class == Job_Paladin){ mes "RG"; mes "RG"; next; menu "DO YOU HAVE IT ALL??",RGc; close; } SURA: if(Class == Job_Champion){ mes "SURA"; mes "SURA"; next; menu "DO YOU HAVE IT ALL??",SURAc; close; } AB: if(Class == Job_High_Priest){ mes "AB"; mes "AB"; next; menu "DO YOU HAVE IT ALL??",ABc; close; } WL: if(Class == Job_High_Wizard){ mes "WL"; mes "WL"; next; menu "DO YOU HAVE IT ALL??",WLc; close; } SORCE: if(Class == Job_Professor){ mes "SORCE"; mes "SORCE"; next; menu "DO YOU HAVE IT ALL??",SORCEc; close; } GEN: if(Class == Job_Creator){ mes "GEN"; mes "GEN"; next; menu "DO YOU HAVE IT ALL??",GENc; close; } MECH: if(Class == Job_Whitesmith){ mes "MECH"; mes "MECH"; next; menu "DO YOU HAVE IT ALL??",MECHc; close; } SC: if(Class == Job_Stalker){ mes "SC"; mes "SC"; next; menu "DO YOU HAVE IT ALL??",SCc; close; } GX: if(Class == Job_Assassin_Cross){ mes "GX"; mes "GX"; next; menu "DO YOU HAVE IT ALL??",GXc; close; } RAN: if(Class == Job_Sniper){ mes "RAN"; mes "RAN"; next; menu "DO YOU HAVE IT ALL??",RANc; close; } MW: if(Class == Job_Gypsy || Class == Job_Clown){ mes "MW"; mes "MW"; next; menu "DO YOU HAVE IT ALL??",MWc; close; } RKc: if(Class == Job_Lord_Knight && countitem(7227) > 5){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4060; callfunc "F_ClearJobVar"; delitem 7227,5; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } RGc: if(Class == Job_Paladin && countitem(1009) > 0){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4073; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } SURAc: if(Class == Job_Champion){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4077; callfunc "F_ClearJobVar"; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } ABc: if(Class == Job_High_Priest){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4063; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } GENc: if(Class == Job_Creator){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4078; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } MECHc: if(Class == Job_Whitesmith){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4064; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } SCc: if(Class == Job_Stalker){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4079; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } GXc: if(Class == Job_Assassin_Cross){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4065; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } WLc: if(Class == Job_High_Wizard){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4061; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } SORCEc: if(Class == Job_Professor){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4074; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } RANc: if(Class == Job_Sniper){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4062; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } MWc: if(Class == Job_Clown){ mes "ABRA!!"; next; mes "KADABRA~~"; next; mes "ALAKAZAM!!~~"; next; set JobLevel, 1; set SkillPoint, 0; jobchange 4075; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } if(Class == Job_Gypsy){ set JobLevel, 1; set SkillPoint, 0; jobchange 4076; callfunc "F_ClearJobVar"; delitem 7227,1; mes "CONGRATS!!"; next; mes "NOW YOU ARE A RUNE KNIGHT"; mes "KEEP PLAYING AND SUPPORT HELLRO~~"; next; mes "KILL THEM ALL AND HAVE FUN!!"; close; } else{ next; mes "ARE YOU AN IDIOT??"; next; mes "PLEASE CHECK EVERYTHING BEFORE YOU TALK TO ME!!"; next; mes "BYE~~"; close; } E_quit: mes "....."; mes "Well, I think it's okay if you're not ready yet."; emotion e_sweat; close; } It works alright. This is perfect for those free job change. What i want is these.... 1. Player must be lvl 200 to be able to change into 3rd class (i set my server to 255 max joblevel) 2. Player must provide 2 to 5 items to be able to become 3rd class. (editable and can add or lessen the item requirements) 3. when player become 3rd class it will broadcast to the whole server like Wowowow! <playername> has become a Champion! something like that. thank you so much guys!
×
×
  • Create New...