Jump to content

snowflake1963

Members
  • Content Count

    97
  • Joined

  • Last visited

Posts posted by snowflake1963


  1. Hello ^^

     

    Thanks for the fast answer.

     

    This is my problem:

     

    We have a Poring Invasion in a town. Automated event.

    We already blocked all skills for players, homuncs and mercenaries.

    Pets go back into their egg when a monster is killed. ( by plugin in SRC )

    Our problem are clones that still can use skills and can not be blocked by the map_zone_db.conf settings.

     

    So, how to kill a clone that was created in the main town and is abused now in the event town ?

     

    Regards ^^


  2. I have a sever that has max lvl 256/120 for characters. My players would like to make their Homunculus same level as them?

     

    I set the Homunc.conf to 256,

    the exp_homun to go higher in exp (table found here http://herc.ws/board/topic/5591-renewal-homunculus-exp-tables-up-to-999/?hl=homunculus) and still not leveling. They make the lvlup sound and animation but wont go higher than 99.

     

    Can someone please help with this.

    Thank you in advance :)

     

    Mfg

    Snowflake

     

    Cancel this post we solved it on our own


  3. @@Oxxy

     

    Hello :) I have your npc in my test client and I can't get my aura to change, can you please explain how to add auras and how to make them work?

     

    I am new at doing auras and this is my first attempt :) at changing them or adding them.

     

    Mfg

    Snowflake


  4. Here the code:

    /*========================================== * @go [city_number or city_name] - Updated by Harbin *------------------------------------------*/ACMD(go) {	int town = INT_MAX; // Initialized to INT_MAX instead of -1 to avoid conflicts with those who map [-3:-1] to @memo locations.	char map_name[MAP_NAME_LENGTH];	const struct {		char map[MAP_NAME_LENGTH];		int x, y;		int min_match; ///< Minimum string length to match	} data[] = {		{ MAP_PRONTERA,    156, 191, 3 }, //  0 = Prontera		{ MAP_MORROC,      156,  93, 4 }, //  1 = Morroc		{ MAP_GEFFEN,      119,  59, 3 }, //  2 = Geffen		{ MAP_PAYON,       162, 233, 3 }, //  3 = Payon		{ MAP_ALBERTA,     192, 147, 3 }, //  4 = Alberta#ifdef RENEWAL		{ MAP_IZLUDE,      128, 146, 3 }, //  5 = Izlude (Renewal)#else		{ MAP_IZLUDE,      128, 114, 3 }, //  5 = Izlude#endif		{ MAP_ALDEBARAN,   140, 131, 3 }, //  6 = Aldebaran		{ MAP_LUTIE,       147, 134, 3 }, //  7 = Lutie		{ MAP_COMODO,      209, 143, 3 }, //  8 = Comodo		{ MAP_YUNO,        157,  51, 3 }, //  9 = Juno		{ MAP_AMATSU,      198,  84, 3 }, // 10 = Amatsu		{ MAP_GONRYUN,     160, 120, 3 }, // 11 = Kunlun		{ MAP_UMBALA,       89, 157, 3 }, // 12 = Umbala		{ MAP_NIFLHEIM,     21, 153, 3 }, // 13 = Niflheim		{ MAP_LOUYANG,     217,  40, 3 }, // 14 = Luoyang		{ MAP_NOVICE,       53, 111, 3 }, // 15 = Training Grounds		{ MAP_JAIL,         23,  61, 3 }, // 16 = Prison		{ MAP_JAWAII,      249, 127, 3 }, // 17 = Jawaii		{ MAP_AYOTHAYA,    151, 117, 3 }, // 18 = Ayothaya		{ MAP_EINBROCH,     64, 200, 5 }, // 19 = Einbroch		{ MAP_LIGHTHALZEN, 158,  92, 3 }, // 20 = Lighthalzen		{ MAP_EINBECH,      70,  95, 5 }, // 21 = Einbech		{ MAP_HUGEL,        96, 145, 3 }, // 22 = Hugel		{ MAP_RACHEL,      130, 110, 3 }, // 23 = Rachel		{ MAP_VEINS,       216, 123, 3 }, // 24 = Veins		{ MAP_MOSCOVIA,    223, 184, 3 }, // 25 = Moscovia		{ MAP_MIDCAMP,     180, 240, 3 }, // 26 = Midgard Camp		{ MAP_MANUK,       282, 138, 3 }, // 27 = Manuk		{ MAP_SPLENDIDE,   197, 176, 3 }, // 28 = Splendide		{ MAP_BRASILIS,    182, 239, 3 }, // 29 = Brasilis		{ MAP_DICASTES,    198, 187, 3 }, // 30 = El Dicastes		{ MAP_MORA,         44, 151, 4 }, // 31 = Mora		{ MAP_DEWATA,      200, 180, 3 }, // 32 = Dewata		{ MAP_MALANGDO,    140, 114, 5 }, // 33 = Malangdo Island		{ MAP_MALAYA,      242, 211, 5 }, // 34 = Malaya Port		{ MAP_ECLAGE,      110,  39, 3 }, // 35 = Eclage	};	memset(map_name, '0', sizeof(map_name));	memset(atcmd_output, '0', sizeof(atcmd_output));	if (!message || !*message || sscanf(message, "%11s", map_name) < 1) {		// no value matched so send the list of locations		const char* text;		// attempt to find the text help string		text = atcommand_help_string( info );		clif->message(fd, msg_fd(fd,38)); // Invalid location number, or name.		if( text ) {// send the text to the client			clif->messageln( fd, text );		}		return false;	}	// Numeric entry	if (ISDIGIT(*message) || (message[0] == '-' && ISDIGIT(message[1]))) {		town = atoi(message);	}	if (town < 0 || town >= ARRAYLENGTH(data)) {		int i;		map_name[MAP_NAME_LENGTH-1] = '0';		// Match maps on the list		for (i = 0; i < ARRAYLENGTH(data); i++) {			if (strncmpi(map_name, data[i].map, data[i].min_match) == 0) {				town = i;				break;			}		}	}	if (town < 0 || town >= ARRAYLENGTH(data)) {		// Alternate spellings		if (strncmpi(map_name, "morroc", 4) == 0) { // Correct town name for 'morocc'			town = 1;		} else if (strncmpi(map_name, "lutie", 3) == 0) { // Correct town name for 'xmas'			town = 7;		} else if (strncmpi(map_name, "juno", 3) == 0) { // Correct town name for 'yuno'			town = 9;		} else if (strncmpi(map_name, "kunlun", 3) == 0) { // Original town name for 'gonryun'			town = 11;		} else if (strncmpi(map_name, "luoyang", 3) == 0) { // Original town name for 'louyang'			town = 14;		} else if (strncmpi(map_name, "startpoint", 3) == 0 // Easy to remember alternatives to 'new_1-1'		        || strncmpi(map_name, "beginning", 3) == 0) {			town = 15;		} else if (strncmpi(map_name, "prison", 3) == 0 // Easy to remember alternatives to 'sec_pri'		        || strncmpi(map_name, "jail", 3) == 0) {			town = 16;		} else if (strncmpi(map_name, "rael", 3) == 0) { // Original town name for 'rachel'			town = 23;		}	}	if (town >= 0 && town < ARRAYLENGTH(data)) {		int16 m = map->mapname2mapid(data[town].map);		if (m >= 0 && map->list[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {			clif->message(fd, msg_fd(fd,247));			return false;		}		if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) {			clif->message(fd, msg_fd(fd,248));			return false;		}		if (pc->setpos(sd, mapindex->name2id(data[town].map), data[town].x, data[town].y, CLR_TELEPORT) == 0) {			clif->message(fd, msg_fd(fd,0)); // Warped.		} else {			clif->message(fd, msg_fd(fd,1)); // Map not found.			return false;		}	} else {		clif->message(fd, msg_fd(fd,38)); // Invalid location number or name.		return false;	}	return true;}

    Whatever you type as name of a town the result of this code is always 0 ( NULL / ZERO ), and so "@go morroc" or "@go geffen" warps you to Prontera.

     

    Is it possible to fix that ?

     

    MfG

     

    Snowflake


  5. @@Winterfox

     

    No pet leveling is not enabled.

     

    Hercules?

     

    we have pet to egg plugin but that has never bothered the pet damage.

     

    and that's what i was asking about any changes in the source codes for pets,  because all this started when we updated Hercules.


  6. We have a lot of custom pets and their damage was great, everyone liked the pets. But since we updated the server the normal pets and the custom pets do crappy damage now. Was something changed to lower the damge of of all pets normal and custom?

     

     

     

    Mfg

    Snowflake


  7. Hello :),

     

    I discovered that the sql-update "2014-11-03--00-45.sql" added the field "sex" to the table "char". Now I have some questions:

     

    - It seems it is there to change the sex of a single char, right ?

    - Does it need to be activated in the configs ?

     

    Sadly I counldn't find any information in this forum by using the search function.

    Is there some information about it ?

     

    Regards

     

    Snowflake :)


  8. Hello Dastgir :)

     

    Thank you for the fast answer.

     

    All other important packages for MySQL, PHP5 and PHPMyAdmin are installed an working.

     

    I will let you know the result soon.

     

    Greetings

     

    Snowflake :)



    Hello Dastgir :)

     

    ./configure works fine now, but now there is a File-Not-Found problem:

    make: ./sysinfogen.sh: Befehl nicht gefundenmake: *** [sysinfo] Fehler 127

    The file is in the servers root folder and the permission are "rwxrwxr-x" ( 775 ).

     

    Whats wrong at this point.

     

    Greetings

     

    Snowflake :)



    Fixed the "sysinfogen.sh" problem with dos2unix command.

     

    Greetings

     

    Snowflake :)


  9. Hello :)

     

    I want to setup a testserver on an UBUNTU 14.04.2 LTS ( 32 Bit ) after starting ./configure i get the message:

    checking for mysql_config... nochecking for mysql_init... nochecking mysql.h usability... nochecking mysql.h presence... nochecking for mysql.h... nochecking MySQL library (required)... noconfigure: error: MySQL not found or incompatible

    Can someone help me, please ?

     

    Greetings

     

    Snowflake :)

     


     

     

     


  10. Got the latest GIT Download and can not compile now.

     

    The file "configure" is not working under LINUX, with Windows no problems

     

    I used the command "sudo ./configure" cause "./configure" gives back "no permission".

     

    MFG


  11. srry, I dunno what happened..

     

    Are there 2 sleep command existing at the same time(one in atcommand.c the other in plugin)?

     

    Hello Angelmelody,

     

    there is only one @sleep command and its in the plugin. IMO this plugin-thingy is really usefull. You don't have to mess with the original code in atcommand.c.

     

    I think all this happened cause the code itself was changed. Maybe in Atcommand.c, maybe in an other file. All I know ( learned by comparing ) is that my old plugin was reading a variable called:

    !battle_config.prevent_logout

    and the new plugin ( yours and Annie's ) reads the variable:

     

    battle->bc->prevent_logout

     

    ( If that are variable names :) )

     

    Mfg

    Snowflake


  12. Hello Annie,

     

    the new plugin work fine. No errors when compiling and it works. Great Job :no1:

     

    BTW: I would like to know what is different between the two scripts. The one I created out of Angelmelody's and yours.

    I am just curious and like to learn a bit more about C/C++. :)

     

    Is it really just the fact that this line

    if ( battle->bc->prevent_logout && ( DIFF_TICK( timer->gettick(), sd->canlog_tick ) < battle->bc->prevent_logout ) ) ...

    has 4 brackets more then Angelmelody's ? Is the logic really that "sensitive" ?

     

    Mfg

     

    Snowflake


  13. Hello Angelmelody,

     

    all I did was adding #include "../common/timer.h" to the existing C++ code for the plugin.

     

    I will try the plugin you posted now. Results will follow.

     

    Mfg

    Snowflake

     


     

    Hello Angelmelody,

     

    here the result of the script you posted.

    1>------ Neues Erstellen gestartet: Projekt: at_sleep, Konfiguration: Debug Win32 ------1>  at_sleep.c1>c:transfersnowhercules serverhercules trunksrcpluginsat_sleep.c(27): warning C4013: 'DIFF_TICK' undefiniert; Annahme: extern mit Rückgabetyp int1>c:transfersnowhercules serverhercules trunksrcpluginsat_sleep.c(27): error C2065: 'timer': nichtdeklarierter Bezeichner1>c:transfersnowhercules serverhercules trunksrcpluginsat_sleep.c(27): error C2223: Der linke Teil von '->gettick' muss auf eine Struktur/Union zeigen1>c:transfersnowhercules serverhercules trunksrcpluginsat_sleep.c(54): error C2065: 'timer': nichtdeklarierter Bezeichner1>c:transfersnowhercules serverhercules trunksrcpluginsat_sleep.c(54): warning C4047: '=': Anzahl der Dereferenzierungen bei 'int' und 'void *' unterschiedlich========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========

    Mfg

    Snowflake

     


     

    Hello :) ,

     

    added #include "../common/timer.h" to the script / plugin. => Compile was fine, no errors.

     

    Server started without problems, but when using the command I get following message in the client:

    Please refrain from trying to abuse this command@sleep failed

    Mfg

    Snowflake

     


     

    Hello :) ,

     

    I tested a bit, as far as my knowledge goes, and got this script now:

    #include <stdio.h>#include <stdlib.h>#include <string.h>#include "../map/pc.h"#include "../common/timer.h"#include "../common/HPMi.h"#include "../common/HPMDataCheck.h" // should always be the last file included! (if you don't make it last, it'll intentionally break compile time)HPExport struct hplugin_info pinfo = {	"sleep",		// Plugin name	SERVER_TYPE_MAP,// Which server types this plugin works with?	"0.1",			// Plugin version	HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)};/**===================================* Sleep (@sleep)*-----------------------------------*/ACMD(sleep) {	if ( map->agit_flag || map->agit2_flag ) { // skill not useable in WOE [A17kaliva]		clif->message( fd, "Cannot use this command during WOE." );		return false;	}	if ( !battle->bc->prevent_logout || DIFF_TICK( timer->gettick(), sd->canlog_tick) < battle->bc->prevent_logout ) {		if ( sd->sc.opt1 != 0 && sd->sc.opt1 != OPT1_SLEEP ) {			clif->message( fd, msg_txt(807) ); // abuse ?			return false;		}		if ( sd->sc.opt1 != OPT1_SLEEP) {			status->change_start( NULL, &sd->bl, SC_TRICKDEAD, 10000, 1, 0, 0, 0, 1000, 0);			sd->sc.opt1 = OPT1_SLEEP;			clif->message( fd, msg_txt(805) ); // sleeping		} else {			sd->sc.opt1 = 0;			clif->emotion(&sd->bl,45);			status_change_end(&sd->bl, SC_TRICKDEAD, -1);			clif->message( fd, msg_txt(806) ); // awake					}		clif->changeoption( &sd->bl );		return true;	}	clif->message( fd, msg_txt(808) );	return false;}HPExport void plugin_init (void) {	atcommand = GET_SYMBOL("atcommand");	clif = GET_SYMBOL("clif");	map = GET_SYMBOL("map");	timer = GET_SYMBOL("timer");	status = GET_SYMBOL("status");	battle = GET_SYMBOL("battle");	addAtcommand("sleep",sleep);}

    I also added a line ( 808 ) to msg_conf.txt to see in which case the scripts shows up the abuse message:

    //------------------------------------// More atcommands message//------------------------------------//@sleep805: You went to sleep now.806: You are waking up now.807: Please refrain from trying to abuse this command.808: You can not sleep during a battle.

    I assume message 808 is displayed while fighting a monster.

     

    My problem now is:

    The character is in town, NOT FIGHTING anything and standig. Typing @sleep gives back the new message.

    You can not sleep during a battle.@sleep failed

    Based on my knowledge from BASIC and PHP I think the bug is somwehere in the line:

    if ( !battle->bc->prevent_logout || DIFF_TICK( timer->gettick(), sd->canlog_tick) < battle->bc->prevent_logout ) {

    At this point I need help, cause I don't understand what !battle->bc->prevent_logout and battle->bc->prevent_logout mean or do. Special those " -> "

     

    Maybe the actual code uses an other way to read or store a variable ??? so this plugin cannot read that variable ???

    Or a different variable ???

     

    Mfg

    Snowflake


  14. Here the result, sadly its an error again:

    1>------ Neues Erstellen gestartet: Projekt: at_sleep, Konfiguration: Debug Win32 ------1>  at_sleep.c1>     Bibliothek "..pluginsat_sleep.lib" und Objekt "..pluginsat_sleep.exp" werden erstellt.1>at_sleep.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_battle_config".1>..pluginsat_sleep.dll : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========

    I can not find _battle_config in the @sleep script. There is only a !battle_config. This confuses me a bit.

     

    Thanks in advance

     

    Snowflake :)

×
×
  • Create New...

Important Information

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