Jump to content

Capuche

Developer
  • Posts

    2407
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by Capuche

  1. When the mob is killed, there is an announce and 100 items are dropped on the map. In this script the mob doesn't respawn.. you can use Permanent_Monster_Spawn to set the spawn
  2. http://rathena.org/board/topic/86860-map-drop-when-kill-a-specific-monster/?p=220088
  3. I think the if must be if( .@aid == 0 ){
  4. input(.@charname$); query_sql "SELECT account_id FROM `char` WHERE name = '"+.@charname$+"'",.@accid2; just to point this line.. don't forget to use escape_sql to prevent sql injection
  5. prontera,150,180,5 script Hunter monster 87,{ end; OnEvent: waitingroom "Mob to hunt: "+ getmonsterinfo( getvariableofnpc( .monster_hunt_id,"atcmd_monsterhunt" ),0 ) + " (ID: " + getvariableofnpc( .monster_hunt_id,"atcmd_monsterhunt" ) + ")",0; } - script atcmd_monsterhunt -1,{ OnInit: bindatcmd "monsterhunt",strnpcinfo(3)+"::OnCmd"; end; OnCmd: if ( .monster_hunt_id == 0 && ( .@atcmd_numparameters == 0 || .@atcmd_parameters$[0] == "on" || .@atcmd_parameters$[0] == "off" ) ) message strcharinfo(0), "there is none monster to hunt"; else if ( .@atcmd_numparameters == 0 ) message strcharinfo(0), "the new monster to hunt is " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ")"; else if ( .@atcmd_parameters$[0] == "on" ) { if ( @display_message == 0 ) message strcharinfo(0), "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") already display a message"; else { message strcharinfo(0), "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") will display a message"; @display_message = 0; } } else if ( .@atcmd_parameters$[0] == "off" ) { if ( @display_message == 1 ) message strcharinfo(0), "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") already don't display a message"; else { message strcharinfo(0), "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") won't display a message"; @display_message = 1; } } else if ( getgmlevel() >= 25 ) { if ( .@atcmd_parameters$[0] == "0" ) { message strcharinfo(0), "you stop the hunt"; .monster_hunt_id = 0; delwaitingroom "Hunter monster"; } else { .@mob_name$ = getmonsterinfo( atoi(.@atcmd_parameters$[0]),0 ); if ( .@mob_name$ == "null" ) { message strcharinfo(0), "wrong mob id\n"+ "-> " + .@atcmd_command$ + " to display the mob to hunt.\n"+ "-> " + .@atcmd_command$ + " on/off to display a message killing the mob\n"+ "-> " + .@atcmd_command$ + " 0 to stop the hunt\n"+ "-> " + .@atcmd_command$ + " <mob_id> to hunt the mob\n"; } else { .monster_hunt_id = atoi(.@atcmd_parameters$[0]); message strcharinfo(0), "the new monster to hunt is "+ .@mob_name$ + " (ID: " + .monster_hunt_id + ")"; donpcevent "Hunter monster::OnEvent"; } } } else message strcharinfo(0), .@atcmd_command$ + " failed. " + .@atcmd_command$ + " to display the mob to hunt. " + .@atcmd_command$ + " on/off to display a message killing the mob"; end; OnNPCKillEvent: if ( killedrid != .monster_hunt_id ) end; if ( ( hunter_points_today >> 10 ) % pow(2,10) == gettime(8) ) { if ( hunter_points_today % pow(2,10) < 1000 ) hunter_points_today++; else { if ( @display_message == 0 ) message strcharinfo(0), "you can exceed 1000 hunters points today (" + ( hunter_points_today % pow(2,10) ) + "/1000). Total: " + hunter_points + " hunters points."; end; } } else hunter_points_today = ( gettime(8) << 10 ) + 1; hunter_points++; if ( @display_message == 0 ) message strcharinfo(0), "you have now " + ( hunter_points_today % pow(2,10) ) + "/1000 points for killing a " + getmonsterinfo( .monster_hunt_id,0 ) + ". Total: " + hunter_points + " hunters points"; end; }
  6. prontera,150,180,5 script Hunter monster 87,{ end; OnEvent: waitingroom "Mob to hunt: "+ getmonsterinfo( getvariableofnpc( .monster_hunt_id,"atcmd_monsterhunt" ),0 ) + " (ID: " + getvariableofnpc( .monster_hunt_id,"atcmd_monsterhunt" ) + ")",0; } - script atcmd_monsterhunt -1,{ OnInit: bindatcmd "monsterhunt",strnpcinfo(3)+"::OnCmd"; end; OnCmd: if ( .monster_hunt_id == 0 && ( .@atcmd_numparameters == 0 || .@atcmd_parameters$[0] == "on" || .@atcmd_parameters$[0] == "off" ) ) dispbottom "there is none monster to hunt"; else if ( .@atcmd_numparameters == 0 ) dispbottom "the new monster to hunt is " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ")"; else if ( .@atcmd_parameters$[0] == "on" ) { if ( @display_message == 0 ) dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") already display a message"; else { dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") will display a message"; @display_message = 0; } } else if ( .@atcmd_parameters$[0] == "off" ) { if ( @display_message == 1 ) dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") already don't display a message"; else { dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") won't display a message"; @display_message = 1; } } else if ( getgmlevel() >= 25 ) { if ( .@atcmd_parameters$[0] == "0" ) { dispbottom "you stop the hunt"; .monster_hunt_id = 0; delwaitingroom "Hunter monster"; } else { .@mob_name$ = getmonsterinfo( atoi(.@atcmd_parameters$[0]),0 ); if ( .@mob_name$ == "null" ) dispbottom "wrong mob id"; else { .monster_hunt_id = atoi(.@atcmd_parameters$[0]); dispbottom "the new monster to hunt is "+ .@mob_name$ + " (ID: " + .monster_hunt_id + ")"; donpcevent "Hunter monster::OnEvent"; } } } else dispbottom "@" + .@atcmd_command$ + " failed. @" + .@atcmd_command$ + " to display the mob to hunt. @" + .@atcmd_command$ + " on/off to display a message killing the mob"; end; OnNPCKillEvent: if ( .monster_hunt_id == 0 || killedrid != .monster_hunt_id ) end; if ( hunter_points >= 1000 && @display_message == 0 ) message strcharinfo(0), "you can exceed 1000 hunters points (you have " + hunter_points + " hunters points)"; else if ( hunter_points < 1000 ) { hunter_points++; if ( @display_message == 0 ) message strcharinfo(0), "you have now " + hunter_points + " hunters points for killing a " + getmonsterinfo( .monster_hunt_id,0 ); } end; }
  7. //===== eAthena Script ======================================= //= eAthena Jobchanger AKA Job Master //===== 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,153,193,6 script Job Master 123,{ mes "^ff0000[Job Master]^000000"; if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq; if(SkillPoint != 0){ mes "I'm sorry, please use up all your skill points before changing jobs"; mes "Please come again soon!"; close; } if(JobLevel < 10) goto L_LvError; switch(Class){ case Job_Novice_High: case Job_Baby: case Job_Novice: skill 142,1,0; skill 143,1,0; mes "Welcome, please select the job you wish to change into"; if(lastJob != 0 && Class == Job_Novice_High){ switch(lastJob){ case Job_Knight: case Job_Crusader: set @target_job, Job_Swordman_High; break; case Job_Monk: case Job_Priest: set @target_job, Job_Acolyte_High; break; case Job_Alchemist: case Job_Blacksmith: set @target_job, Job_Merchant_High; break; case Job_Rogue: case Job_Assassin: set @target_job, Job_Thief_High; break; case Job_Wizard: case Job_Sage: set @target_job, Job_Mage_High; break; case Job_Hunter: case Job_Bard: case Job_Dancer: set @target_job, Job_Archer_High; break; } } else { switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief", "Super Novice","Taekwon","Gunslinger","Ninja")){ case 7: if(Class == Job_Novice_High) goto L_noReq; if($@JC_SupNovM > BaseLevel) goto L_BvError; if(Upper == 2) set @target_job, Job_Super_Baby; else set @target_job, Job_SuperNovice; break; case 8: if(Class == Job_Novice_High) goto L_noReq; if(Upper == 2) goto L_noReq; set @target_job, Job_Taekwon; break; case 9: case 10: if(Class == Job_Novice_High || Upper == 2) goto L_noReq; set @target_job, @menu + 15; break; default: set @target_job, @menu; if(Class == Job_Novice_High) set @target_job, @target_job + 4001; break; } } mes "Are you sure you want to change to " + JobName(@target_job) + "?"; if(select("No","Yes") == 2){ callfunc "Job_Change", @target_job; if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) { callfunc "F_ClearJobVar"; } else { if($@JC_Plat) goto L_GivePlat; } } close; break; default: if(JobLevel < $@JC_MinimumJB) goto L_LvError; deletearray @job_opt, getarraysize(@job_opt); if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){ if(lastJob != 0){ set @target_job, lastJob + 4001; } else { switch(Class){ case Job_Swordman_High: case Job_Baby_Swordman: case Job_Swordman: set @job_opt[0], Job_Knight; set @job_opt[1], Job_Crusader; break; case Job_Mage_High: case Job_Baby_Mage: case Job_Mage: set @job_opt[0], Job_Wizard; set @job_opt[1], Job_Sage; break; case Job_Archer_High: case Job_Baby_Archer: case Job_Archer: set @job_opt[0], Job_Hunter; if(Sex == 0) set @job_opt[1], Job_Dancer; else set @job_opt[1], Job_Bard; break; case Job_Acolyte_High: case Job_Baby_Acolyte: case Job_Acolyte: set @job_opt[0], Job_Priest; set @job_opt[1], Job_Monk; break; case Job_Merchant_High: case Job_Baby_Merchant: case Job_Merchant: set @job_opt[0], Job_Blacksmith; set @job_opt[1], Job_Alchemist; break; case Job_Thief_High: case Job_Baby_Thief: case Job_Thief: set @job_opt[0], Job_Assassin; set @job_opt[1], Job_Rogue; break; default: set @job_opt[0], Job_Star_Gladiator; set @job_opt[1], Job_Soul_Linker; break; } mes "Welcome, please select the job you wish to change into"; set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1]; if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001; } mes "Are you sure you want to change to " + JobName(@target_job) + "?"; if(select("No","Yes")==2){ callfunc "Job_Change", @target_job; if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) { callfunc "F_ClearJobVar"; } else { if($@JC_Plat) goto L_GivePlat; } } close; } if(checkfalcon() || checkcart() || checkriding()) goto L_remove; if((Class >=Job_Knight) && (Class <=Job_Crusader2)){ mes "Do you want to reborn?"; if(select("Yes","No")==1){ if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh; set lastJob, Class; if(Class == Job_Knight2){ set lastJob, Job_Knight; } else { if(Class == Job_Crusader2){ set lastJob, Job_Crusader; } } jobchange roclass(eaclass()|EAJL_UPPER); resetlvl(1); skill 142,1,0; skill 143,1,0; } close; } } mes "I'm sorry, there are no further classes for your job."; close; L_GivePlat: if (BaseClass==Job_SuperNovice) goto L_sSuperN; if (BaseClass==Job_Swordman) goto L_sSword; if (BaseClass==Job_Mage) goto L_sMage; if (BaseClass==Job_Archer) goto L_sArcher; if (BaseClass==Job_Acolyte) goto L_sAcolyte; if (BaseClass==Job_Merchant) goto L_sMerchant; if (BaseClass==Job_Thief) goto L_sThief; close; L_sSuperN: skill 142,1,0; close; L_sSword: skill 142,1,0; skill 144,1,0; skill 145,1,0; skill 146,1,0; close; L_sMage: skill 142,1,0; skill 157,1,0; close; L_sArcher: skill 142,1,0; skill 147,1,0; skill 148,1,0; close; L_sAcolyte: skill 142,1,0; skill 156,1,0; close; L_sMerchant: skill 142,1,0; skill 153,1,0; skill 154,1,0; skill 155,1,0; close; L_sThief: skill 142,1,0; skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; close; L_cantCh: mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_LvError: mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; L_BvError: mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; L_noReq: mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_remove: mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; close; OnInit: // Variable Setup set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40) set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes) set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45) end; }
  8. My mistake Increment the hunt point before display the message else if ( hunter_points < 1000 ) { + hunter_points++; if ( @display_message == 0 ) message strcharinfo(0), "you have now " + hunter_points + " hunters points for killing a " + getmonsterinfo( .monster_hunt_id,0 ); - hunter_points++; }
  9. There is a bug with the case Change the label OnAtcommand to OnCmd for example
  10. or /* CREATE TABLE IF NOT EXISTS `E-MVPRank` ( `char_id` int(11) unsigned NOT NULL default '0', `name` varchar(30) NOT NULL DEFAULT '', `Count` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`char_id`) ) ENGINE=MyISAM; CREATE TABLE IF NOT EXISTS `E-MVPRank_dummy` ( `id` int(11) NOT NULL auto_increment, `char_id` int(11) unsigned NOT NULL default '0', `name` varchar(30) NOT NULL DEFAULT '', `Count` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`id`), KEY `char_id` (`char_id`) ) ENGINE=MyISAM AUTO_INCREMENT=1; */ prontera,148,167,5 script Sample 757,{ query_sql( "SELECT `id`, `Count` FROM `E-MVPRank_dummy` where char_id = " + getcharid(0), .@rank, .@count ); if ( .@count ) { query_sql "delete from `E-MVPRank_dummy` where char_id = " + getcharid(0); if ( .@rank == 1 ) getitem 501,5; else if ( .@rank <= 10 ) getitem 501,10; else if ( .@rank <= 50 ) getitem 501,15; // etc.. mes "you were rank " + .@rank + " in the previous rank"; close; } query_sql( "SELECT `name`,`Count` FROM `E-MVPRank` ORDER BY `Count` DESC LIMIT 5",.@Name$,.@Count ); if( getarraysize( .@Name$ ) ){ for( set .@i,0; .@i < getarraysize( .@Name$ ); set .@i,.@i + 1 ) mes "[ "+( .@i + 1 )+". ] "+.@Name$[.@i]+" - "+.@Count[.@i]+" Points"; }else{ mes "No Record Found."; } close; OnNPCKillEvent: if( getmonsterinfo( killedrid,MOB_MVPEXP ) ) query_sql( "INSERT INTO `E-MVPRank` SET `char_id`='"+getcharid(0)+"',`name`='"+strcharinfo(0)+"',`Count`='1' ON DUPLICATE KEY UPDATE `Count`=`Count`+1" ); end; OnHour00: query_sql "truncate table `E-MVPRank_dummy`"; query_sql "INSERT into `E-MVPRank_dummy` (`id`,`char_id`,`name`,`Count`) SELECT '',`char_id`,`name`,`Count` FROM `E-MVPRank` order by `Count` desc"; query_sql "truncate table `E-MVPRank`"; }
  11. maybe like this - script atcmd_monsterhunt -1,{ OnInit: bindatcmd "monsterhunt",strnpcinfo(3)+"::OnCmd"; end; OnCmd: if ( .monster_hunt_id == 0 && ( .@atcmd_numparameters == 0 || .@atcmd_parameters$[0] == "on" || .@atcmd_parameters$[0] == "off" ) ) dispbottom "there is none monster to hunt"; else if ( .@atcmd_numparameters == 0 ) dispbottom "the new monster to hunt is " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ")"; else if ( .@atcmd_parameters$[0] == "on" ) { if ( @display_message == 0 ) dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") already display a message"; else { dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") will display a message"; @display_message = 0; } } else if ( .@atcmd_parameters$[0] == "off" ) { if ( @display_message == 1 ) dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") already don't display a message"; else { dispbottom "killing a " + getmonsterinfo( .monster_hunt_id,0 ) + " (ID: " + .monster_hunt_id + ") won't display a message"; @display_message = 1; } } else if ( getgmlevel() >= 25 ) { if ( .@atcmd_parameters$[0] == "0" ) { dispbottom "you stop the hunt"; .monster_hunt_id = 0; } else { .@mob_name$ = getmonsterinfo( atoi(.@atcmd_parameters$[0]),0 ); if ( .@mob_name$ == "null" ) dispbottom "wrong mob id"; else { .monster_hunt_id = atoi(.@atcmd_parameters$[0]); dispbottom "the new monster to hunt is "+ .@mob_name$ + " (ID: " + .monster_hunt_id + ")"; } } } else dispbottom "@" + .@atcmd_command$ + " failed. @" + .@atcmd_command$ + " to display the mob to hunt. @" + .@atcmd_command$ + " on/off to display a message killing the mob"; end; OnNPCKillEvent: if ( .monster_hunt_id == 0 || killedrid != .monster_hunt_id ) end; if ( hunter_points >= 1000 && @display_message == 0 ) message strcharinfo(0), "you can exceed 1000 hunters points (you have " + hunter_points + " hunters points)"; else if ( hunter_points < 1000 ) { if ( @display_message == 0 ) message strcharinfo(0), "you have now " + hunter_points + " hunters points for killing a " + getmonsterinfo( .monster_hunt_id,0 ); hunter_points++; } end; } players : - @monsterhunt : display the monster to hunt - @monsterhunt on/off : display a message or not when killing the mob gm : - @monsterhunt 0 : stop the hunt - @monsterhunt <mob_id> : mob to hunt - @monsterhunt : display the monster to hunt - @monsterhunt on/off : display a message or not when killing the mob
  12. I think the issue came from your client file about the unidentified item.. the monsters drop an unidentified item
  13. Try to replace jobchange Job_Novice_High; by jobchange roclass(eaclass()|EAJL_UPPER);
  14. turbo_room,93,117,5 script Woe Prize Reward 986,{ // setcastledata "prtg_cas01", 1, getcharid(2); // just testing .. if ( agitcheck() ) { mes "a war is currently in progress"; mes "if your guild owned a castle ask your guild master to see me to claim the reward"; close; } set .@menu, select(.menu$) -1; if ( getcastledata( .map_castle$[.@menu], 1) == getcharid(2) ) { if ( $castle_claimed & pow(2, .@menu) ) { mes "your guild already received the reward for "+ .castlename$[.@menu]; close; } else if ( getguildmasterid( getcharid(2) ) == getcharid(0) ) { mes "receiving the reward for "+ .castlename$[.@menu]; getitem 7179, 50; // some mathematics ... set $castle_claimed, $castle_claimed | pow(2, .@menu); close; } else { mes "ask your guild master to see me"; close; } } mes "your guild failed to take "+ .castlename$[.@menu]; mes "if your guild owned a castle ask your guild master to claim reward from me"; close; OnAgitEnd: set $castle_claimed, 0; // everytime woe ends the variable resets end; OnInit: waitingroom "Woe Rewarder",0; setarray .castlename$, "Kriemhild", "Swanhild", "Fadhgridh", "Skoegul", "Gondul", "Bright Arbor", "Scarlet Palace"; setarray .map_castle$, "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "payg_cas01", "payg_cas02"; for ( set .@i, 0; .@i < 7; set .@i, .@i +1 ) set .menu$, .menu$ + .castlename$[.@i] +":"; }
  15. Capuche

    Stalker NPC

    prontera,155,180,5 script dksfsdfkb 100,{ mes "select which skill you want to be copy, your existing one will be overwrite"; next; set .@menu, select(.menu$) -1; if ( getskilllv(.skill$[.@menu * 3 +1]) ) { mes "you already copied that skill"; close; } mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?"; mes "you'll need to relogin again"; next; if ( select ( "Yes", "No" ) == 2 ) close; .@text$ = atoi( .skill$[.@menu * 3 +2] ) > 1 ? "-" + .skill$[.@menu * 3 +2] : "" ; mes "choose a level (1" + .@text$ + ")"; if ( input( .@input, 1, ( atoi( .skill$[.@menu * 3 +2] ) > 1 ? atoi( .skill$[.@menu * 3 +2] ) : 1 )) != 0 ) { mes "wrong level"; close; } set CLONE_SKILL, atoi( .skill$[.@menu * 3 +1] ); set CLONE_SKILL_LV, .@input; atcommand "@kick "+ strcharinfo(0); end; OnInit: setarray .skill$, // "< Remove >", 0, 0, "Fire Bolt", 19, 10, "Cold Bolt", 14, 10, "Lightning Bolt", 20, 10; set .@skillsize, getarraysize(.skill$); for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 ) set .menu$, .menu$ + .skill$[.@i] +":"; end; }
  16. you could use sc_xmas like in the santa's bag 12132,Red_Bag,Santa's Bag,2,0,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_Xmas,600000,0; },{},{}
  17. nothing happen when the ladder is empty indeed I made a mistake. For eathena it should be a close instead of end query_sql "update guild set woe_points = 0"; end; this script use the variable of euphy's woe controller..
  18. prontera,155,181,5 script Woe Points 100,{ if ( getgmlevel() > 80 ) { if ( select( "Rank", "Reset" ) == 2 ) { query_sql "update guild set woe_points = 0"; end; } } set .@nb, query_sql( "select name, woe_points from guild order by woe_points desc limit 10", .@guild_name$, .@points ); for ( set .@i, 0; .@i < .@nb; set .@i, .@i +1 ) { if ( !.@points[.@i] ) break; mes ( .@i +1 )+". "+ .@guild_name$[.@i] +" -> "+ .@points[.@i]; } close; OnClock1930: OnClock2000: OnClock2030: OnClock2100: for ( set .@i, 0; .@i < 30; set .@i, .@i +1 ) { set .@castle_guild_id, getcastledata( getvariableofnpc( .Castles$[.@i], "WOE_CONTROL" ), 1 ); if ( getvariableofnpc( .Active[0], "WOE_CONTROL" ) & 1 << .@i && .@castle_guild_id ) query_sql "update guild set woe_points = woe_points +1 where guild_id = "+ .@castle_guild_id; } end; }
  19. you don't get it.. for example a mvp like thanatos (or ktu, Naght Sieger...) summoned by quest won't drop a tgc card because it will call it own event when dying.. but the others mvp will give the card.. did the other mvp give the card for you?
  20. you don't have preg_match script command then try .@exclude$ = "prtg_cas01 | prtg_cas02 | payg_cas04 | payg_cas05" ;// etc.. if ( compare( .@exclude$,strcharinfo(3) ) == 0 ) query_sql "update guild set woe_points = woe_points +1 where guild_id = "+ getcharid(2);
  21. The mvp with theirs owns event don't trigger onnpckillevent abbey02,236,78,21,18 boss_monster Fallen Bishop 1871,1,7200000,600000,1 will trigger onnpckillevent and give a tgc abbey02,236,78,21,18 boss_monster Fallen Bishop 1871,1,7200000,600000,"npcbiddon:OnEvent" won't give a tgc .. maybe because of that?
  22. replace for( .@i = 0; .@i < .item_size; .@i++ ){ by for( .@i = 0; .@i < .map_size; .@i++ ){
  23. - script Sample -1,{ OnPCLoadMapEvent: .@map$ = strcharinfo(3); if ( .@map$ == "guild_vs1" || .@map$ == "guild_vs2" || .@map$ == "guild_vs3" ) { query_sql "SELECT `guild_lv` FROM `guild` WHERE `guild_id` = '" +getcharid(2)+ "'",.@c; if ( .@c > 30 ) { message strcharinfo(0),"Your guild members are over the limit"; sleep2 2000; warp "prontera",150,150; } } end; } guild_vs1 mapflag loadevent guild_vs2 mapflag loadevent guild_vs3 mapflag loadevent
×
×
  • Create New...