summaryrefslogtreecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt')
-rw-r--r--npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt448
1 files changed, 224 insertions, 224 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
index 669942e72..ad7a02c4b 100644
--- a/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
+++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_broadcast.txt
@@ -1,224 +1,224 @@
-//===== eAthena Script =======================================
-//= Kafra Express - Broadcasting Module
-//===== By: ==================================================
-//= Skotlex
-//===== Current Version: =====================================
-//= 3.0
-//===== Compatible With: =====================================
-//= eAthena SVN3424+
-//===== Description: =========================================
-//= Part of the Kafra Express Script Package.
-//= Offers broadcasting for party requests, pvp, general
-//= and anonymous. Broadcasts can be to the current map
-//= or server-wide
-//===== Additional Comments: =================================
-//= See config.txt for configuration.
-//= For the PVP broadcasts, variables from the Pvp Warping
-//= Module are used.
-//============================================================
-
-- script keInit_broadcast -1,{
-OnInit: //Load Config
- donpcevent "keConfig::OnLoadBroadcast";
- end;
-}
-
-//Function F_keBroadcast(String currentMapName)
-function script F_keBroadcast {
-
- function SF_calcPrice;
- function SF_broadcasts;
- function SF_bcPvp;
- function SF_doBroadcast;
-
- if ($@kebc_showOnline) {
- set @kmenu, select(
- "- Return",
- "- Map Broadcasts ("+getarg(0)+"/"+getmapusers(getarg(0))+" "+$@ked_users$+")",
- "- Global Broadcasts ("+getusers(1)+" "+$@ked_users$+")"
- );
- } else {
- set @kmenu, select(
- "- Return",
- "- Map Broadcasts ("+getarg(0)+")",
- "- Global Broadcasts"
- );
- }
- switch(@kmenu) {
- case 2:
- SF_calcPrice(0);
- set @map$,getarg(0);
- SF_broadcasts("Map ("+getarg(0)+")");
- break;
- case 3:
- SF_calcPrice(1);
- set @map$,"";
- SF_broadcasts("Global");
- break;
- }
-return;
-
-//Sub Function SF_broadcasts: Handles main broadcast menu.
-function SF_broadcasts {
-
- do {
- switch (select (
- "- Cancel "+getarg(0)+" Broadcast",
- "- Party request Broadcast ("+@partycost+"z)",
- "- PvP challenge Broadcast ("+@pvpcost+"z)",
- "- General Broadcast ("+@cost+"z)",
- "- General Anonymous Broadcast ("+@anoncost+"z)"
- )) {
- case 2: //Party
- SF_doBroadcast $@kebc_partyCost,@map$,"The "+callfunc("GF_getJobName",class)+" "+strcharinfo(0)+" (levels "+baselevel+"/"+joblevel+") is looking for a party to join.",0;
- break;
- case 3: //Pvp
- if ($@kewp_advanced == 0)
- SF_bcPvp $@kebc_pvpCost,@map$,0,0;
- else {
- do {
- set @kmenu, select (
- "- Cancel",
- "- advertise all levels rooms",
- "- advertise levels "+($@kewp_baseLv1-$@kewp_range)+"-"+($@kewp_baseLv1+$@kewp_range)+" rooms",
- "- advertise levels "+($@kewp_baseLv2-$@kewp_range)+"-"+($@kewp_baseLv2+$@kewp_range)+" rooms",
- "- advertise levels "+($@kewp_baseLv3-$@kewp_range)+"-"+($@kewp_baseLv3+$@kewp_range)+" rooms",
- "- advertise levels "+($@kewp_baseLv4-$@kewp_range)+"-"+($@kewp_baseLv4+$@kewp_range)+" rooms",
- "- advertise levels "+($@kewp_baseLv5-$@kewp_range)+"-"+($@kewp_baseLv5+$@kewp_range)+" rooms",
- "- advertise levels "+($@kewp_baseLv6-$@kewp_range)+"-"+($@kewp_baseLv6+$@kewp_range)+" rooms",
- "- advertise levels "+($@kewp_baseLv7-$@kewp_range)+"-"+($@kewp_baseLv7+$@kewp_range)+" rooms"
- );
- switch (@kmenu) {
- case 2: //All levels
- SF_bcPvp $@kebc_pvpCost,@map$,0,0;
- break;
- case 3: //Lv1
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv1-$@kewp_range,$@kewp_baseLv1+$@kewp_range;
- break;
- case 4: //Lv2
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv2-$@kewp_range,$@kewp_baseLv2+$@kewp_range;
- break;
- case 5: //Lv3
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv3-$@kewp_range,$@kewp_baseLv3+$@kewp_range;
- break;
- case 6: //Lv4
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv4-$@kewp_range,$@kewp_baseLv4+$@kewp_range;
- break;
- case 7: //Lv5
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv5-$@kewp_range,$@kewp_baseLv5+$@kewp_range;
- break;
- case 8: //Lv6
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv6-$@kewp_range,$@kewp_baseLv6+$@kewp_range;
- break;
- case 9: //Lv7
- SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv7-$@kewp_range,$@kewp_baseLv7+$@kewp_range;
- break;
- default:
- break;
- }
- } while (@kmenu > 1);
- }
- break;
- case 4: //General
- SF_doBroadcast $@kebc_cost,@map$,"(From "+strcharinfo(0)+") ",1;
- break;
- case 5: //Anonymous
- SF_doBroadcast $@kebc_anonCost,@map$,"(Anonymous) ",1;
- break;
- default:
- return;
- }
- } while (1);
-} //SF_ end
-
-//SubFunction: Calculates prices for Broadcast services (argument 0 == 1 for global bc, 0 for map bc
-function SF_calcPrice {
- set @partycost,callfunc("F_keCost",$@kebc_partyCost,$@kebc_discount);
- set @pvpcost,callfunc("F_keCost",$@kebc_pvpCost,$@kebc_discount);
- set @cost,callfunc("F_keCost",$@kebc_cost,$@kebc_discount);
- set @anoncost,callfunc("F_keCost",$@kebc_anonCost,$@kebc_discount);
- if (getarg(0)) { //Global fix
- set @partycost,@partycost*$@kebc_globalFactor/100;
- set @pvpcost,@pvpcost*$@kebc_globalFactor/100;
- set @cost,@cost*$@kebc_globalFactor/100;
- set @anoncost,@anoncost*$@kebc_globalFactor/100;
- }
-} //SF_ end
-
-//SubFunction SF_doBroadcast(int cost, String map, String message, int input)
-//If map is "", do a global broadcast
-//If input is 1, concat a user string to message.
-function SF_doBroadcast {
- set @cost, getarg(0);
- if (getarg(1)=="")
- set @cost, @cost*$@kebc_globalFactor/100;
- if (getarg(3)) { //Input message
- input @msg$;
- set @msg$,getarg(2)+@msg$;
- } else
- set @msg$,getarg(2);
-
- mes "Broadcast '"+@msg$+"'?";
- switch (select(
- "- Cancel Broadcast",
- "- Broadcast Message"
- )) {
- case 2:
- if (!(callfunc("F_keCharge",@cost,$@kebc_discount,1))) {
- callfunc "F_keIntro", e_pif, "You don't have enough Zeny...";
- return;
- }
-
- callfunc "F_keIntro", e_what, "Broadcasting...";
- if (getarg(1)=="")
- announce @msg$,16;
- else
- mapannounce getarg(1),@msg$,3;
- break;
- default:
- callfunc "F_keIntro", -1, "Ok...";
- }
-} //SF_ end
-
-//SubFunction SF_bcPvp (int cost, String map, int min level, int max level)
-//Does the second part of PvP Room Advertising. Level is the level group to
-//advertise (1->8 where 8 is free for all)
-function SF_bcPvp {
- set @msg$, "advertising";
- set @lvls$, "";
- if (getarg(3)) {
- if (BaseLevel < getarg(2) || BaseLevel > getarg(3)) {
- callfunc "F_keIntro", e_bzz, "You can only broadcast requests for PvP rooms you can enter!";
- return;
- }
- set @msg$,"levels "+getarg(2)+"-"+getarg(3);
- set @lvls$,"(levels "+getarg(2)+"-"+getarg(3)+") ";
- }
- set @pvpcost,getarg(0);
- switch(select(
- "- Cancel (PvP Rooms "+@msg$+")",
- "- advertise 'Room Sandwich'",
- "- advertise 'Room Rock On'",
- "- advertise 'Four Room'",
- "- advertise 'Room Undercross'",
- "- advertise 'Room Compass'"
- )) {
- case 2: //Sandwich
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Sandwich'!",0;
- break;
- case 3: //Rockon
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Rock On'!",0;
- break;
- case 4: //Room Four
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Four Room'!",0;
- break;
- case 5: //Undercross
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Undercross'!",0;
- break;
- case 6: //Compass
- SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Compass'!",0;
- break;
- }
-} //SF_ end
-
-}
+//===== eAthena Script =======================================
+//= Kafra Express - Broadcasting Module
+//===== By: ==================================================
+//= Skotlex
+//===== Current Version: =====================================
+//= 3.0
+//===== Compatible With: =====================================
+//= eAthena SVN3424+
+//===== Description: =========================================
+//= Part of the Kafra Express Script Package.
+//= Offers broadcasting for party requests, pvp, general
+//= and anonymous. Broadcasts can be to the current map
+//= or server-wide
+//===== Additional Comments: =================================
+//= See config.txt for configuration.
+//= For the PVP broadcasts, variables from the Pvp Warping
+//= Module are used.
+//============================================================
+
+- script keInit_broadcast -1,{
+OnInit: //Load Config
+ donpcevent "keConfig::OnLoadBroadcast";
+ end;
+}
+
+//Function F_keBroadcast(String currentMapName)
+function script F_keBroadcast {
+
+ function SF_calcPrice;
+ function SF_broadcasts;
+ function SF_bcPvp;
+ function SF_doBroadcast;
+
+ if ($@kebc_showOnline) {
+ set @kmenu, select(
+ "- Return",
+ "- Map Broadcasts ("+getarg(0)+"/"+getmapusers(getarg(0))+" "+$@ked_users$+")",
+ "- Global Broadcasts ("+getusers(1)+" "+$@ked_users$+")"
+ );
+ } else {
+ set @kmenu, select(
+ "- Return",
+ "- Map Broadcasts ("+getarg(0)+")",
+ "- Global Broadcasts"
+ );
+ }
+ switch(@kmenu) {
+ case 2:
+ SF_calcPrice(0);
+ set @map$,getarg(0);
+ SF_broadcasts("Map ("+getarg(0)+")");
+ break;
+ case 3:
+ SF_calcPrice(1);
+ set @map$,"";
+ SF_broadcasts("Global");
+ break;
+ }
+return;
+
+//Sub Function SF_broadcasts: Handles main broadcast menu.
+function SF_broadcasts {
+
+ do {
+ switch (select (
+ "- Cancel "+getarg(0)+" Broadcast",
+ "- Party request Broadcast ("+@partycost+"z)",
+ "- PvP challenge Broadcast ("+@pvpcost+"z)",
+ "- General Broadcast ("+@cost+"z)",
+ "- General Anonymous Broadcast ("+@anoncost+"z)"
+ )) {
+ case 2: //Party
+ SF_doBroadcast $@kebc_partyCost,@map$,"The "+callfunc("GF_getJobName",class)+" "+strcharinfo(0)+" (levels "+baselevel+"/"+joblevel+") is looking for a party to join.",0;
+ break;
+ case 3: //Pvp
+ if ($@kewp_advanced == 0)
+ SF_bcPvp $@kebc_pvpCost,@map$,0,0;
+ else {
+ do {
+ set @kmenu, select (
+ "- Cancel",
+ "- advertise all levels rooms",
+ "- advertise levels "+($@kewp_baseLv1-$@kewp_range)+"-"+($@kewp_baseLv1+$@kewp_range)+" rooms",
+ "- advertise levels "+($@kewp_baseLv2-$@kewp_range)+"-"+($@kewp_baseLv2+$@kewp_range)+" rooms",
+ "- advertise levels "+($@kewp_baseLv3-$@kewp_range)+"-"+($@kewp_baseLv3+$@kewp_range)+" rooms",
+ "- advertise levels "+($@kewp_baseLv4-$@kewp_range)+"-"+($@kewp_baseLv4+$@kewp_range)+" rooms",
+ "- advertise levels "+($@kewp_baseLv5-$@kewp_range)+"-"+($@kewp_baseLv5+$@kewp_range)+" rooms",
+ "- advertise levels "+($@kewp_baseLv6-$@kewp_range)+"-"+($@kewp_baseLv6+$@kewp_range)+" rooms",
+ "- advertise levels "+($@kewp_baseLv7-$@kewp_range)+"-"+($@kewp_baseLv7+$@kewp_range)+" rooms"
+ );
+ switch (@kmenu) {
+ case 2: //All levels
+ SF_bcPvp $@kebc_pvpCost,@map$,0,0;
+ break;
+ case 3: //Lv1
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv1-$@kewp_range,$@kewp_baseLv1+$@kewp_range;
+ break;
+ case 4: //Lv2
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv2-$@kewp_range,$@kewp_baseLv2+$@kewp_range;
+ break;
+ case 5: //Lv3
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv3-$@kewp_range,$@kewp_baseLv3+$@kewp_range;
+ break;
+ case 6: //Lv4
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv4-$@kewp_range,$@kewp_baseLv4+$@kewp_range;
+ break;
+ case 7: //Lv5
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv5-$@kewp_range,$@kewp_baseLv5+$@kewp_range;
+ break;
+ case 8: //Lv6
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv6-$@kewp_range,$@kewp_baseLv6+$@kewp_range;
+ break;
+ case 9: //Lv7
+ SF_bcPvp $@kebc_pvpCost,@map$,$@kewp_baseLv7-$@kewp_range,$@kewp_baseLv7+$@kewp_range;
+ break;
+ default:
+ break;
+ }
+ } while (@kmenu > 1);
+ }
+ break;
+ case 4: //General
+ SF_doBroadcast $@kebc_cost,@map$,"(From "+strcharinfo(0)+") ",1;
+ break;
+ case 5: //Anonymous
+ SF_doBroadcast $@kebc_anonCost,@map$,"(Anonymous) ",1;
+ break;
+ default:
+ return;
+ }
+ } while (1);
+} //SF_ end
+
+//SubFunction: Calculates prices for Broadcast services (argument 0 == 1 for global bc, 0 for map bc
+function SF_calcPrice {
+ set @partycost,callfunc("F_keCost",$@kebc_partyCost,$@kebc_discount);
+ set @pvpcost,callfunc("F_keCost",$@kebc_pvpCost,$@kebc_discount);
+ set @cost,callfunc("F_keCost",$@kebc_cost,$@kebc_discount);
+ set @anoncost,callfunc("F_keCost",$@kebc_anonCost,$@kebc_discount);
+ if (getarg(0)) { //Global fix
+ set @partycost,@partycost*$@kebc_globalFactor/100;
+ set @pvpcost,@pvpcost*$@kebc_globalFactor/100;
+ set @cost,@cost*$@kebc_globalFactor/100;
+ set @anoncost,@anoncost*$@kebc_globalFactor/100;
+ }
+} //SF_ end
+
+//SubFunction SF_doBroadcast(int cost, String map, String message, int input)
+//If map is "", do a global broadcast
+//If input is 1, concat a user string to message.
+function SF_doBroadcast {
+ set @cost, getarg(0);
+ if (getarg(1)=="")
+ set @cost, @cost*$@kebc_globalFactor/100;
+ if (getarg(3)) { //Input message
+ input @msg$;
+ set @msg$,getarg(2)+@msg$;
+ } else
+ set @msg$,getarg(2);
+
+ mes "Broadcast '"+@msg$+"'?";
+ switch (select(
+ "- Cancel Broadcast",
+ "- Broadcast Message"
+ )) {
+ case 2:
+ if (!(callfunc("F_keCharge",@cost,$@kebc_discount,1))) {
+ callfunc "F_keIntro", e_pif, "You don't have enough Zeny...";
+ return;
+ }
+
+ callfunc "F_keIntro", e_what, "Broadcasting...";
+ if (getarg(1)=="")
+ announce @msg$,16;
+ else
+ mapannounce getarg(1),@msg$,3;
+ break;
+ default:
+ callfunc "F_keIntro", -1, "Ok...";
+ }
+} //SF_ end
+
+//SubFunction SF_bcPvp (int cost, String map, int min level, int max level)
+//Does the second part of PvP Room Advertising. Level is the level group to
+//advertise (1->8 where 8 is free for all)
+function SF_bcPvp {
+ set @msg$, "advertising";
+ set @lvls$, "";
+ if (getarg(3)) {
+ if (BaseLevel < getarg(2) || BaseLevel > getarg(3)) {
+ callfunc "F_keIntro", e_bzz, "You can only broadcast requests for PvP rooms you can enter!";
+ return;
+ }
+ set @msg$,"levels "+getarg(2)+"-"+getarg(3);
+ set @lvls$,"(levels "+getarg(2)+"-"+getarg(3)+") ";
+ }
+ set @pvpcost,getarg(0);
+ switch(select(
+ "- Cancel (PvP Rooms "+@msg$+")",
+ "- advertise 'Room Sandwich'",
+ "- advertise 'Room Rock On'",
+ "- advertise 'Four Room'",
+ "- advertise 'Room Undercross'",
+ "- advertise 'Room Compass'"
+ )) {
+ case 2: //Sandwich
+ SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Sandwich'!",0;
+ break;
+ case 3: //Rockon
+ SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Rock On'!",0;
+ break;
+ case 4: //Room Four
+ SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Four Room'!",0;
+ break;
+ case 5: //Undercross
+ SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Undercross'!",0;
+ break;
+ case 6: //Compass
+ SF_doBroadcast @pvpcost,@map$,"The "+callfunc("GF_getJobName", class)+" "+strcharinfo(0)+" is looking for PvP challengers "+@lvls$+"in the 'Room Compass'!",0;
+ break;
+ }
+} //SF_ end
+
+}