-
Posts
2,407 -
Joined
-
Last visited
-
Days Won
49
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Capuche
-
Maybe because of the quotes 'mvp_point+1' ? query_sql("UPDATE `char` SET `mvp_point` = mvp_point+1 WHERE char_id = '"+ getcharid(0) +"'");
- 1 reply
-
- 1
-
-
Yes it's correct. The winner get the prize sunday then the table is truncated monday 00:00
-
Looking for an Item that uses an "@" Command (i.e @mount)
Capuche replied to Archetype Saber's question in Scripting Support
No only rk or rg can get the official mount -
Where to get job changer with kagerou but rebellion is disabled
Capuche replied to johnbond's question in Script Requests
He searchs a job changer Emistry Try to replace if (Class == Job_Ninja || Class == Job_Gunslinger) by if (Class == Job_Ninja) setarray [email protected][0], ( Sex ? Job_Kagerou : Job_Oboro ), 70; -
Looking for an Item that uses an "@" Command (i.e @mount)
Capuche replied to Archetype Saber's question in Scripting Support
Insert into an item the script if ( getskilllv("KN_RIDING") ) { if ( eaclass()&EAJ_THIRDMASK == EAJ_RUNE_KNIGHT ) setdragon; else if ( eaclass()&EAJ_THIRDMASK == EAJ_ROYAL_GUARD ) setriding !checkriding(); } -
Try this uggly npc /* CREATE TABLE IF NOT EXISTS `random` ( `char_id` int(11) unsigned NOT NULL DEFAULT '0', `name` varchar(30) NOT NULL default '', `tickets` int(11) unsigned NOT NULL DEFAULT '0', `mytickets` int(11) unsigned NOT NULL DEFAULT '0', `leader` tinyint(3) unsigned NOT NULL default '0', KEY `char_id` (`char_id`) ) ENGINE=MyISAM; */ prontera,150,150,5 script junon 87,{ [email protected]_id = 501; // ticket ID setarray [email protected][0], 501,1; // reward if ( .winner$ == "" ) { query_sql( "select ( select mytickets from random where char_id = "+ getcharid(0) +" ),"+ "( select tickets from random where char_id = "+ getcharid(0) +" ), max( tickets ) from random", [email protected]_tickets, [email protected], [email protected] ); mes "you bet "+ [email protected]_tickets +" ticket on a total of "+ [email protected] +" tickets."; mes "now how many tickets do you want to bet ?"; input [email protected]; if ( [email protected] == 0 ) close; next; if ( countitem( [email protected]_id ) < [email protected] ) { mes "you don't have enough ticket"; close; } mes "you will bet "+ [email protected] +" ticket. Is that ok?"; next; if ( select( "quit", "It's ok" ) == 1 ) close; mes "Alright good luck !"; delitem [email protected]_id, [email protected]; if ( [email protected]_tickets == 0 ) query_sql "insert into random select "+ getcharid(0) +", '"+ escape_sql( strcharinfo(0) ) +"', ( COALESCE( max( tickets ),0 ) + "+ [email protected] +" ), "+ [email protected] +", 0 from random"; else { query_sql "update random set tickets = tickets + "+ [email protected] +" where tickets >= "+ [email protected]; query_sql "update random set mytickets = mytickets + "+ [email protected] +" where char_id = "+ getcharid(0); } } else { if ( .winner$ == strcharinfo(0) ) { mes "congrat you win"; if ( .winner == 1 ) { getitem [email protected][0], [email protected][1]; query_sql "update random set leader = 2 where char_id = "+ getcharid(0); .winner = 2; } } else mes "the winner is "+ .winner$; } close; // OnInit: OnSun0000: query_sql "select max( tickets ) from random", [email protected]; query_sql "update random set leader = 1 where tickets <= ( rand() * "+ [email protected] +" ) order by tickets desc limit 1";// little trick with tickets column to select a random char following the tickets weight query_sql "select name, leader from random where leader > 0 limit 1", .winner$, .winner; end; OnMon0000: query_sql "truncate table random"; .winner$ = ""; .winner = 0; end; }
-
Where to get job changer with kagerou but rebellion is disabled
Capuche replied to johnbond's question in Script Requests
It's an old version, do you have the const EAJL_THIRD in const.txt? -
how can i block the spawn of mobs after reload
Capuche replied to ItsFree's question in Script Requests
https://rathena.org/board/topic/62757-reloadscript/ -
Where to get job changer with kagerou but rebellion is disabled
Capuche replied to johnbond's question in Script Requests
It's working for me on rathena -
how can i block the spawn of mobs after reload
Capuche replied to ItsFree's question in Script Requests
Use this structure for permanent spawn. Otherwise use monster script command in a NPC. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L5543 -
Requesting a dynamic shop with skull_points
Capuche replied to ItsFree's question in Script Requests
poring_w02,177,176,5 pointshop Mvp Points Trader 112,#monster_points,7539:1 remove the 116 number (what is it about?) -
Where to get job changer with kagerou but rebellion is disabled
Capuche replied to johnbond's question in Script Requests
I don't know I don't need another one -
Requesting a dynamic shop with skull_points
Capuche replied to ItsFree's question in Script Requests
Try -%TAB%pointshop%TAB%<NPC Name>%TAB%<sprite id>,<costvariable>{:<discount>},<itemid>:<price>{,<itemid>:<price>...} <map name>,<x>,<y>,<facing>%TAB%pointshop%TAB%<NPC Name>%TAB%<sprite id>,<costvariable>{:<discount>},<itemid>:<price>{,<itemid>:<price>...} where <costvariable> is your variable name #skull_points -
Where to get job changer with kagerou but rebellion is disabled
Capuche replied to johnbond's question in Script Requests
What about https://github.com/rathena/rathena/blob/master/npc/custom/jobmaster.txt ? Just need to replace the line if (Class == Job_Ninja || Class == Job_Gunslinger) by the line if (Class == Job_Ninja) -
Wrong Eden Equipment rewards in very recent revision
Capuche replied to eleriaqueen's question in General Support
That's weird but official.. -
WHERE `group_id` > '0') group by account_id LIMIT 128 try
-
God I should reread replace if ( [email protected] -3 == 4 ) { by if ( [email protected] -3 == ([email protected] *2) ) {
-
Mistake mes "Choose something."; next; switch( select( "Fused Turtle General Card", "Fused 2nd card", "Fused 3rd card" ) ) { case 1: // <reward ID>, <chance success>, <item ID req 1>,<amount 1>, <item ID req 2>,<amount 2>, ..., <desc>; callsub S_Fuse, 4305,10, 501,1, 502,1, 503,2, "HIT +150.\n Add a 5% chance of auto casting Stone Curse status when hit by enemy."; case 2: callsub S_Fuse, 4318,10, 501,1, 502,1, 503,2, "HIT +150.\n Add a 5% chance of auto casting Stone Curse status when hit by enemy."; case 3: callsub S_Fuse, 4263,10, 501,1, 502,1, 503,2, "HIT +150.\n Add a 5% chance of auto casting Stone Curse status when hit by enemy."; } S_Fuse: [email protected] = getargcount(); [email protected] = getarg(1); mes "[ Fused Card ]"; mes "-- Fused "+ getitemname( getarg(0) ) +" --"; mes "-- Requirements --"; for ( [email protected] = 2; [email protected] < [email protected] -1; [email protected] += 2 ) { if ( countitem(getarg([email protected])) >= getarg([email protected]+1) ) { [email protected]++; [email protected]$ = "^0000ff1"; } else [email protected]$ = "^ff00000"; mes "x"+ [email protected]$ +"/"+ getarg([email protected]+1) +" "+ getitemname(getarg([email protected])); } next; mes "-- New Effect --"; mes getarg( [email protected] -1 ); next; mes "-- Success Rate --"; mes ( 100 - [email protected] ) +"% Fail and "+ [email protected] +"% success."; if ( [email protected] -3 == 4 ) { next; if ( select( "Do it", "Bye" ) == 1 ) { if ( rand(1,100) <= [email protected] ) { mes "Success !"; getitem getarg(0),1; } else { mes "Failed"; } for ( [email protected] = 2; [email protected] < [email protected] -1; [email protected] += 2 ) delitem getarg([email protected]),getarg([email protected]+1); } } close;
-
This? mes "Choose something."; next; switch( select( "Fused Turtle General Card", "Fused 2nd card", "Fused 3rd card" ) ) { case 1: // <reward ID>, <chance success>, <item ID req 1>,<amount 1>, <item ID req 2>,<amount 2>, ..., <desc>; callsub S_Fuse, 4305,10, 501,1, 502,1, 503,2, "HIT +150.\n Add a 5% chance of auto casting Stone Curse status when hit by enemy."; case 2: callsub S_Fuse, 4318,10, 501,1, 502,1, 503,2, "HIT +150.\n Add a 5% chance of auto casting Stone Curse status when hit by enemy."; case 3: callsub S_Fuse, 4263,10, 501,1, 502,1, 503,2, "HIT +150.\n Add a 5% chance of auto casting Stone Curse status when hit by enemy."; } S_Fuse: [email protected] = getargcount(); [email protected] = getarg(1); mes "[ Fused Card ]"; mes "-- Fused "+ getitemname( getarg(0) ) +" --"; next; mes "-- Requirements --"; for ( [email protected] = 2; [email protected] < [email protected] -1; [email protected]++ ) { if ( countitem(getarg([email protected])) >= getarg([email protected]+1) ) { [email protected]++; [email protected]$ = "^0000ff1"; } else [email protected]$ = "^ff00000"; mes "x"+ [email protected]$ +"/"+ getarg([email protected]+1) +" "+ getitemname(getarg([email protected])); } next; mes "-- New Effect --"; mes getarg( [email protected] -1 ); next; mes "-- Success Rate --"; mes ( 100 - [email protected] ) +"% Fail and "+ [email protected] +"% success."; if ( [email protected] -3 == 4 ) { next; if ( select( "Do it", "Bye" ) == 1 ) { if ( rand(1,100) <= [email protected] ) { mes "Success !"; getitem getarg(0),1; } else { mes "Failed"; } for ( [email protected] = 2; [email protected] < [email protected] -1; [email protected]++ ) delitem getarg([email protected]),getarg([email protected]+1); } } close;
-
Additionnal item reward or required ? I don't understand what you want please reformulate !
-
Ha yes maybe you forgot the args? Invasion( 1870,1,1898,30,1898,20,1898,10,1898,5 );
-
OnMinute25: function Invasion { monster .SelectedMap$,0,0,"INVASION BOSS",getarg(0),getarg(1),strnpcinfo(0)+"::OnBossKilled"; for( set [email protected],2; getarg( [email protected],0 ); set [email protected],[email protected] + 2 ) monster .SelectedMap$,0,0,"INVASION MOB",getarg([email protected]),getarg([email protected]+1),strnpcinfo(0)+"::OnMobKilled"; announce "Zombie Simulator at "+.SelectedMap$+" .. Hurry Up !!.",0; } here you def the function but you don't execute it function Invasion { monster .SelectedMap$,0,0,"INVASION BOSS",getarg(0),getarg(1),strnpcinfo(0)+"::OnBossKilled"; for( set [email protected],2; getarg( [email protected],0 ); set [email protected],[email protected] + 2 ) monster .SelectedMap$,0,0,"INVASION MOB",getarg([email protected]),getarg([email protected]+1),strnpcinfo(0)+"::OnMobKilled"; announce "Zombie Simulator at "+.SelectedMap$+" .. Hurry Up !!.",0; } OnMinute25: Invasion; end;
-
Use rAthena or add pcblockmove command in script.c
-
What about mysql? I believe it would be more efficient
-
You can do a trick setarray [email protected]_acid[0], 2000000, 2000001; setarray getd( "[email protected]_item"+ [email protected]_acid[0] ), 501, 502, 503; [email protected]_item2000000[0] == 501 [email protected]_item2000000[1] == 502 [email protected]_item2000000[2] == 503