Jump to content

skymia

Members
  • Posts

    298
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by skymia

  1. On 9/12/2013 at 1:24 PM, Emistry said:

    @Mary Magdalene

    the link is even provided inside the script of annieruru

    http://www.eathena.ws/board/index.php?showtopic=177918

     

    
    create table pvpladder (
    char_id int(11) not null default '0' primary key,
    name varchar(30) not null default '',
    streaks smallint(6) unsigned not null default '0',
    kills smallint(6) unsigned not null default '0',
    deaths smallint(6) unsigned not null default '0',
    streaktime datetime
    ) engine = myisam;
    
    create table ownladder (
    guild_id int(11) not null default '0' primary key,
    name varchar(24) not null default '',
    currentown smallint(6) unsigned not null default '0',
    highestown smallint(6) unsigned not null default '0',
    owntime datetime
    ) engine = myisam;

    How to fix this sir?

    Error

    Static analysis:

    3 errors were found during analysis.

     

    1. A symbol name was expected! (near "name" at position 77)
    2. Unexpected beginning of statement. (near "30" at position 90)
    3. Unrecognized statement type. (near "not null" at position 94)

     

    SQL query:

    create table pvpladder ( char_id int(11) not null default '0' primary key, name varchar(30) not null default '', streaks smallint(6) unsigned not null default '0', kills smallint(6) unsigned not null default '0', deaths smallint(6) unsigned not null default '0', streaktime datetime ) engine = myisam

    MySQL said: Documentation

    #1046 - No database selected

  2. How to put npclog in this script?

    to avoid abuse of this item rewarder

    //======Name========================================
    // Event Reward Giver
    //======Version=====================================
    // 0.9 (Untested)
    // Authors: UnoDelta, Sandbox
    //======Comments====================================
    // In loving memory of AstralRO
    //==================================================
    
    
    sec_in01,177,179,4	script	Event Reward	563,{
    
    set .npcname$,"[ Event Reward ]";
    if (getgroupid() < 4){end;}
    
    mes .npcname$;
    mes "Hello "+strcharinfo(0)+", How can I help you?";
    menu "-Give Reward",N_Name,"-Nothing",-;
    next;
    mes .npcname$;
    mes "Alright! See you soon.";
    close;
    
    N_Name:
    next;
    mes .npcname$;
    mes "Please tell me the name of the player:";
    input .@Rew_Name$;
    next;
    query_sql "SELECT `online` FROM `char` WHERE `name`='"+.@Rew_Name$+"'",.@charstatus; //STATUS CHECK (ONLINE/OFFLINE)
    if (.@charstatus == 0) {
    mes .npcname$;
    mes "Char Name: "+.@Rew_Name$+".";
    mes "Char Status: ^FF0000OFFLINE^000000";
    mes "";
    mes "You cannot proceed.";
    menu "-Try Again",N_Name,"-Cancel",-;
    next;
    mes .npcname$;
    mes "Your action was canceled.";
    set .@loop,0;
    close;}
    
    if (.@charstatus == 1) {
    mes .npcname$;
    mes "Char Name: "+.@Rew_Name$+".";
    mes "Char Status: ^009F00ONLINE^000000";
    mes "";
    mes "You may proceed.";
    if (.@loop == 1) {goto N_End;}
    goto N_Item;}
    
    N_Item:
    next;
    mes .npcname$;
    mes "Please input the item ID to be given:";
    mes "^FF0000*Note that only item ID's will be accepted.^000000";
    input .@Rew_Item;
    if (.@Rew_Item <= 500) {goto N_Item;}
    set .@itemname$,getitemname(.@Rew_Item);
    if (.@loop == 1) {goto N_End;}
    goto N_Amt;
    
    N_Amt:
    next;
    mes .npcname$;
    mes "Please input the amount of the reward.";
    input .@Rew_Amt;
    if (.@Rew_Amt == 0) {goto N_Amt;}
    goto N_End;
    
    N_End:
    next;
    query_sql "SELECT `online` FROM `char` WHERE `name`='"+.@Rew_Name$+"'",.@charstatus; //STATUS CHECK (ONLINE/OFFLINE)
    if (.@charstatus == 0) {
    mes .npcname$;
    mes "Char Name: "+.@Rew_Name$+".";
    mes "Char Status: ^FF0000OFFLINE^000000";
    mes "Item Name: "+.@itemname$+".";
    mes "Item Amount: "+.@Rew_Amt+".";
    mes "";
    mes "You cannot proceed. Character is Offline.";
    menu "-Try Again",N_Name,"-Cancel",-;
    next;
    mes .npcname$;
    mes "Your action was canceled.";
    set .@loop,0;
    close;}
    
    if (.@charstatus == 1) {
    mes .npcname$;
    mes "Char Name: "+.@Rew_Name$+".";
    mes "Char Status: ^009F00ONLINE^000000";
    mes "Item Name: "+.@itemname$+".";
    mes "Item Amount: "+.@Rew_Amt+".";
    mes "";
    mes "You may proceed. Confirm Reward?";
    set .@loop,1;
    menu "-Confirm",R_Proc,"-Change Name",N_Name,"-Change Item",N_Item,"-Change Amount",N_Amt,"-Cancel",-;
    next;
    mes .npcname$;
    mes "Your action was cancelled.";
    set .@loop,0;
    close;}
    
    R_Proc:
    next;
    set .@Rew_GM$,strcharinfo(0);
    set .@Rew_Time$,gettimestr("%Y-%m/%d %H:%M:%S",21);
    query_sql "INSERT INTO `evt_prize` VALUES('"+.@Rew_Time$+"','"+.@Rew_Name$+"','"+.@Rew_Item+"','"+.@Rew_Amt+"','"+.@Rew_GM$+"')";
    getitem .@Rew_Item, .@Rew_Amt,getcharid(3, .@Rew_Name$);
    announce "[Event GM] "+strcharinfo(0)+" has rewarded "+.@Rew_Amt+" "+.@itemname$+" to "+.@Rew_Name$+".",bc_all,0xFF8080;
    mes .npcname$;
    mes "You have given your reward.";
    set .@loop,0;
    close;
    }
    

     

  3. On 3/28/2017 at 7:54 PM, babbs said:
    Description:
     
    A collection of events I made 6 years ago (2011) on my server. I was using eAthena server files when I made these scripts. I'm not sure if it's compatible with rAthena's server files. Some servers are still using some of these scripts and I think they're using new emulators like rAthena or Hercules.
     
    I just want to share these scripts to everyone.
     
    I don't know anything about programming when I made these scripts so the code is quite ugly. I did not even use functions lol.
     
    Players on my server really enjoyed Stop the Clock and Guess the Word event.
     
    I can't answer any questions regarding these scripts. I can't even remember the codes I've written here.
     
    Download:
     
    Events:
    • Stop the Clock event
    • Guess the Word event
    • Run for your Life event
    • Monster Hunt event

    - The last boss in Monster Hunt is a custom mob. Change it into whatever you want to avoid errors.

    • True or False event
    • Lucky Box Event
    • Poring Punch event
    • Poring Catcher event
    • Racing event
    • MVP event
    • Last Man Standing event (pvp)
    • Free for All event (pvp)
    • Soccer Ball event
    • Treasure Box event
    NPC:
    • Prize Giver npc

    - Download the sql script in the link above. Load and execute it on your database (phpMyAdmin / MySQL Workbench). It will create a table used by the Prize Giver npc. It won't work without this table.

    • Event Manager npc
    • Event Warper npc
    • Time Play npc
    • Bubble Gum npc (copied the bubble gum quest in VanRO)
    Note:
    • The prize of some events, especially the automated events, is a custom item. Change it into whatever you want to avoid errors.

    Sir i have a problem with race event...

    every time i start the event the error appear this

    image.png.005588eb410fd44e2465856326b6c1e1.png

    • Upvote 1
  4. Can anyone help me input the mob id in the quest mission so that players can easily search where the monster is?

    //===== rAthena Script =======================================
    //= Hunting Missions
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.4
    //===== Compatible With: ===================================== 
    //= rAthena Project
    //===== Description: =========================================
    //= Random hunting missions.
    //= Rewards are based on quest difficulty.
    //= 
    //= NOTE: Requires SQL mob database.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.1 Small improvements and fixes.
    //= 1.2 Added party support and replaced blacklists with an
    //=     SQL query, both thanks to AnnieRuru.
    //= 1.3 Re-added a blacklist adapted for the SQL query.
    //= 1.3a Added mission reset options.
    //= 1.3b Function updates.
    //= 1.4 Check for deleted characters, thanks to AnnieRuru.
    //=     Syntax updates and style cleaning.
    //============================================================
    
    prontera,152,187,6	script	Hunting Missions	951,{
    function Chk;
    	mes "[Hunting Missions]";
    	mes "Hello, " + strcharinfo(0) + "!";
    	if (!#Mission_Delay) {
    		next;
    		mes "[Hunting Missions]";
    		mes "I can't find any records...";
    		mes "You must be new here!";
    		emotion e_omg;
    		next;
    		callsub Mission_Info;
    		emotion e_go;
    		#Mission_Delay = 1;
    		close;
    	}
    	mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope...";
    	mes "Is there anything I can help";
    	mes "you with?";
    	mes " ";
    	mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000";
    	next;
    	switch(select(
    		((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") +
    		": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000"
    	)) {
    	case 1:
    		mes "[Hunting Missions]";
    		if (#Mission_Count) {
    			mes "You've started a mission";
    			mes "on another character.";
    			if (!@hm_char_del_check) {  // check for deleted character
    				query_sql("SELECT 1 FROM `char_reg_num` WHERE `key` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i);
    				if (!.@i) {
    					next;
    					mes "[Hunting Missions]";
    					mes "I can't seem to find any records";
    					mes "for that character, though...";
    					mes "One moment, please.";
    					emotion e_hmm;
    					#Mission_Count = 0;
    				}
    				@hm_char_del_check = 1;
    			}
    			close;
    		}
    		if (#Mission_Delay > gettimetick(2) && .Delay) {
    			mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission.";
    			close;
    		}
    		mes "You must hunt:";
    		query_sql("SELECT ID FROM `" + .mob_db$ + "` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT " + .Quests, .@mob);
    		for (.@i = 0; .@i < .Quests; .@i++) {
    			setd "Mission" + .@i, .@mob[.@i];
    			setd "Mission" + .@i +"_", 0;
    		}
    		#Mission_Count = rand(.Count[0], .Count[1]);
    		callsub Mission_Status;
    		next;
    		mes "[Hunting Missions]";
    		mes "Report back when";
    		mes "you've finished.";
    		mes "Good luck!";
    		close;
    	case 2:
    		mes "[Hunting Missions]";
    		mes "Mission status:";
    		callsub Mission_Status;
    		close;
    	case 3:
    		mes "[Hunting Missions]";
    		mes "Do you really want to";
    		mes "abandon your mission?";
    		if (.Reset < 0 && .Delay)
    			mes "Your delay time will not be reset.";
    		else if (.Reset > 0)
    			mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny.";
    		next;
    		switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) {
    		case 1:
    			if (.Reset > 0) {
    				if (Zeny < .Reset) {
    					mes "[Hunting Missions]";
    					mes "You don't have enough";
    					mes "Zeny to drop this mission.";
    					emotion e_sry;
    					close;
    				}
    				Zeny -= .Reset;
    				emotion e_cash;
    			}
    			mes "[Hunting Missions]";
    			mes "Alright, I've dropped";
    			mes "your current mission.";
    			specialeffect2 EF_STORMKICK4;
    			for (.@i = 0; .@i < .Quests; .@i++) {
    				setd "Mission"+.@i, 0;
    				setd "Mission"+.@i+"_", 0;
    			}
    			#Mission_Count = 0;
    			if (.Reset < 0 && .Delay)
    				#Mission_Delay = gettimetick(2) + (.Delay * 3600);
    			close;
    		case 2:
    			mes "[Hunting Missions]";
    			mes "I knew you were kidding!";
    			mes "Keep up the good work.";
    			emotion e_heh;
    			close;
    		}
    	case 4:
    		callsub Mission_Info;
    		close;
    	case 5:
    		mes "[Hunting Missions]";
    		mes "You have ^0055FF" + #Mission_Points + "^000000 Mission Points.";
    		mes "Use them well!";
    		callshop "mission_shop",1;
    		npcshopattach "mission_shop";
    		end;
    	case 6:
    		mes "[Hunting Missions]";
    		mes "The top hunters are:";
    		query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num` WHERE `key` = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val);
    		for (.@i = 0; .@i < 5; .@i++)
    			mes "  [Rank " + (.@i+1) + "]  " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000";
    		close;
    	case 7:
    		mes "[Hunting Missions]";
    		mes "Nothing? Okay...";
    		emotion e_hmm;
    		close;
    	}
    	end;
    
    Mission_Status:
    	@f = 0;
    	deletearray .@j[0], getarraysize(.@j);
    	for (.@i = 0; .@i < .Quests; .@i++) {
    		.@j[.@i] = getd("Mission" + .@i);
    		.@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]);
    		.@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]);
    		.@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]);
    		mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count) + strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")^000000";
    	}
    
    	// Reward formulas:
    	.@Mission_Points = 3 + (.@j[.Quests] / .Quests / 6);
    	.@Base_Exp = #Mission_Count * .@j[.Quests+1] / 5;
    	.@Job_Exp = #Mission_Count * .@j[.Quests+2] / 5;
    	.@Zeny = #Mission_Count * .Quests * .@j[.@i] * .Modifier[2];
    
    	next;
    	mes "[Hunting Missions]";
    	mes "Mission rewards:";
    	mes " > Mission Points: ^0055FF" + .@Mission_Points + "^000000";
    	mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000";
    	mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000";
    	mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000";
    	if (@f) {
    		@f = 0;
    		return;
    	}
    	next;
    	mes "[Hunting Missions]";
    	mes "Oh, you're done!";
    	mes "Good work.";
    	mes "Here's your reward.";
    	emotion e_no1;
    	specialeffect2 EF_ANGEL;
    	specialeffect2 EF_TRUESIGHT;
    	#Mission_Points += .@Mission_Points;
    	BaseExp += .@Base_Exp;
    	JobExp += .@Job_Exp;
    	Zeny += .@Zeny;
    	for (.@i = 0; .@i < .Quests; .@i++) {
    		setd "Mission" + .@i, 0;
    		setd "Mission" + .@i+"_", 0;
    	}
    	#Mission_Count = 0;
    	if (.Delay)
    		#Mission_Delay = gettimetick(2) + (.Delay * 3600);
    	Mission_Total++;
    	if (Mission_Total == 1)
    		query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES (" + getcharid(0) + ",'Mission_Total','0',1)");
    	else
    		query_sql("UPDATE `char_reg_num` SET `value` = " + Mission_Total + " WHERE `char_id` = " + getcharid(0) + " AND `key` = 'Mission_Total'");
    	close;
    
    Mission_Info:
    	mes "[Hunting Missions]";
    	mes "If you so choose, I can assign";
    	mes "you a random hunting quest.";
    	mes "Some are easier than others, but";
    	mes "the rewards increase with difficulty.";
    	next;
    	mes "[Hunting Missions]";
    	mes "Missions points are shared";
    	mes "amongst all your characters.";
    	if (.Delay)
    		mes "Delay time is, too.";
    	mes "You can't take missions on";
    	mes "multiple characters at once.";
    	next;
    	mes "[Hunting Missions]";
    	mes "You can start a quest";
    	mes (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "whenever you want.");
    	mes "That's everything~";
    	return;
    
    function Chk {
    	if (getarg(0) < getarg(1)) {
    		@f = 1;
    		return "^FF0000";
    	} else
    		return "^00FF00";
    }
    
    OnBuyItem:
    	@cost = 0;
    	for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++)
    		for (.@j = 0; .@j < getarraysize(.Shop); .@j += 2)
    			if (@bought_nameid[.@i] == .Shop[.@j]) {
    				set @cost, @cost + (.Shop[.@j+1] * @bought_quantity[.@i]);
    				break;
    			}
    	mes "[Hunting Missions]";
    	if (@cost > #Mission_Points)
    		mes "You don't have enough Mission Points.";
    	else {
    		for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) {
    			getitem @bought_nameid[.@i], @bought_quantity[.@i];
    			dispbottom "Purchased " + @bought_quantity[.@i] + "x " + getitemname(@bought_nameid[.@i]) + ".";
    		}
    		#Mission_Points -= @cost;
    		mes "Deal completed.";
    		emotion e_cash;
    	}
    	@cost = 0;
    	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
    	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
    	close;
    
    OnNPCKillEvent:
    	if (!getcharid(1) || !.Party) {
    		if (!#Mission_Count || !Mission0) end;
    		for (.@i = 0; .@i < .Quests; .@i++) {
    			if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission" + .@i))) {
    				if (getd("Mission" + .@i + "_") < #Mission_Count) {
    					dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@i + "_"),getd("Mission" + .@i + "_") + 1)) +
    					           " of " + #Mission_Count + " " + strmobinfo(1,killedrid) + ".";
    					end;
    				}
    			}
    		}
    	} else if (.Party) {
    		.@mob = killedrid;
    		getmapxy(.@map1$,.@x1,.@y1,UNITTYPE_PC);
    		getpartymember getcharid(1),1;
    		getpartymember getcharid(1),2;
    		for (.@i = 0; .@i < $@partymembercount; .@i++) {
    			if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
    				set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]);
    				set .@Mission0, getvar(Mission0, $@partymembercid[.@i]);
    				set .@HP, readparam(HP, $@partymembercid[.@i]);
    
    				if (.@Mission_Count && .@Mission0 && .@HP > 0) {
    					getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC);
    					if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) {
    						for (.@j = 0; .@j < .Quests; .@j++) {
    							.@my_mob_id = getvar( getd("Mission"+.@j),$@partymembercid[.@i] );
    							.@my_count = getvar( getd("Mission"+.@j+"_"), $@partymembercid[.@i] );
    							if (strmobinfo(1,.@mob) == strmobinfo(1,.@my_mob_id)) {
    								if (.@my_count < .@Mission_Count) {
    									setd "Mission"+.@j+"_", (.@my_count+1), $@partymembercid[.@i];
    									dispbottom "[Hunting Mission] Killed " + (.@my_count+1) + " of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + ".", 0x777777, $@partymembercid[.@i];
    									break;
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    	}
    	end;
    
    OnInit:
    	.Delay = 12;            // Quest delay, in hours (0 to disable).
    	.Quests = 4;            // Number of subquests per mission (increases rewards).
    	.Party = 3;             // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only)
    	.Reset = -1;            // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time)
    	setarray .Count[0],     // Min and max monsters per subquest (increases rewards).
    		40,70;
    	setarray .Modifier[0],  // Multipliers for Base Exp, Job Exp, and Zeny rewards.
    		getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60;
    	.mob_db$ =              // Table name of SQL mob database
    		(checkre(0))?"mob_db_re":"mob_db";
    	setarray .Shop[0],      // Reward items: <ID>,<point cost> (about 10~20 points per hunt).
    		512,1,513,1,514,1,538,5,539,5,558,10,561,10;
    	.Blacklist$ =           // Blacklisted mob IDs.
    		"1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+
    		"1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+
    		"1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+
    		"1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+
    		"1975,1976,1977,1978,1979";
    
    	npcshopdelitem "mission_shop",512;
    	for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2)
    		npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1];
    	end;
    }
    -	shop	mission_shop	-1,512:-1

     

  5. Can anyone can fix this script?

    its not working well..

    the event summon a npc to warp in event location but the event wont trigger to start

    please some one help me thanks

    -	script	Race npc#disable	-1,{
    
    OnInit:
    disablenpc "Race Event";
    end;
    }
    
    
    sec_in01,161,176,5	script	Race Event	899,{
    if(getgmlevel() < 60 ) end;
    mes "Hello there GM " + strcharinfo(0) + " !";
    next;
    set .menu$, select(.gm_menu$);
    switch( select ("Open Race Event:No Thanks")) {
    		case 1: // Race Event
    				next;
    				mes "I will now create warps, announce, & warp you.";
    				close2;
    				warp "turbo_n_1",58,365;
    				Announce "There will be a 'Race' Event Held!",bc_all;
    				sleep2 2500;
    				enablenpc "Race event";
    				sleep2 2500;
    				Announce "If you want to join, the warp will be open in Prontera. It will be open for 2 minute!",bc_all;
    				sleep2 30000;
    				Announce "You have only 1 minute left to join the event!",bc_all;
    				sleep2 1000;
    				initnpctimer;
    				goto L_Timer;
    				end;
    				close;
    
    		case 2:
    				mes "[Race Event]";
    				mes "Come back if you change your mind, See Yah!";
    				close;
    		}
    L_Timer:
    	OnTimer00000:
    		Announce "Timer has started!",bc_all;
    		end;
    		
    	OnTimer30000:
    		Announce "Thirty Seconds Have Passed By!",bc_all;
    		sleep2 5000;
    		Announce "Hurry to Prontera if you want to join!",bc_all;
    		end;
    							
    	OnTimer40000:
    		Announce "Twenty seconds left!",bc_all;
    		end;
    							
    	OnTimer50000:
    		Announce "Ten seconds left!",bc_all;
    		end;
    							
    	OnTimer55000:
    		Announce "5!",bc_all;
    		sleep2 1000;
    		Announce "4!",bc_all;
    		sleep2 1000;
    		Announce "3!",bc_all;
    		sleep2 1000;
    		Announce "2!",bc_all;
    		sleep2 1000;
    		Announce "1!",bc_all;
    		sleep2 1000;
    		Announce "The warp is now closed!",bc_all;
    		sleep2 1000;
    		disablenpc "Race Event";
    		stopnpctimer;
    		end;
    		
    OnInit:
    	setarray .gmevents$,"Race?";
    	for ( set .@i, 0; .@i < getarraysize(.gmevents$); set .@i, .@i +1 )
    	set .gm_menu$, .gm_menu$ + (.gmevents$[.@i]) +":";
    	disablenpc "Race event";
    	end;
    }
    
    -	script	Master0#tt_main	-1,{	
    function	RName;
    OnEnable:
    	set .@w$,callfunc("F_tt");
    	enablenpc "Master0#"+.@w$;
    	initnpctimer;
    	end;
    
    OnDisable:
    	set .@w$,callfunc("F_tt");
    	stopnpctimer;
    	disablenpc "Master0#"+.@w$;
    	end;
    
    OnTimer7000:
    	mapannounce strnpcinfo(4),"Welcome to the Turbo Track.",bc_map,"0x33FF66";
    	end;
    
    OnTimer9000:
    	mapannounce strnpcinfo(4),"The game will be hosted for 15 minutes and at least one person must complete the entire course.",bc_map,"0x33FF66";
    	end;
    
    OnTimer11000:
    	mapannounce strnpcinfo(4),"We hope you will do your best.",bc_map,"0x33FF66";
    	end;
    
    OnTimer13000:
    	mapannounce strnpcinfo(4),"The game will begin after a 5 second countdown. Everyone, please take your positions behind the Starting Line.",bc_map,"0x33FF66";
    	end;
    
    OnTimer15000:
    	mapannounce strnpcinfo(4),"The countdown will commence shortly.",bc_map,"0x33FF66";
    	end;
    
    OnTimer17000:
    	mapannounce strnpcinfo(4),"- 5 -",bc_map,"0x33FF66";
    	end;
    
    OnTimer18000:
    	mapannounce strnpcinfo(4),"- 4 -",bc_map,"0x33FF66";
    	end;
    
    OnTimer19000:
    	mapannounce strnpcinfo(4),"- 3 -",bc_map,"0x33FF66";
    	end;
    
    OnTimer20000:
    	mapannounce strnpcinfo(4),"- 2 -",bc_map,"0x33FF66";
    	end;
    
    OnTimer21000:
    	mapannounce strnpcinfo(4),"- 1 -",bc_map,"0x33FF66";
    	end;
    
    OnTimer22000:
    	mapannounce strnpcinfo(4),"- 0 -",bc_map,"0x33FF66";
    	end;
    
    OnTimer23000:
    	set .@w$,callfunc("F_tt");
    	mapannounce strnpcinfo(4),"Now! The race has begun! Go Go Go!!",bc_map,"0x33FF66";
    	disablenpc "No_Unfair_Start#"+.@w$+"-1";
    	disablenpc "No_Unfair_Start#"+.@w$+"-2";
    	if (strnpcinfo(4) == "turbo_n_1") set $@start_time,gettimetick(0);
    	end;
    
    OnTimer30000:
    	mapannounce strnpcinfo(4),"Remember that this is a 15 minute race. After 15 minutes, everyone will be transported out of the race track.",bc_map,"0x33FF66";
    	end;
    
    OnTimer83000:
    	mapannounce strnpcinfo(4),"You have 14 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer143000:
    	mapannounce strnpcinfo(4),"You have 13 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer203000:
    	mapannounce strnpcinfo(4),"You have 12 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer263000:
    	mapannounce strnpcinfo(4),"You have 11 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer323000:
    	mapannounce strnpcinfo(4),"You have 10 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer383000:
    	mapannounce strnpcinfo(4),"You have 9 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer443000:
    	mapannounce strnpcinfo(4),"You have 8 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer503000:
    	mapannounce strnpcinfo(4),"You have 7 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer563000:
    	mapannounce strnpcinfo(4),"You have 6 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer623000:
    	mapannounce strnpcinfo(4),"You have 5 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer683000:
    	mapannounce strnpcinfo(4),"You have 4 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer743000:
    	mapannounce strnpcinfo(4),"You have 3 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer803000:
    	mapannounce strnpcinfo(4),"You have 2 minutes left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer863000:
    	mapannounce strnpcinfo(4),"You have 1 minute left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer893000:
    	mapannounce strnpcinfo(4),"You have 30 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer903000:
    	mapannounce strnpcinfo(4),"You have 20 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer913000:
    	mapannounce strnpcinfo(4),"You have 10 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer918000:
    	mapannounce strnpcinfo(4),"You have 5 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer919000:
    	mapannounce strnpcinfo(4),"You have 4 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer920000:
    	mapannounce strnpcinfo(4),"You have 3 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer921000:
    	mapannounce strnpcinfo(4),"You have 2 seconds left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer922000:
    	mapannounce strnpcinfo(4),"You have 1 second left.",bc_map,"0x33FF66";
    	end;
    
    OnTimer923000:
    	mapannounce strnpcinfo(4),"Time's up!",bc_map,"0x33FF66";
    	end;
    
    OnTimer925000:
    	mapannounce strnpcinfo(4),"The race is over.",bc_map,"0x33FF66";
    	end;
    
    OnTimer927000:
    	set .@w$,callfunc("F_tt");
    	mapannounce strnpcinfo(4),"[Everyone will be transported to a Waiting Room.]",bc_map,"0x33FF66";
    	mapwarp strnpcinfo(4),"turbo_room",71,89;
    	disablenpc "Broadcast#"+.@w$;
    	donpcevent "Master0#"+.@w$+"::OnDisable";
    	if (strnpcinfo(4) == "turbo_n_1") {
    		donpcevent "Solo Mode#n1::OnEnable";
    	} else {
    		donpcevent RName(.@w$)+"::OnEnable";
    	}
    	enablenpc "No_Unfair_Start#"+.@w$+"-1";
    	enablenpc "No_Unfair_Start#"+.@w$+"-2";
    	donpcevent "snake#"+.@w$+"::OnReset";
    	donpcevent "hunting#"+.@w$+"::OnReset";
    	disablenpc "bing2#"+.@w$;
    	disablenpc "Winner Helper#TBT_"+.@w$;
    	enablenpc "#cos_"+.@w$+"_end";
    	enablenpc "Notice_Maker1#TBT_"+.@w$;
    	enablenpc "Notice_Maker3#TBT_"+.@w$;
    	enablenpc "Notice_Maker4#TBT_"+.@w$;
    	enablenpc "Disposable_Switch#"+.@w$;
    	disablenpc "Flasher_Exit_1#"+.@w$;
    	disablenpc "Flasher_Exit_2#"+.@w$;
    	end;
    	
    OnInit:
    	set .@w$,callfunc("F_tt");
    	disablenpc "Master0#"+.@w$;
    	end;
    	
    	function	RName	{
    		.@string$ = getarg(0);
    		.@s = ( getstrlen(.@string$) > 2 ? substr(.@string$,1,2) : charat(.@string$,getstrlen(.@string$)-1) );
    		set .@rn$,((compare(strnpcinfo(4),"_e_"+.@s))?"Expert mode":"Normal mode")+" - "+.@s+" person";
    		return .@rn$;
    	}
    }
    
    prontera,155,171,5	script	Race event	811,{
    
    	mes "[ Race Event ]";
    	mes "Hello, I'm the Race Event Manager. My record says that the defending champion on this event was "+$PPEDefendingChampion$+". Anyways, what do you want to do?";
    	mes " ";
    	mes "Scripted by: ^777777TestRO^000000";
    	next;
    	menu "Join Event Now",PPE_Join,"Nevermind",PPE_nvm;
    
    PPE_Join:{
    			if (gethominfo(2) != "null"){
    				mes "No homunculus is allowed in this event! Sorry "+strcharinfo(0)+" but you can't join this event!";
    				close;
    			}
    			if (getpetinfo(2) != "null"){
    				mes "No pet is allowed in this event! Sorry "+strcharinfo(0)+" but you can't join this event!";
    				close;
    			}
    			if (checkcart()){
    				mes "[ Race Event ]";
    				mes "No cart is allowed! Sorry "+strcharinfo(0)+" but you can't join this event!";
    				close;
    			}
    			if (checkfalcon()){
    				mes "No falcon is allowed! Sorry "+strcharinfo(0)+" but you can't join this event!";
    				close;
    			}
    			if (checkriding()){
    				mes "No riding is allowed! Sorry "+strcharinfo(0)+" but you can't join this event!";
    				close;
    			}
    			mes "[ Race Event ]";
    			mes "Good luck "+strcharinfo(0)+".";
    			mes " ";
    			mes "Scripted by: ^777777TestRO^000000";
    			close2;
    			warp "turbo_n_1",58,365;
    
    			end;
    		}
    
    	PPE_nvm:
    		mes "[ Race Event ]";
    		mes "Okay. Maybe next time.";
    		mes " ";
    		mes "Scripted by: ^777777TestRO^000000";
    		close;
    		
    }

     

  6. 3 hours ago, SpiritD said:

    You have to set up your coordinates and your prizes item ID. Otherwise, this should work well :) 

    
    MAP,X,Y,Z	script	MVP Points#spiritD	SPRITE,{
    	if (#MVPPoint < 1){
    		mes "You don't have any MVP Points.";
    		close;
    	}
    	mes "You have "+#MVPPoint+" MVP Points.";
    	mes "Would you like to purchase items?";
    	switch(select("No thanks:Yes please")){
    	case 1:
    		close;
    	case 2:
    		switch(select("Cancel:1 VIP Ticket (20 pts):Old Card Album (10 pts):50k Zeny (1 pt)")){
    		case 1:
    			close;
    		case 2:
    			if (#MVPPoint >= 20) {
    				#MVPPoint = #MVPPoint - 20;
    				getitem <YOUR_ITEM>,1;  //VIP TICKET
    				end;
    			}
    			else { mes "You don't have enough points"; close; }
    		case 3:
    			if (#MVPPoint >= 10) {
    				#MVPPoint = #MVPPoint - 10;
    				getitem <YOUR_ITEM>,1;  //OLD CARD ALB
    				end;
    			}
    			else { mes "You don't have enough points"; close; }
    		case 4:
    			if (#MVPPoint >= 1) {
    				#MVPPoint = #MVPPoint - 1;
    				Zeny = Zeny + 50000;
    				end;
    			}
    			else { mes "You don't have enough points"; close; }
    		}
    	}
    }
    -	script	MonsterKill	-1,{
    OnNPCKillEvent:
    	if( getmonsterinfo(killedrid, MOB_MVPEXP) ){
    	set #MVPPoint,#MVPPoint+1;
    	dispbottom "Gained 1 MVP Points. Total : "+ #MVPPoint +" MVP Points.";
    	}
    }

     

    thanks sir i would try this later after work :)

  7. Hello Sir,

    any one have a script like this?

    Every time you kill a MVP monster you will have 1 MVP points and if you kill 50 MVP thats 50 MVP pts.

    you can exchange MVP pts into NPC..

    you can exchange for items example:

    1 VIP Tickets= 20 MVP pts

    Custom Old Card Album = 10 MVP pts

    1 Credits(Zeny) = 1 MVP pts

    Hope someone have this script already.. TIA

     

     

×
×
  • Create New...