Jump to content

Like it~*

Members
  • Content Count

    175
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Like it~*


  1. On 03/07/2017 at 4:48 AM, Alayne said:

    Well not quite sure everything should work, but try this one:

    https://pastebin.com/QQCi8TLu

    If this doesn't work either, it's probably an issue with the array's size evaluation. I've included a debugmes line, try to uncomment it and paste the map server log output, so we'll know what's happening.

    Hello, sorry for the delay. Thank you very much for your help so far.

    See the errors shown on the map-server.

    Spoiler
    
    [Warning]: Unexpected type for argument 1. Expected variable, got C_STR.
    [Debug]: Data: string value=".@tier1"
    [Debug]: Function: getelementofarray
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Error]: script:getelementofarray: not a variable
    [Debug]: Data: string value=".@tier1"
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Warning]: Unexpected type for argument 1. Expected variable, got C_STR.
    [Debug]: Data: string value=".@tier1"
    [Debug]: Function: getelementofarray
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Error]: script:getelementofarray: not a variable
    [Debug]: Data: string value=".@tier1"
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Warning]: Unexpected type for argument 1. Expected variable, got C_STR.
    [Debug]: Data: string value=".@tier1"
    [Debug]: Function: getelementofarray
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Error]: script:getelementofarray: not a variable
    [Debug]: Data: string value=".@tier1"
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Warning]: Unexpected type for argument 1. Expected variable, got C_STR.
    [Debug]: Data: string value=".@tier1"
    [Debug]: Function: getelementofarray
    [Debug]: Source (NPC): invasion (invisible/not on a map)
    [Error]: script:getelementofarray: not a variable
    [Debug]: Data: string value=".@tier1"
    [Debug]: Source (NPC): invasion (invisible/not on a map)

     

     


  2. On 2017-6-10 at 1:27 AM, meko said:

    this error stems from you putting a space between "monster" and the parentheses; to get a return value you need parentheses right after the command.. your .@mobGID var never gets assigned because of the way you call the monster command (statement vs function)

    I took the space out and even then there are still errors and nothing changes in the appearance of the monster.

    -	script	HALL	FAKE_NPC,{
    	OnInit:
    	query_sql( "select sex, class, hair, hair_color, char_id from `char` where online = 1 order by name asc limit 128", .@sex, .@class, .@hairstyle, .@haircolor, .@haircolor);
    	query_sql( "select clothes_color, name, char_id from `char` where online = 1 order by name asc limit 128", .@cloth, .@name$, .@char_id );
    	//monster <"map name">, <x>, <y>, <"display name">, <mob id>, <amount>[, <"event label">];
    	.@mobGID = monster("prontera", 157, 167, ".@name$", 2266, 1);
    	// prevent from attacking & moving
    	setunitdata(.@mobGID, UDT_MODE, getunitdata(.@mobGID, UDT_MODE) &~ (1 | 128));
    	setunitdata(.@mobGID, UDT_SCOPTION, 1);
    	setunitdata(.@mobGID, UDT_MASTERCID, .@char_id);
    	setunitdata(.@mobGID, UDT_LOOKDIR, 0);
    	//appearance
    	setunitdata(.@mobGID, UDT_SEX, .@sex);   
    	setunitdata(.@mobGID, UDT_CLASS, .@class);    
    	setunitdata(.@mobGID, UDT_HAIRSTYLE, .@hairstyle);
    	setunitdata(.@mobGID, UDT_HAIRCOLOR, .@haircolor);
    	setunitdata(.@mobGID, UDT_HEADTOP, 2235);
    	setunitdata(.@mobGID, UDT_CLOTHCOLOR,.@cloth);
    	end;
    }
    [Debug]: Source (NPC): HALL (invisible/not on a map)
    [Warning]: buildin_setunitdata: Character ID 0 not found for master change!
    [Debug]: Source (NPC): HALL (invisible/not on a map)
    [Error]: status_set_viewdata (MOB): No view data for class 0

    @meko


  3. On 2017-6-7 at 4:49 PM, meko said:

    Try making a template npc and then cloning it with a duplicate() header and in OnInit use setunitdata to change its appearance

    It stayed that way, but it still does not work.

    -	script	HALL	FAKE_NPC,{
    	OnInit:
    	query_sql( "select sex, class, hair, hair_color, char_id from `char` where online = 1 order by name asc limit 128", .@sex, .@class, .@hairstyle, .@haircolor, .@haircolor);
    	query_sql( "select clothes_color, name, char_id from `char` where online = 1 order by name asc limit 128", .@cloth, .@name$, .@char_id );
    	//monster <"map name">, <x>, <y>, <"display name">, <mob id>, <amount>[, <"event label">];
    	.@mobGID = monster ("prontera", 157, 167, ".@name$", 2266, 1);
    	// prevent from attacking & moving
    	setunitdata(.@mobGID, UDT_MODE, getunitdata(.@mobGID, UDT_MODE) &~ (1 | 128));
    	setunitdata(.@mobGID, UDT_SCOPTION, 1);
    	setunitdata(.@mobGID, UDT_MASTERCID, .@char_id);
    	setunitdata(.@mobGID, UDT_LOOKDIR, 0);
    	//appearance
    	setunitdata(.@mobGID, UDT_SEX, .@sex);   
    	setunitdata(.@mobGID, UDT_CLASS, .@class);    
    	setunitdata(.@mobGID, UDT_HAIRSTYLE, .@hairstyle);
    	setunitdata(.@mobGID, UDT_HAIRCOLOR, .@haircolor);
    	setunitdata(.@mobGID, UDT_HEADTOP, 2235);
    	setunitdata(.@mobGID, UDT_CLOTHCOLOR,.@cloth);
    	end;
    }

    Map-server errors:

    [Debug]: Source (NPC): HALL (invisible/not on a map)
    [Warning]: buildin_setunitdata: Invalid data type '(null)' for mob unit.
    [Debug]: Source (NPC): HALL (invisible/not on a map)
    [Error]: status_set_viewdata (MOB): No view data for class 4065
    [Error]: buildin_setunitdata: Invalid value 150005 for argument #3. (min: 0, max: 8)
    [Debug]: Source (NPC): HALL (invisible/not on a map)

     


  4. On 2017-6-4 at 2:55 AM, Dastgir said:

    Updated. please use the updated version.

    I just updated and the error is the same.

    Enter Item Range to start item_name copying: 501
    Enter Item Range to end item_name copying: 29027
    Enter item_db.Conf FileName: item_db.conf
    Enter idnum2itemdisplaynametable.txt/iteminfo.lua/iteminfo.lub FileName: itemInfo.lua
    Output File Name: item_db2.conf
    -----------------------------------------------------------------
    ----------------- itemName to item_db.conf  --------------------
    ------------------- By Dastgir[Hercules] ------------------------
    -----------------------------------------------------------------
    -- Putting      ItemDB   Items into Memory
    lua53.exe: common.lua:397: [string "{..."]:1: unexpected symbol near '{'
    stack traceback:
            [C]: in function 'assert'
            common.lua:397: in function 'get_itemdb'
            conf2db.lua:176: in main chunk
            (luac): in main chunk
            [C]: in ?
    Pressione qualquer tecla para continuar. . .

     


  5. On 2017-6-4 at 2:17 AM, Dastgir said:

    updated the script on repo. it should sort now.

    Error

    lua: eXtract.lua: bad header in precompiled chunk
    Press any key to continue. . .

    @edit

    I tried to change the file extension eXtract.lua to eXtract.lub, then opened the file and changed @eXtract.lua to @eXtract.lub and another message appears.

    lua: can not open eXtract.lua: No such file or directory
    Press any key to continue. . 

    NOTA: I am using Windows 10 64 bit.

     


  6. error and script doesn't seem to be connected though..

     

    [SQL]: DB error - Duplicate entry '1428' for key 'PRIMARY'

     

    Basically what that SQL error means, there is already an entry in the table  atcommandlog with  atcommand_id = 1428

     

     

     

    Perhapss, a good start would be to run this SQL query on your database, to get more information about that record:

    SELECT * FROM atcommandlog WHERE atcommand_id=1428;
    

     

    Other than that, I don't know, maybe review the script.

     

    I don't have time right now, need to do my school homework...

     

    There really is no connection of this error with the script. I'm sorry, I got confused. In fact there are no errors presented in the map-server. I'll update the main post.


  7. Hi. I'm having trouble with this script. It's really cool though, it does not work properly, I just modified the summoned monsters, it's practically the original script of the author. The problems are:
    • When you kill all the monsters, the event does not end.
    • When killing the winning monsters, the item configured(7711) in the NPC is not being received.

    @edit

    No errors presented in the map-server

     

     

     

    /*=========================================================
    Hercules Invasion Prized
    by Mumbles
    ===========================================================
    Description:
    A completely revamped and optimised variation of the widely
    popular "Poring Invasion" event.
    
    Configuration settings are dynamic and easily modifiable.
    Customizable parameters include normal monsters, "prized"
    monsters, each respective monster amounts, monster tiers,
    invasion map,NPC name, and server name.
    
    NPC can be triggered by staff using the command @invasion.
    ===========================================================
    Compatibility:
    Optimised for Hercules emulators.
    ===========================================================
    Changelog:
    v1.0 - First version.
    	v1.0.1 - Removed support for backwards compatibility.
    	v1.0.2 - Optimised announcements.
    =========================================================*/
    
    -	script	invasion	-1,{
    
    	OnInit:
    		// Configuration
    		.npc_name$ = "[^0000FFHercules Invasion^000000]";
    		.server_name$ = "Hercules";	// Server name
    		.map_name$ = "Mapa sofisticado";		// Invasion map name
    		.map$ = "guild_vs2";	// Invasion map
    		.reward = 7711;	// Event Ticket
    		.tiers = 3;		// Amount of tiers //Níveis de monstros, como se fosse andares..
    		.limit = 22;	// Kill limit
    		.delay = 5;		// Announcement delay in seconds
    		.auth = 60;		// GM level to access staff panel
    		
    		// Normal mob IDs
    		setarray .normal[0],	1916,	1918,	1919,	1920,	1921;
    		
    		// Normal mob amounts
    		setarray .n_mobs[0],		1,		3,		3,		3,		3;
    		
    		// Prized mob IDs
    		setarray .prized[0],	1916,	1918,	1919,	1920,	1921;
    					
    		// Prized mob amounts			
    		setarray .p_mobs[0],	   0,	   1,	   1,	   1,	   1;
    		
    		// Define announcements
    		setarray .announce$[0],
    			"Porings of the world seem to have started an uprising because they continue to be hunted...",
    			"It appears that they plan to raid the city of "+ .map_name$ +" today!",
    			"They've feared "+ .map_name$ +" for ages, and are sick of it!",
    			"Prepare yourself, Warriors of "+ .server_name$ +"!",
    			"They're approaching...",
    			"The "+ .map_name$ +" Soldiers are unable to fight!",
    			"They need assistance!";
    		
    		// Create @invasion command
    		bindatcmd "invasion", strnpcinfo(3) +"::OnInvasion", .auth, .auth;
    		
    		end;
    	
    	
    	OnInvasion:
    		mes .npc_name$;
    		mes "Hey there, "+ strcharinfo(0) +"!";
    		mes "What would you like to do?";
    		mes " ";
    		
    		while (true) {
    			switch(select("Start invasion:Stop invasion")) {
    				case 1:
    					// Check invasion status
    					if(.state) {
    						mes "^FF0000The invasion is already in progress!^000000";
    						break;
    					}
    					
    					close2;
    					
    					OnEnable:
    						// Set invasion status
    						.state++;
    						.wave++;
    			
    						// Announcements
    						for (.@i = 0; .@i < getarraysize(.announce$); .@i++) {
    							announce .announce$[.@i], bc_all;
    							sleep .delay * 1000;
    						}
    						
    						announce "Wave "+ .wave +" of the Poring forces presses onward!", bc_all;
    			
    						// Normal mobs
    						for (.@i = 0; .@i < getarraysize(.normal); .@i++) {
    							monster .map$, 0, 0, getmonsterinfo(.normal[.@i], 0), .normal[.@i], .n_mobs[.@i], "";
    						}
    							
    						// Prized mobs
    						for (.@i = 0; .@i < getarraysize(.prized); .@i++) {
    							monster .map$, 0, 0, getmonsterinfo(.prized[.@i], 0), .prized[.@i], .p_mobs[.@i], strnpcinfo(3) +"::OnMobKilled";
    						}
    							
    						setmapflag .map$, mf_nomobloot;
    						initnpctimer;
    						.state++;
    					
    					end;
    
    				case 2:
    					// Check invasion status
    					if(.state < 2) {
    						mes "^FF0000There is no invasion in progress!^000000";
    						break;
    					}
    					
    					// End invasion
    					donpcevent strnpcinfo(3) +"::OnTimer3600000";
    					close;
    			}
    		}
    		
    		
    	OnClock0100:
    	OnClock2100:
    		// Start invasion
    		donpcevent strnpcinfo(3) +"::OnEnable";
    		end;
    		
    		
    	OnMobKilled:
    		// Tier 1
    		setarray .@tier1[0], 1918;
    		
    		// Tier 2
    		setarray .@tier2[0], 1919;
    		
    		// Tier 3
    		setarray .@tier3[0], 1920;
    		
    		// Tier 4
    		setarray .@tier4[0], 1921;
    		
    		// Tier 5
    		setarray .@tier5[0], 1916;
    		
    		// Check if monster killed is listed in tiers
    		for (.@t = 0; .@t < .@tiers; .@t++) {
    			for (.@i = 0; .@i < getarraysize(getd(".@tier"+ (.@t + 1))); .@i++) {
    				if (.state && killedrid == .@tier1[.@i]) {
    					.@amount = .@t + 1;
    					.@winner++;
    				}
    			}
    		}
    		
    		// Reward and announce winner; increment count
    		if (.@winner) {
    			announce .@tier +" "+ getitemname(.reward) +" won by "+ strcharinfo(0) + ".", bc_map | bc_blue;
    			getitem .reward, .@amount;
    			.count++;
    		}
    		
    		if (.count > .limit) {
    			OnTimer3600000:
    				// Kill all monsters and reset invasion status
    				killmonster .map$,"All";
    				announce "Poring forces have been overcome. They're retreating!",0;
    				removemapflag .map$, mf_nomobloot;
    				stopnpctimer;
    				.count = 0;
    				.state = 0;
    		}
    		
    		end;
    
    } 

     

     

×
×
  • Create New...

Important Information

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