Jump to content

RodRich

Members
  • Content Count

    38
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by RodRich


  1.  

    -	script	AutoWeather	-1,{
    
    OnInit:
    	setarray .weathermaps$[0],"prontera"; //Add here the maps you want
    	end;
    
    OnMinute13: //Every hour on this minute the weather will change randomly
    OnMinute51: //Every hour on this minute the weather will change randomly
    	.@effect = rand(1,7);
    	for(set .@r,0; .@r<getarraysize(.weathermaps$); .@r++){
    		switch(.@effect){
    			case 1: setmapflag .weathermaps$[.@r],mf_snow;
    			    announce "The snow is falling from the sky!",bc_blue|bc_all;
    			case 2: setmapflag .weathermaps$[.@r],mf_clouds;
    			    announce "The clouds are gathering!",bc_blue|bc_all;
    			case 3: setmapflag .weathermaps$[.@r],mf_clouds2;
    			    announce "The clouds are gathering!",bc_blue|bc_all;
    			case 4: setmapflag .weathermaps$[.@r],mf_fog;
    			    announce "The fog is rising",bc_blue|bc_all;
    			case 5: setmapflag .weathermaps$[.@r],mf_fireworks;
    			    announce "The fireworks are shooting in the sky!",bc_blue|bc_all;
    			case 6: setmapflag .weathermaps$[.@r],mf_sakura;
    			    announce "The sakura is falling",bc_blue|bc_all;
    			case 7: setmapflag .weathermaps$[.@r],mf_leaves;
    			    announce "The leaves are falling down",bc_blue|bc_all;
    		}
    	}
    	end;
    
    }
    
    Soon as the event starts it activates like 4 of those weather types at the same time ^^

    I see... just put an "end" at every cases, above the announce. Like this:

     

    case 1: setmapflag .weathermaps$[.@r],mf_snow;
    			    announce "The snow is falling from the sky!",bc_blue|bc_all;
    end;

  2.  

    [Error]: script error in file '#.txt' line 4 column 2
        parse_line: expect command, missing function name or calling undeclared function
         1: {
         2:
         3: OnInit:
    *    4:         .weathermaps$[0],"Prontera"; //Add here the maps you want
            ~~~~~~~~^
         5:         end;

     

    Lol... I'm sorry...

     

    Just change this line:

    	.weathermaps$[0],"Prontera"; //Add here the maps you want
    

    to:

    	setarray .weathermaps$[0],"Prontera"; //Add here the maps you want
    

  3. @@RodRich haha just simple, i req for auto weather changer. hehe

     

    Take something like prontera.

     

     

    Ok...that's is simple

     

    I didn't test it, try it and tell me if that works

     

     

    -	script	AutoWeather	-1,{
    
    OnInit:
    	.weathermaps$[0],"Prontera"; //Add here the maps you want
    	end;
    
    OnMinute13: //Every hour on this minute the weather will change randomly
    	.@effect = rand(1,7);
    	for(set .@r,0; .@r<getarraysize(.weathermaps$); .@r++){
    		switch(.@effect){
    			case 1: setmapflag .weathermaps$[.@r],mf_snow;
    			case 2: setmapflag .weathermaps$[.@r],mf_clouds;
    			case 3: setmapflag .weathermaps$[.@r],mf_clouds2;
    			case 4: setmapflag .weathermaps$[.@r],mf_fog;
    			case 5: setmapflag .weathermaps$[.@r],mf_fireworks;
    			case 6: setmapflag .weathermaps$[.@r],mf_sakura;
    			case 7: setmapflag .weathermaps$[.@r],mf_leaves;
    		}
    	}
    	end;
    
    }
    

  4. no one is replying hehe

     

    Haha, I had follow this topic when I had not much kwnon about!! =D

     

    Tell me which maps do you want these effects, and do you want it get a weather random every hour?!


  5. Is there someone who can solve this:

    lua_erro.jpg

    lua_erro_2.jpg

     

    I'm getting these errors when I play the hexed.

     

    I've tried to change this lua file many times, or even the spreditinfo path.

     

    I've tried to change the diff options, or even launch a hexed with any diff patch.
     

    I don't know what else could I do. 


    @edit


    Problem solved.

    It was a problem on my jobinheritlist.lub, I've changed that and it worked!!

    ----------------------------------------------------------

    Now i've noted that message command should display a message on top of character, but it is doing the same of a dispbottom!! Is one who knows how to solve that?


  6.  

    Hey guys!!

     

    I'm bringin here, the source modification I wanted:

     

    a guy from the Cronus board made this,

     

    It's will change the default dispbottom to a dispbottom color, with a optional parameter!!

     

    Example:

    dispbottom "Hello everyone!!"; //Displays a message on default color
    dispbottom "I wanted this so bad!",0xFF1493 //Displays a pink message

    Link to patch

     

    I don't know if you can apply dis .patch in your Hercules emulator, I think you should apply this manually!!

     

    **Sorry for my english!!

     

    And thanks AnnieRuru, the SlexFire (who made's this modification) has wrote credits to you!!

    We had this done a while ago, check my signature.

    And yours code is really messy.

     

    First: This code isn't mine.

    Second: I don't know why did think this messy!! (I guess you don't know what is a .dff!!)

    Third: The deference between this code and yours (or even the AnnieRuru's code) is:

    This is a modification from the original "dispbottom", that you'll can use the paramter color as a optional paramter!!

    =/

     

    Hmm...

    another thing:

     

    I had seen your topic first, and I tryied to apply your modification but I got some error in the log and used the fuction!! (that's worked, but there was some errors)

    And I appreciated this one a lot, because you just need to modificate a single file, while your own you have to change many!!

     

    So that's my opinion!! ;)


  7. Hey guys!!

     

    I'm bringin here, the source modification I wanted:

     

    a guy from the Cronus board made this,

     

    It's will change the default dispbottom to a dispbottom color, with a optional parameter!!

     

    Example:

     

    dispbottom "Hello everyone!!"; //Displays a message on default color
    dispbottom "I wanted this so bad!",0xFF1493 //Displays a pink message

    Link to patch

     

    I don't know if you can apply dis .patch in your Hercules emulator, I think you should apply this manually!!

     

    **Sorry for my english!!

     

    And thanks AnnieRuru, the SlexFire (who made's this modification) has wrote credits to you!!


  8. Hey @@AnnieRuru This is awsome!!

     

    I'm using this src modification, and I am very pleased about the result...

     

    but I was thinking is possible to replace the normal "dispbottom" to "dispobottomcolor" ... I guess yes...

     

    but the point is:

     

    I wanna know how I could make the parameter <color> an optional parameter, if I write without a parameter it would auto-fill with a default color!!

     

    is it possible??

     

    (I'm sorry about this question, but I'm not good with source!!)

     

    **Apollogies about my english!!


  9. What variable can be putting to funfe nick the player to destroy the emperium?

     

    Hahahaaaa, rindo por 2 anos: "funfe" kkkkkkkkkkkkkkkkkkkkkkkk

    vc ganhou o trofeu "Joel Santana!!" kkkkkkkkk

    Foi mal, mas é que não aguentei!! rsrs

     

    -----------------------------------------------------------------

    I'm sorry guys, he's my friend, I'm just laughing a lil bit of his english!!

    B.t.w: Mine's isn't good as well, but you don't mind what he tried!! jajajaja


  10.  

     stil same , i think it's that 3ceam  im using dont support it ...

     

     

    I guess the error could have changed in the log!! Could you send another ss

     

    I think I already where is it!!


  11.  

    Did you insert the <tab>'s ???

     

     

    instead of <space bar> you should use <tab> in here:

     

    morocc,155,99,4<tab>script<tab>party_dungeon_warper<tab>96,{

    If, have already, please send a screenshot from the map log

    error.png

    Try this way:

    morocc,155,99,4	script	party_dungeon_warper	96,{	set .@nom$,"["+strnpcinfo(0)+"]";	mes .@nom$;	mes "Hello there, I'm in charge of managing the entrance to "+.dungeon_name$+".";	next;	mes .@nom$;	mes "I can only give access to a party of ^0000ff"+.min_party_size+" players or more^000000.";	mes "Only the ^0000ffparty leader^000000 can ask for the entrance access.";	mes "";	mes "^ff0000It costs "+.amount+" "+getitemname(.item)+" to reserve an access.^000000";	next;	mes .@nom$;	if (.Dungeon) { //someone is in the dungeon		mes "A group of "+.PlayerCount+" players has currently access to the dungeon";		mes .AlivePlayerCount+" of them are still alive";		mes "^0000ff"+.WaitingCount+"^000000 group(s) are waiting for the entrance access.";	}	else mes "No one is currently in the dungeon.";	mes "";	mes "What do you want to do?";	getpartymember getcharid(1),1 ; getpartymember getcharid(1),2;	for ( .@i = 0; .@i < $@partymembercount; .@i++ )		if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) )			.@count_online++;	set .@DungeonReserved,0;	for (.@i = 0 ; .@i < getarraysize(.PartyIDs) ; .@i++)		if (getcharid(1) == .PartyIDs[.@i])			.@DungeonReserved = 1;	switch(select("Enter the dungeon:Reserve access:Leave")) { next ; mes .@nom$; 	case 1:	if (!.@DungeonReserved) { //the dugeon isn't reserved yet		mes "You didn't reserve access yet.";		mes "Please reserve access before entering the dungeon.";		close;	}	else if (.PartyIDs[0] != getcharid(1)) { //dungeon reserved but in the waiting room		mes "You are in the waiting list sir, you cannot enter the dungeon yet.";		mes "Your position in the waiting list : ^0000ff"+callsub(S_Position,getcharid(1))+"^000000.";		mes "You will be informed when you can enter the dungeon.";		close;	}	else if (@dungeon == 0) { //player already died in the dungeon		mes "You already died in the dungeon and so cannot enter it again.";		close;	}	else if (@warped == 1) { //player warped out of the dungeon		mes "You warped out of the dungeon and so cannot enter it again.";		close;	}	set @warped,1;	set .PlayerCount,.@count_online;	.EnteredPlayers++ ; .AlivePlayerCount++;	warp .warpzone$,.warpx,.warpy;	end;		case 2:	if (.@DungeonReserved) { //has already reserved access		mes "You already reserved access to the dungeon.";		mes "Your position in the waiting list : ^0000ff"+callsub (S_Position,getcharid(1))+"^000000.";		if (callsub (S_Position,getcharid(1))) mes "You will be informed when you can enter the dungeon.";		close;	}	else if (.@count_online < .min_party_size) { //not enough players online or not in a party		mes "You need a party of "+.min_party_size+" players online to reserve the dungeon.";		close;	}	else if (getpartyleader(getcharid(1),1) != getcharid(3)) { //not party leader		mes "Only the party leader can reserve access to the dungeon.";		close;	}	else if (getarraysize(.PartyIDs)) { //people already waiting		setarray .PartyIDs[getarraysize(.PartyIDs)] , getcharid(1);		mes "You successfully reserved the entrance.";		mes "Your position in the waiting list : ^0000ff"+callsub (S_Position,getcharid(1))+"^000000.";		mes "You will be informed when you can enter the dungeon.";		close;	}	if (countitem(.item) < .amount) {		mes "You don't have "+.amount+" "+getitemname(.item)+".";		mes "^ff0000It costs "+.amount+" "+getitemname(.item)+" to reserve an access.^000000";		close;	}	delitem .item,.amount;	set .Dungeon,1;	setarray .PartyIDs[0] , getcharid(1);	mes "^ff0000You can now enter the dungeon.^000000";	mes "If none of the party members enter the dungeon before "+.delay+" minutes, the dungeon will be automatically closed.";	initnpctimer ; .TimeDelay = 0;	addrid(2,0,.PartyIDs[0]) ; @dungeon = 1 ; @warped = 0;	end;		case 3:	end;	} OnTimer300000:	set .TimeDelay,1;	if (.AlivePlayerCount == 0) callsub S_NextParty;	end; S_Position:	for (.@i = 0 ; .@i < getarraysize(.PartyIDs) ; .@i++) if (.PartyIDs[.@i] == getarg(0)) .@j = .@i;	return .@j; S_CheckCount:	debugmes "checkcount";	if (.AlivePlayerCount == 0 /*|| (.Delay && .AlivePlayerCount == .EnteredPlayers)*/) callsub S_NextParty;	return; S_NextParty:	addrid(2,0,.PartyIDs[0]);	announce "Everyone is dead, you lost access to the dungeon.";	deletearray .PartyIDs[0],1;	if (.PartyIDs[0]) {		detachrid ; addrid(2,0,.PartyIDs[0]);		announce "Your party can now enter the dungeon.",bc_self;		announce "Please enter it before a "+.delay+" minutes delay, else you will loose access.",bc_self;		initnpctimer;		.TimeDelay = 0;	}	end;	OnPCDieEvent:	getmapxy(.@map$,.@x,.@y,0);	if (.@map$ == .warpzone$) @dungeon = 0 ; .AlivePlayerCount -= 1 ; warp .exitzone$,.exitx,.exity ; callsub S_CheckCount;	end;	OnPCLogoutEvent: //if player logs out in the dungeon, he's counted as dead	getmapxy(.@map$,.@x,.@y,0);	if (.@map$ == .warpzone$) @dungeon = 0 ; .AlivePlayerCount -= 1 ; callsub S_CheckCount;	end; OnPCLoginEvent: //if player logs in in the dungeon, he's warped out of it	getmapxy(.@map$,.@x,.@y,0);	if (.@map$ == .warpzone$) warp .exitzone$,.exitx,.exity;	end;	OnInit://===============================set this up==========================================	set .dungeon_name$,"the Fire dungeon";	set .item,671; //item required (gold coin)	set .amount,1; //amount required	set .min_party_size,1; //minimum amount of players needed to enter the dungeon	set .delay,5; //delay after wich dungeon is closed if all the players in it are dead	set .warpzone$,"mus_arena01" ; set .warpx,62 ; set .warpy,48; //entrance warp coordinates	.exitzone$ = "mus_arena03" ; .exitx = 116 ; .exity = 193; //exit coordinates//=============================end of user setup======================================	mapwarp .warpzone$,.exitzone$,.exitx,.exity;	.Dungeon = .PlayerCount = .AlivePlayerCount = .WaitingCount = 0;	setarray .PartyIDs[0],0;}

  12. Did you insert the <tab>'s ???

     

     

    instead of <space bar> you should use <tab> in here:

     

    morocc,155,99,4<tab>script<tab>party_dungeon_warper<tab>96,{

    If, have already, please send a screenshot from the map log


  13. @@Mumbles I guess you didn't understand...

     

    I've read your full post, but the question is:

     

    I know you made a way to summon a random mvp, but just 1!!

     

    So you can "guess" the mvp's name.

     

    But in my case, I summon many mvp at same time, then when its calls the Label, I can't use a variable with a mvp's name, 'cause it will be always the same name!!

     

    Sorry for my english, but I guess you could understand!!


  14.  

    You're over-thinking your implementation.

     

    On a smaller scale, you could write something like:

    -	script	summon_mvp	-1,{	OnInit:		monster "prt_fild08", 0, 0, "Baphomet", BAPHOMET, 1, strnpcinfo(0) +"::OnKilledBapho";		end;			OnKilledBapho:		announce strcharinfo(0) +" has killed "+ getmonsterinfo(BAPHOMET, MOB_NAME) +"!", bc_all;		end;}

     

    ...but since you've already specified a very particular event (OnKilledBapho) for your Baphomet mob, you don't really need to pull the RID to display the name, nor do you even need to use getmonsterinfo(). Since you told the script to run OnKilledBapho when the event Baphomet is killed, you could just simply write your announcement like this:

    		announce strcharinfo(0) +" has killed Baphomet!", bc_all;

     

    If you were randomizing MVP summons, however, you could do something like this:

    -	script	summon_mvp	-1,{	OnInit:        // Set MVP IDs        setarray .mvp_id[0], BAPHOMET, GOLDEN_BUG, KNIGHT_OF_WINDSTORM, GARM, ORK_HERO;            OnSetID:        // Randomly select MVP to summon        .summon_id = .mvp_id[rand(getarraysize(.mvp_id))];        		// Summon Random MVP		monster "prt_fild08", 0, 0, getmonsterinfo(.summon_id, MOB_NAME), .summon_id, 1, strnpcinfo(0) +"::OnKilledMVP";		end;			OnKilledMVP:		// Announce MVP death		announce strcharinfo(0) +" has killed "+ getmonsterinfo(.summon_id, MOB_NAME) +"!", bc_all;				// Respawn new MVP		donpcevent strnpcinfo(3) +"::OnSetID";		end; }

    I undestand your quote... but this just work if I summon just one monster!!

     

    My script summons many monsters, that's why is hard to do the npc Announce the mob name!! Because is the same label for all of them!!


  15. was testing around, there was a mistake on the script, actually:

     

    if(getmonsterinfo(killedrid,0)==getmonsterinfo(1008,0))

    doesn't work at all, so any monster you'd kill would increase the counter, the real script is like this:

     

    if(killedrid==1002) // and replace the 1002 for any monster ID

    that way, only the monster ID you choose would increase the counter.

    That's true, I hadn't thought this way!! that's better than before. But I don't know why, the other one isn't working. It should work in both ways!!

    The first one checks the monster name's, and the second one checks the monster ID's

    But.. :heh: 

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.