Xgear
Community Contributors-
Content Count
249 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Xgear
-
Last I remember, weapon act files were hardcoded in the client, requiring you to replace the original sprites in order to show diffrent items. Not sure if this has changed at all..
-
@neqste: There is no need to be so rude and aggressive. Really... @Phoenix, If you're using rA/eAmod you should ask for support @ their forum. People here is familiar with Hercules's code and its issues, you could get far better support from their own community. ^^
-
Could you provide some of the plugins you're using? I just tried with the default sample plugin and it loaded fine, so there could be issues with the specific plugin you're trying to load. If the plugin relies on functions overloading and the functions are core functions that change, the plugin might not work properly. Every plugin coder should keep their plugins up-to-date to avoid them breaking, specially now that the code is still being overwritten to work with the HPM, so development that could cause some conflicts is still pretty big. However, if I remember correctly, if a plugin has some sort of conflict it shouldnt load (Which is the function of the HPM value)
-
Need help badly on this script please!
Xgear replied to Ragnar Lothbrok's question in Script Support
There is no builtin function "successenchant" Hercules. -
change clif_displaymessage to clif->message and you should be done (Y)
-
[Duda] Extended Vending System
Xgear replied to Kuroko Sempai's question in Soporte y peticiones sobre el Source
Se me habia olvidado completamente -_-' Prueba con eso, es de una revision de hoy. Me compilo sin problemas en windows. Avisame como te va. Extended_June26.patch -
The last entry in the array shouldnt contain a separator. Samuel, if you don't have GDB try finding a guide to install it in your OS (its most likely either apt-get gdb or yum install gdb) Once its installed you can run "gdb map-server" (You said you couldn run "gdb map server", there shouldnt be a space inbetween the name if you're using the default binary names) and get a full backtrace so we can better help you.
-
Change pc_get_group_level to pc->get_group_level Also change iTimer->gettick(); to iTimer->gettick() (It was my bad, the ";" wasnt required here.)
-
Plugins need to be compiled on their respective enviroment, aka a plugin Compiled on Windows 7 32bits, will not work on any other OS/Architecture. Do you get any errors/warnings when compiling on unix? If you navigate to ~/server/plugins/ do you see your plugin.so? (Replace plugin.so with whatever the name of the plugin is, most likely afk.so) How did you load your plugin @ conf/plugins.conf? If the code was broken it'd most likely not compile Try running gdb map-server If it crashes, do a bt full and paste the output here.
-
Did you recompile after changing mmo.h?
-
Instead of deleting the contents of the index file its best to add the timestamps to make sure you are completely up to date. inside sql-files/upgrades each one of the .sql files has something like INSERT INTO `sql_updates` (`timestamp`) VALUES (SOME RANDOM BIG NUMBER); Make sure you run those inserts -if you're 100% sure you applied the patches-
-
Reffer to this topic: http://herc.ws/board/topic/152-obtaining-hercules/
-
R > How to manage multiple Flux CP - Registration
Xgear replied to BuLaLaKaW's question in Website Support
You can use 1 login table and multiple map/char servers databases, thats easier. You'd only need to add arrays as needed into CharMapServers, one per each server with its corresponding settings. (I added 2 more servers, which I only changed the name to FluxRO2 and FluxRO3 config/servers.php // Example server configuration. You may have more arrays like this one to // specify multiple server groups (however they should share the same login // server whilst they are allowed to have multiple char/map pairs). 'CharMapServers' => array( array( 'ServerName' => 'FluxRO', 'BaseExpRates' => 200, 'JobExpRates' => 200, 'MvpExpRates' => 200, 'DropRates' => 25, 'MvpDropRates' => 25, 'CardDropRates' => 25, 'MaxCharSlots' => 9, 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database 'CharServer' => array( 'Address' => '127.0.0.1', 'Port' => 6121 ), 'MapServer' => array( 'Address' => '127.0.0.1', 'Port' => 5121 ), // -- WoE days and times -- // First parameter: Starding day 0=Sunday / 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday // Second parameter: Starting hour in 24-hr format. // Third paramter: Ending day (possible value is same as starting day). // Fourth (final) parameter: Ending hour in 24-hr format. // ** (Note, invalid times are ignored silently.) 'WoeDayTimes' => array( //array(0, '12:00', 0, '14:00'), // Example: Starts Sunday 12:00 PM and ends Sunday 2:00 PM //array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM ), // Modules and/or actions to disallow access to during WoE. 'WoeDisallow' => array( array('module' => 'character', 'action' => 'online'), // Disallow access to "Who's Online" page during WoE. array('module' => 'character', 'action' => 'mapstats') // Disallow access to "Map Statistics" page during WoE. ) ) ) Change to 'CharMapServers' => array( array( 'ServerName' => 'FluxRO', 'BaseExpRates' => 200, 'JobExpRates' => 200, 'MvpExpRates' => 200, 'DropRates' => 25, 'MvpDropRates' => 25, 'CardDropRates' => 25, 'MaxCharSlots' => 9, 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database 'CharServer' => array( 'Address' => '127.0.0.1', 'Port' => 6121 ), 'MapServer' => array( 'Address' => '127.0.0.1', 'Port' => 5121 ), // -- WoE days and times -- // First parameter: Starding day 0=Sunday / 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday // Second parameter: Starting hour in 24-hr format. // Third paramter: Ending day (possible value is same as starting day). // Fourth (final) parameter: Ending hour in 24-hr format. // ** (Note, invalid times are ignored silently.) 'WoeDayTimes' => array( //array(0, '12:00', 0, '14:00'), // Example: Starts Sunday 12:00 PM and ends Sunday 2:00 PM //array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM ), // Modules and/or actions to disallow access to during WoE. 'WoeDisallow' => array( array('module' => 'character', 'action' => 'online'), // Disallow access to "Who's Online" page during WoE. array('module' => 'character', 'action' => 'mapstats') // Disallow access to "Map Statistics" page during WoE. ) ) array( 'ServerName' => 'FluxRO2', 'BaseExpRates' => 200, 'JobExpRates' => 200, 'MvpExpRates' => 200, 'DropRates' => 25, 'MvpDropRates' => 25, 'CardDropRates' => 25, 'MaxCharSlots' => 9, 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database 'CharServer' => array( 'Address' => '127.0.0.1', 'Port' => 6121 ), 'MapServer' => array( 'Address' => '127.0.0.1', 'Port' => 5121 ), // -- WoE days and times -- // First parameter: Starding day 0=Sunday / 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday // Second parameter: Starting hour in 24-hr format. // Third paramter: Ending day (possible value is same as starting day). // Fourth (final) parameter: Ending hour in 24-hr format. // ** (Note, invalid times are ignored silently.) 'WoeDayTimes' => array( //array(0, '12:00', 0, '14:00'), // Example: Starts Sunday 12:00 PM and ends Sunday 2:00 PM //array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM ), // Modules and/or actions to disallow access to during WoE. 'WoeDisallow' => array( array('module' => 'character', 'action' => 'online'), // Disallow access to "Who's Online" page during WoE. array('module' => 'character', 'action' => 'mapstats') // Disallow access to "Map Statistics" page during WoE. ) ) array( 'ServerName' => 'FluxRO3', 'BaseExpRates' => 200, 'JobExpRates' => 200, 'MvpExpRates' => 200, 'DropRates' => 25, 'MvpDropRates' => 25, 'CardDropRates' => 25, 'MaxCharSlots' => 9, 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database 'CharServer' => array( 'Address' => '127.0.0.1', 'Port' => 6121 ), 'MapServer' => array( 'Address' => '127.0.0.1', 'Port' => 5121 ), // -- WoE days and times -- // First parameter: Starding day 0=Sunday / 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday // Second parameter: Starting hour in 24-hr format. // Third paramter: Ending day (possible value is same as starting day). // Fourth (final) parameter: Ending hour in 24-hr format. // ** (Note, invalid times are ignored silently.) 'WoeDayTimes' => array( //array(0, '12:00', 0, '14:00'), // Example: Starts Sunday 12:00 PM and ends Sunday 2:00 PM //array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM ), // Modules and/or actions to disallow access to during WoE. 'WoeDisallow' => array( array('module' => 'character', 'action' => 'online'), // Disallow access to "Who's Online" page during WoE. array('module' => 'character', 'action' => 'mapstats') // Disallow access to "Map Statistics" page during WoE. ) ) ) -
You need to run "make plugins"
-
Intenta habilitando DMZ en lugar de redireccionamiento. Los servidores tienen que tener en alguna parte la opcion de configurar su IP o su bind_ip. Configurala a la que corresponda (a la IP que te da el router) Si no funciona lo de asignar el bind_ip intenta deshabilitar la segunda tarjeta de red para probar, todo con DMZ en el router activado. Así se va descartando de a poco que puede ser.
-
Una pregunta un poco al azar, estas detras de un router? Redireccionaste los puertos a tu IP LAN o en su defecto habilitaste DMZ?
-
R > How to manage multiple Flux CP - Registration
Xgear replied to BuLaLaKaW's question in Website Support
I am no wiz at FluxCP, with a quick glance at the code (Not sure if there are plugins/modules that support what you asked for) lib/Flux/LoginServer.php public function __construct(Flux_Config $config) { parent::__construct($config); $this->loginDatabase = $config->getDatabase(); } Replace with something like public function __construct(Flux_Config $config) { parent::__construct($config); $this->loginDatabase = $config->getDatabase(); $this->loginDatabase_2 = 'my_ro_db1'; $this->loginDatabase_3 = 'my_ro_db2'; } And then $sql = "INSERT INTO {$this->loginDatabase}.login (userid, user_pass, email, sex, level) VALUES (?, ?, ?, ?, ?)"; $sth = $this->connection->getStatement($sql); $res = $sth->execute(array($username, $password, $email, $gender, (int)$this->config->getLevel())); To $sql = "INSERT INTO {$this->loginDatabase_2}.login (userid, user_pass, email, sex, level) VALUES (?, ?, ?, ?, ?)"; $sth = $this->connection->getStatement($sql); $res = $sth->execute(array($username, $password, $email, $gender, (int)$this->config->getLevel())); $sql = "INSERT INTO {$this->loginDatabase_1}.login (userid, user_pass, email, sex, level) VALUES (?, ?, ?, ?, ?)"; $sth = $this->connection->getStatement($sql); $res = $sth->execute(array($username, $password, $email, $gender, (int)$this->config->getLevel())); $sql = "INSERT INTO {$this->loginDatabase}.login (userid, user_pass, email, sex, level) VALUES (?, ?, ?, ?, ?)"; $sth = $this->connection->getStatement($sql); $res = $sth->execute(array($username, $password, $email, $gender, (int)$this->config->getLevel())); Something like that would work for what you're asking, keep in mind though, each instance of Flux will probabbly work with each server it is configured to work with, so the CP would only retrieve data from $this->loginDatabase and nowhere else. If you have no need for players to use the CP on other the other servers. (FluxCP seems to keep its own record for created accounts too, so simply adding the entry to your other server's login table might not fully work either, unless you redo the queries for each server that FluxCP depends on. Also this will not check for already-in-use usernames, you'd have to look at the register function and repeat the function three times. Another approach could be something like: Copy the register function into 3 new functions (register_srv1, register srv_2, register_srv3, load each one of your database into 3 new vars and do the inserts as needed. This again wouldnt work if you already have the login tables populated with information unless you do the proper checks first to see if the data can be inserted. -
@Gepard I figured the CPs would be brought into discussion, this might not be a good answer, however I do not believe the emulator should be built around CPs, it should be the other way around. As for not a good reason, a large amount of MySQL words are reserved words in most languages, the suggestion was mainly focused towards MySQL reserved words Found here). As for other programming languages, I'd say its good practice? Not to mention when having more descriptive column names you'd avoid issues with reserved words on its most. As for logbranch, weird, didn't notice, it still holds on information at all that can be of any use (Looks like a poor implementation of picklog) I still think it should probably be either dropped or heavily improved, so it can serve a purpose. @Ind, Wouldn't it be better to simply add another column, like target/destination? Log branches could target the mob that was spawned, loot/steal could be the mobid, Trades provide the receipt and so on. Only one I see being different would be NPC's since afaik there is no ID on them or easy way to identify them constantly (Guess IDs would change as they are loaded/reloaded). However, knowing from which NPC an item came/went to could be pretty useful at times. Something like that could have some consistency/rganization issues if thrown into a single table though, which could be its major drawback I guess.
-
As a sidenote, you no longer require the .git extension. https://github.com/HerculesWS/Hercules works just as fine. (Y)
-
Not sure I understood your question, however when moving over to Hercules you'll have to update most of your existing modifications to work with Hercules (It isnt all that hard if you do know a bit about source editing) The NPC might need some small tweaking depending on what you modified, shouldnt be anything major really though. The database will have the modifications on its structure required by Hercules up to the current revision. (I never used 3ceam so I can't tell how different they are)
-
Yet another improvement. Thumbs up again to y'all!
-
jaBote, eso es en todos los lenguajes de programación o de scripting, ya que, como comente en el post anterior, lo que hacen las librerias es marcar el primero v/s el primero, como el segundo /* esta dentro de un comentario ya iniciaco, no se evalua, descartandose automaticamente. Kuroko, no estabas dejandolo peor, es que el compilador se detiene en cada archivo en el primer error que encuentra, por lo que no estaba ompilando el resto del codigo y mostrando los errores que habian más adelante
-
You need to open them as "gdb server core.xxxx" Such as: gdb map-server core.2357 or gdb login-server core.5487
-
[Duda] Extended Vending System
Xgear replied to Kuroko Sempai's question in Soporte y peticiones sobre el Source
Eso ya es un problema de la modificación en si. item_vend es una estructura pero no se declara en ningun lado. Ya me estoy dando cabezasos de sueño. Prueba dejando un post en el topic de la modificación o mañana lo veo más a fondo. -
That will work perfectly fine. Make sure you add your own queries after the proper checks are done to avoid logging false data (aka char name already taken, so character was not created, etc)