-
Posts
122 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by fictionx
-
-
Hi i'm looking for charleston crisis and jitterbug instance in english.
I can pay for it if you don't want to share for free.
Greetings.-
-
-
Setarray .@item[0],countitem(example),countitem(type 2),(type 3), (type 4);
Then just delete those counts and add jellopy
On phone but hope you understand
Thank you i'll try
@edit
i don't know how to do the part of check and delete items >_<.
-
Hi,
it's possible to make a pool of item wtih countitem?.
For example,Pool item list:
- Krishna-Chakram
-Agent Katar
- Gullitone Katar
If the player bring to the npc whatever of item listed above, the npc will give 1x jellopy depending the quantity of the items that the player bring. (Not necessarily the same item, can be different)
Greetings.-
-
Close this.
-
map,x,y,d script Donor Rewards Redeemer 987,{
// ----------------- NPC Settings -----------------
// --- SET THESE BEFORE LOADING THE SCRIPT! ---
// Server Name
set .serverName$,"FluxRO";
// NPC Name to display during chat.
// Default: "[Donor Rewards Redeemer]"
set .npcName$,"[Donor Rewards Redeemer]";
// DO NOT CHANGE THIS!
// Default: "cp_redeemlog"
set .redeemTable$,"cp_redeemlog";
// Display Credits to FluxCP Creators?
// Help promote our product if its useful.
// 0 = Disable. 1 = Enable.
// Default: 1
set .showCredits,1;
// Max number of unique items to redeem at a time.
// DO NOT RAISE THIS VALUE ABOVE 128 WITHOUT
// MAKING THE NECESSARY SCRIPT ENGINE MODS
// FOR SCRIPT ARRAY SIZING! DANGEROUS!
// Default: 128
set .numRedemptionsSimul,128;
// --------------- End NPC Settings ---------------
// ----------------- Begin Script -----------------
mes .npcName$;
mes "Well hello there " + (Sex ? "good sir!" : "young madam!");
mes "How may I be of assistance to you on this fine day?";
next;
prompt("I wish to redeem items:Who might you be?:I am merely perusing the area");
mes .npcName$;
switch(@menu) {
case 1:
query_sql "SELECT `id`, `nameid`, `quantity` FROM `" + escape_sql(.redeemTable$) + "` WHERE `account_id` = " + getcharid(3) + " AND `redeemed` = 0 LIMIT " + .numRedemptionsSimul,.@id,.@nameid,.@quantity;
if (getarraysize(.@id) > 0) {
mes "Items Pending Redemption: " + getarraysize(.@id);
for (set .@i,0; .@i < getarraysize(.@id); set .@i,.@i+1)
if (checkweight(.@nameid[.@i],.@quantity[.@i]) == 0) {
mes "I'm terribly sorry, but you are carrying too much to accept " + (.@i ? "any more of " : " ") + "your rewards at this time.";
mes "Please come back with fewer items.";
} else {
query_sql "UPDATE `" + escape_sql(.redeemTable$) + "` SET `char_id` = " + getcharid(0) + ", `redeemed` = 1, `redemption_date` = NOW() WHERE `id` = " + .@id[.@i];
getitem .@nameid[.@i],.@quantity[.@i];
mes .@quantity[.@i] + "x " + getitemname(.@nameid[.@i]);
}
if (.@i == getarraysize(.@id)) {
mes "Thank you for your patronage " + (Sex ? "fine sir." : "ma'am.");
mes "Please enjoy your stay on " + .serverName$ + "!";
}
if (.showCredits)
callfunc "F_FluxCredits";
} else {
mes "My records indicate that there are no rewards awaiting to be redeemed.";
mes "My deepest apologies for the misunderstanding.";
}
break;
case 2:
mes "I am here to allow for the redemption of rewards for donations to " + .serverName$ + ".";
mes "Donations may be made to the server via the control panel.";
break;
default:
mes "Very well then.";
mes "Good day to you.";
break;
}
close;
// ------------------ End Script ------------------
}
// ------------ Credits to FluxCP Creators ------------
// - Please do not modify or delete this function or -
// - its contents. To disable the credits from being -
// - shown, set .showCredits to 0 in the NPC Settings -
// - at the top of this file. -
// ----------------------------------------------------
function script F_FluxCredits {
mes "-----------------------------------";
mes "Powered by Flux Control Panel.";
mes "Copyright � 2008-2012 Matthew Harris and Nikunj Mehta.";
mes "http://fluxcp.googlecode.com/";
return;
}
-
Hi i'm requesting a NPC who can trade the currently cashpoints into a Donation Credits (Donation NPC CP Flux).
Anybody can help me ?
Thank you in advance.
-
-
Hi, rathena im looking for a random card collector npc, every 2 hours the npc will be announce a randomly card that he is looking for. The players can change the card that has required and change the card for 'collector points'.
# Normal Cards will give to the player 5 points
# MvP Cards will give to the player 10 points.
the limit points that the player can acquire per day is 100 points
Thank you, hope someone can help me with this request.
-
With callshop.
-
Hi, i have a problem with this script.
The invasor by ivion, the problem is the console don't show any error.
when an invasion starts, it instantly ends.
- script invasor -1,{ OnInit: // [========================================================] // [ Configuration: ] // [--------------------------------------------------------] set .t1,2*24; // Minimum time to activate a new invasion event. (h) set .t2,14*24; // Maximum time to activate a new invasion event. (h) set .t3,24*60; // Maximum duration of the invasion event. (min) set .r1,100; // Mob rate. (%) set .pci,7539; // Item reward dropped by mobs and bosses. (Default = Poring Coin) set .pcr1,100; // Rate of item rewards dropped by mobs. (0 = off | %) set .pcr2,100; // Rate of item rewards dropped by bosses. (0 = off | %) set .t4,60; // Duration of the experience event after defeating the invader armies. (0 = off | min) set .r2,100; // Base exp rate increment. (0 = off | %) set .r3,100; // Job exp rate increment. (0 = off | %) set .gm,60; // GM level required to access the Control Panel whispering to NPC:invasor. // Alternative Save Point: // If a player had saved in the map of the current invasion event, his respawn point will be changed to this one. set .s$,"prontera"; // Map. set .sx,156; // x. set .sy,161; // y. // Cities: // getarg(0): Name. // getarg(1): Map. // getarg(2): Intensity. (0 = off | Intensity) callsub Onc0,"Alberta","alberta",11; callsub Onc0,"Al De Baran","aldebaran",14; callsub Onc0,"Amatsu","amatsu",18; callsub Onc0,"Ayothaya","ayothaya",8; callsub Onc0,"Brasilis","brasilis",27; callsub Onc0,"Comodo","comodo",22; callsub Onc0,"Einbech","einbech",11; callsub Onc0,"Einbroch","einbroch",22; callsub Onc0,"El Dicastes","dicastes01",14; callsub Onc0,"Geffen","geffen",10; callsub Onc0,"Gonryun","gonryun",14; callsub Onc0,"Hugel","hugel",9; callsub Onc0,"Izlude","izlude",5; callsub Onc0,"Jawaii","jawaii",0; // 7 callsub Onc0,"Juno","yuno",30; callsub Onc0,"Lighthalzen","lighthalzen",24; callsub Onc0,"Louyang","louyang",27; callsub Onc0,"Lutie","xmas",20; callsub Onc0,"Manuk","manuk",8; callsub Onc0,"Midgarts Expedition Camp","mid_camp",13; callsub Onc0,"Morroc","morocc",26; callsub Onc0,"Moscovia","moscovia",6; callsub Onc0,"Niflheim","niflheim",0; // 20 callsub Onc0,"Payon","payon",19; callsub Onc0,"Prontera","prontera",0; // 30 callsub Onc0,"Rachel","rachel",18; callsub Onc0,"Splendide","splendide",29; callsub Onc0,"Umbala","umbala",4; callsub Onc0,"Veins","veins",20; // Invaders: // getarg(0): Name. // getarg(1 .. 9): Mobs. // getarg(10 .. 12): Bosses. callsub Onc1,"Aqua",1068,1071,1068,1069,1044,1144,1045,1065,1264,2503,2504,2505; callsub Onc1,"Demon",1146,1109,1101,1149,1632,1773,1382,1292,1208,2536,2537,2538; callsub Onc1,"Dragon",1715,1718,1155,1380,1206,1385,1717,1714,1716,2524,2525,2526; callsub Onc1,"Earth",1784,1782,1165,1517,1615,1516,1378,1386,1602,2512,2513,2514; callsub Onc1,"Fire",1836,1367,1383,1072,1384,1381,1318,1837,1366,2500,2501,2502; callsub Onc1,"Ghost",1509,1179,1186,1143,1510,1192,1506,1375,1291,2527,2528,2529; callsub Onc1,"Ice",1243,1789,1776,1778,1323,1317,1775,1515,1319,2506,2507,2508; callsub Onc1,"Insect",1054,1100,1139,1279,1099,1625,1304,1194,1305,2518,2519,2520; callsub Onc1,"Kaos",1140,1508,1163,1276,1504,1132,1698,1505,1507,2539,2540,2541; callsub Onc1,"Machina",1151,1616,1745,1682,1270,1622,1202,1678,1673,2515,2516,2517; callsub Onc1,"Nature",1162,1118,1880,1500,1497,1410,1780,1884,1314,2509,2510,2511; callsub Onc1,"Takeshi",1026,1188,1404,1584,1609,1512,1416,1405,1401,2542,2543,2544; callsub Onc1,"Undead",1403,1169,1041,1196,1197,1117,1297,1866,1098,2533,2534,2535; callsub Onc1,"Venom",1621,1256,1037,1402,1209,1216,1207,1883,1148,2521,2522,2523; callsub Onc1,"Wind",1627,1156,1253,1263,1633,1692,1412,1774,1259,2530,2531,2532; // [--------------------------------------------------------] // [ End of configuration. ] // [========================================================] // Restore experience rates: if(checkcell("prontera",0,0,cell_water)) { setBattleFlag "base_exp_rate",getBattleFlag("base_exp_rate") - $TIbr; setBattleFlag "job_exp_rate",getBattleFlag("job_exp_rate") - $TIjr; set $TIbr,0; set $TIjr,0; setcell "prontera",0,0,0,0,cell_water,0; atcommand "@reloadmobdb"; } // Fix incorrect map cells: setcell "amatsu",314,267,314,314,0,0; setcell "yuno",205,219,205,218,0,0; while(1) { set .a,0; // Stage. set .b,0; // Class. set .c,0; // City. set .@t,gettimetick(2) / 60; if($TIt <= .@t) set $TIt,.@t + rand(.t1 * 60,.t2 * 60); do { if(($TIt - .@t) / (24 * 60)) sleep 24 * 60 * 60 * 1000; else sleep ($TIt - .@t) * 60 * 1000; set .@t,gettimetick(2) / 60; } while(.@t < $TIt); set .a,1; set $TIt,0; set .@t,0; donpcevent "invasor::OnTimer"; if(!. set .b,rand(1,getarraysize(.i)); set .b,.b - 1; if(!.c) set .c,rand(1,getarraysize(.n$)); set .c,.c - 1; set .mf1,getmapflag(.c2$[.b],1); set .mf4,getmapflag(.c2$[.b],4); setmapflag .c2$[.b],1; // noteleport setmapflag .c2$[.b],4; // nopenalty callsub Clrmsg; announce "S.O.S.!! "+.c1$[.b]+" ESTA SUFRIENDO UNA TERRIBLE INVASION.",bc_all,0xffaa00; while(.a > 0) { if(!.d) { set .d,4 - .a; killmonster .c2$[.b],"invasor::Onm9"; if(.a > 1) callsub Addmsg,"UNA NUEVA TROPA DE INVASORES HA LLEGADO!.","ffaa00",.c2$[.b]; monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + .a + 8)),4 - .a,"invasor::Onm9"; } set .@a,3; while(.@a) { set .@b,(.i[.b] * .r1 / 20) - mobcount(.c2$[.b],"invasor::Onm"+((.a * 3) - .@a)) + 10; if(.@b > 0) { if(.@b > .i[.b]) set .@b,.i[.b]; monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - .@a)),.@b,"invasor::Onm"+((.a * 3) - .@a); } set .@a,.@a - 1; } set .@b,0; sleep 30000; } set .d,0; set .@a,10; while(.@a) { set .@a,.@a - 1; killmonster .c2$[.b],"invasor::Onm"+.@a; } if(!.mf1) removemapflag .c2$[.b],1; if(!.mf4) removemapflag .c2$[.b],4; set .mf1,0; set .mf4,0; if(.a == -1) { callsub Addmsg,"Experiencia Base y Job incrementada en un "+.r2+"%. ("+.t4+" min)","ffaa00"; setBattleFlag "base_exp_rate",getbattleflag("base_exp_rate") + set($TIbr,.r2); setBattleFlag "job_exp_rate",getbattleflag("job_exp_rate") + set($TIjr,.r3); setcell "prontera",0,0,0,0,cell_water,1; atcommand "@reloadmobdb"; sleep .t4 * 60 * 1000; setBattleFlag "base_exp_rate",getbattleflag("base_exp_rate") - .r2; setBattleFlag "job_exp_rate",getbattleflag("job_exp_rate") - .r3; set $TIbr,0; set $TIjr,0; setcell "prontera",0,0,0,0,cell_water,0; atcommand "@reloadmobdb"; announce "La experiencia ha sido restablecida.",bc_all,0xffaa00; } } end; Onc0: if(getarg(2) > 0) { set .c1$[.c],getarg(0); set .c2$[.c],getarg(1); set .i[.c],getarg(2); set .c,.c + 1; } return; Onc1: set .@a,getarraysize(.n$); set .n$[.@a],getarg(0); while(.@b < 12) { set getd(".m"+((.@a * 12) + .@),getarg(.@b + 1); set .@b,.@b + 1; } return; OnTimer: sleep .t3 * 60 * 1000; if(.a > 0) { set .a,0; awake "invasor"; callsub Clrmsg; callsub Addmsg,"Las defensas de "+.c1$[.b]+" han sido eliminadas por los invasores.","ffaa00"; callsub Addmsg,"Hoy sera recordado como el dia negro.","ffaa00"; } end; Onm0: Onm1: Onm2: callsub Onms,1; Onm3: Onm4: Onm5: callsub Onms,2; Onm6: Onm7: Onm8: callsub Onms,3; Onms: if(playerattached() && .pcr1) if(!rand((5 - getarg(0)) * 2500 / .pcr1)) getitem .pci,1; end; Onm9: if(.a > 0) { set .d,.d - 1; if(.a != 3) { setarray .@a$[0],"Sbirro","Hero"; set .@b$,callsub(Grammar_a_an,.n$[.c])+" "+.@a$[.a - 1]; if(playerattached()) { set .@c$,strcharinfo(0)+" has killed a"+.@b$+"."; getitem .pci,(1 + .a) * 10 * .pcr2 / 100; } else set .@c$,"A"+.@b$+" has been killed."; callsub Addmsg,.@c$+" ("+(4 - .a - .d)+"/"+(4 - .a)+")","ffaa00",.c2$[.b]; if(!.d) set .a,.a + 1; } else { if(playerattached()) { set .@a$,strcharinfo(0)+" has killed the "+.n$[.c]+" Deux."; getitem .pci,60 * .pcr2 / 100; } else set .@a$,"The "+.n$[.c]+" Deux has been killed."; callsub Addmsg,.@a$,"ffaa00",.c2$[.b]; callsub Addmsg,"La armada invasora en "+.c1$[.b]+" ha sido vencida.","ffaa00"; if(.t4 && .r2) set .a,-1; else set .a,0; awake "invasor"; } } end; OnPCLoginEvent: if(.a > 0) { sleep2 3000; if(.a > 0) announce "¡¡S.O.S.!! "+.c1$[.b]+" ESTA SUFRIENDO UNA TERRIBLE INVASION.",bc_self,0xffaa00; } else if(.a == -1) { sleep2 3000; if(.a == -1) announce "La experiencia Base y Job, han sido incrementada en un "+.r2+"%.",bc_self,0xffaa00; } end; OnPCDieEvent: if((.a > 0) && (getsavepoint(0) == .c2$[.b])) save .s$,.sx,.sy; end; OnWhisperGlobal: if(getgmlevel() >= .gm) { set .@n$,"^008888The Invasor^000000"; mes .@n$; mes "This is the Control Panel of The Invasor system."; if(!.a) { mes "Currently there isn't any invasion in progress."; set .@t,$TIt - (gettimetick(2) / 60); if(!.@t) set .@t$,"a few seconds"; else if(.@t < 60) set .@t$,.@t+" minutes"; else { set .@t,.@t / 60; if(.@t < 24) set .@t$,.@t+" hours"; else set .@t$,(.@t / 24)+" days"; } mes "Next automatic invasion event will take place in "+.@t$+"."; next; set .@b,select("^880000Exit^000000","Start a new invasion.") - 1; mes .@n$; if(.@ { mes "Select a city."; next; set .@a,select("^880000Random^000000",.c1$[0],.c1$[1],.c1$[2],.c1$[3],.c1$[4],.c1$[5],.c1$[6],.c1$[7],.c1$[8],.c1$[9],.c1$[10],.c1$[11],.c1$[12],.c1$[13],.c1$[14],.c1$[15],.c1$[16],.c1$[17],.c1$[18],.c1$[19],.c1$[20],.c1$[21],.c1$[22],.c1$[23],.c1$[24],.c1$[25],.c1$[26],.c1$[27],.c1$[28],.c1$[29],.c1$[30],.c1$[31],.c1$[32],.c1$[33],.c1$[34],.c1$[35],.c1$[36],.c1$[37],.c1$[38],.c1$[39]) - 1; mes .@n$; mes "Select a class for the invasion."; next; set .@b,select("^880000Random^000000",.n$[0],.n$[1],.n$[2],.n$[3],.n$[4],.n$[5],.n$[6],.n$[7],.n$[8],.n$[9],.n$[10],.n$[11],.n$[12],.n$[13],.n$[14],.n$[15],.n$[16],.n$[17],.n$[18],.n$[19],.n$[20],.n$[21],.n$[22],.n$[23],.n$[24]) - 1; mes .@n$; if(.a) { mes "Right now, you can't start a new invasion event."; mes "Come back in a while."; close; } set $TIt,0; set .b,.@a; set .c,.@b; awake "invasor"; mes "A new invasion event has been started."; close; } } else if(.a > 0) { mes "Currently there is a"+callsub(Grammar_a_an,.n$[.c])+" invasion taking place in "+.c1$[.b]+"."; next; set .@b,select("^880000Exit^000000","Cancel the current invasion.") - 1; mes .@n$; if(.@ { if(.a < 1) { mes "Currently there isn't any invasion in progress."; close; } set .a,0; announce "The invasion in "+.c1$[.b]+" has been canceled.",bc_all,0xffaa00; mes "The invasion in "+.c1$[.b]+" has been canceled."; awake "invasor"; close; } } else { mes "Base and Job experience rates are increased by "+.r2+"% as a reward for the previous invasion."; next; set .@b,select("^880000Exit^000000","Restore the experience rates.") - 1; mes .@n$; if(.@ { if(.a != -1) { mes "Currently the experience rates aren't modified by The Invasor system."; close; } awake "invasor"; mes "The experience rates has been restored."; close; } } mes "See you soon."; close; } end; // Add a new message to the announcement list: // getarg(0): Message. // getarg(1): Color. // getarg(2): Map. (optional) Addmsg: set .@a,getarraysize($@inv_msg0$); if(.@a >= 10) { deletearray $@inv_msg0$[0],.@a - 9; set .@a,9; } set $@inv_msg0$[.@a],getarg(0); set $@inv_msg1$[.@a],getarg(1); set $@inv_msg2$[.@a],getarg(2,""); if(!.@a) donpcevent "inv_msg::On0"; return; // Clear the announcement list: Clrmsg: set .@a,getarraysize($@inv_msg0$); cleararray $@inv_msg0$[0],"",.@a; cleararray $@inv_msg1$[0],"",.@a; cleararray $@inv_msg2$[0],"",.@a; awake "inv_msg"; return; Grammar_a_an: set .@w$," "+getarg(0); setarray .@a$[0],"a","e","i","o","u","h"; set .@a,6; while(.@a && !.@ { set .@a,.@a - 1; set .@b,compare("_"+.@w$,"_ "+.@a$[.@a]); } if(.@ set .@w$,"n"+.@w$; return .@w$; } // Delayed announcements: // Announces a message from the announcement list every 3 seconds. - script inv_msg -1,{ On0: while(getarraysize($@inv_msg0$)) { if($@inv_msg2$[0] == "") announce $@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0]; else mapannounce $@inv_msg2$[0],$@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0]; if(getarraysize($@inv_msg0$)) sleep 3000; deletearray $@inv_msg0$[0],1; deletearray $@inv_msg1$[0],1; deletearray $@inv_msg2$[0],1; } end; }
-
I have an error when i try to install this code.
// Returns the count of all the monsters on the specified map with the given monster id. // mobcount2 <map>,<mob id>; static int buildin_mobcount2_sub(struct block_list *bl,va_list ap) { int class_=va_arg(ap,int); struct mob_data *md = ((struct mob_data *)bl); if(md->class_ == class_ && md->status.hp > 0) return 1; return 0; } BUILDIN_FUNC(mobcount2) { const char *mapname; int class_,m; mapname=script_getstr(st,2); class_=script_getnum(st,3); if(!mobdb_checkid(class_)) { script_pushint(st,-1); return 0; } if((m = map_mapname2mapid(mapname)) < 0) { script_pushint(st,-1); return 0; } if(map[m].flag.src4instance && map[m].instance_id == 0 && st->instance_id && (m = instance_mapid2imapid(m, st->instance_id)) < 0) { script_pushint(st,-1); return 0; } script_pushint(st,map_foreachinmap(buildin_mobcount2_sub,m,BL_MOB,class_)); return 0; }
this is the error
script.c: In function ‘buildin_mobcount2_sub’:script.c:4826: error: ‘struct mob_data’ has no member named ‘class_’script.c: In function ‘buildin_mobcount2’:script.c:4846: error: ‘struct map_flag’ has no member named ‘src4instance’script.c:4846: error: ‘struct script_state’ has no member named ‘instance_id’script.c:4846: warning: implicit declaration of function ‘instance_mapid2imapid’script.c:4846: error: ‘struct script_state’ has no member named ‘instance_id’bump
-
Solved, the problem was a script.
Thank you Elsa Mist .
-
My goup ID is in 0
-
why when i create a new account and make a character, the account set automatically to VIP?.
I want the new account set to the group ID 0 and no 5. How can i change this?
Greetings.-
-
same problem here.
Cashe shop bug in 2014-10-22.
-
oh my bad. thanks
-
I'ts possible to disable the vip message ?
-
-
Hi,
i have a problem, i have a flux cp theme coded for hercules and i want to make compatible with rathena .
what i need to change ?
greetings.
-
Hi i have an oldest script written on eathena.
i have the follow error:
[Error]: npc_event: event not found [Head Gear Shop C::Onquit]
-
bump*
-
i can't patch the bg mod. i have many rejected from tortoise svn.
-
where can i find this maps ?
map: bat_a03 map: bat_a04 map: bat_a05 map: bat_b03 map: bat_b04 map: bat_b05 map: schg_cas06 map: schg_cas07 map: schg_cas08 map: arug_cas06 map: arug_cas07 map: arug_cas08 map: rush_cas01 map: rush_cas02 map: rush_cas03 map: rush_cas04 map: bat_c03 map: bat_c04 map: bat_c05 map: bat_c06 map: bat_c07 map: bat_c08 map: region_8
Multiple Hit
in Source Support
Posted · Edited by fictionx
Hi rAthena,
How can i change the number of hit for a skill by soul link effect?
For example:
Holy Light does 1 hit.
when the priest being linked the skill change to 3 hits instead of 1.
Greetings.-