-
Content Count
15 -
Joined
-
Last visited
Posts posted by Christopher Freitas
-
-
-
pre renewal formula
var BASE_HP;
BASE_HP = 35 + (BASE_LEVEL * HP_JOB_B ;
for (var i = 2; i <= BASE_LEVEL; i++)
{
BASE_HP += Math.round(HP_JOB_A * i);
}Renewal Formula
var BASE_HP = 35;
BASE_HP += BASE_LEVEL * HP_JOB_B;
for (var i = 2; i <= BASE_LEVEL; i++) {
BASE_HP += Math.round(HP_JOB_A * i);
}
var MAX_HP = BASE_HP;
MAX_HP = Math.floor( MAX_HP * (1 + VIT * 0.01) * TRANS_MOD );
MAX_HP += HP_MOD_A;
MAX_HP = Math.floor( MAX_HP * (1 + HP_MOD_B * 0.01) ); -
hi guys i need help to solve that problem :
i want to win status until level 122, after this level I do not want to earn more points
from 122 in TXT so i repeated the amount earned, in SQL how do i use ?
i tried again but it did not work ! -
The flux of the option to add more than one char -server (as attachment servers.php ) . it displays a dropbox in the home where u can switch between your servers.
But that's all it does. I wish he also kept in the "session" connection of information from all servers
so when we choose the server at dropbox he would bring the entire information consistent that server .
how can i do this ?
<?phpreturn array( // 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). array( 'ServerName' => 'xxxxxx', // Global database configuration (excludes logs database configuration). 'DbConfig' => array( //'Socket' => '/tmp/mysql.sock', //'Port' => 3306, //'Encoding' => 'utf8', // Connection encoding -- use whatever here your MySQL tables collation is. 'Convert' => 'utf8', // -- 'Convert' option only works when 'Encoding' option is specified and iconv (http://php.net/iconv) is available. // -- It specifies the encoding to convert your MySQL data to on the website (most likely needs to be utf8) 'Hostname' => '127.0.0.1', 'Username' => 'xxxx', 'Password' => 'xxxx', 'Database' => 'server_um', 'Persistent' => true, 'Timezone' => null // Example: '+0:00' is UTC. // The possible values of 'Timezone' is as documented from the MySQL website: // "The value can be given as a string indicating an offset from UTC, such as '+10:00' or '-6:00'." // "The value can be given as a named time zone, such as 'Europe/Helsinki', 'US/Eastern', or 'MET'." (see below continuation!) // **"Named time zones can be used only if the time zone information tables in the mysql database have been created and populated." ), // This is kept separate because many people choose to have their logs // database accessible under different credentials, and often on a // different server entirely to ensure the reliability of the log data. 'LogsDbConfig' => array( //'Socket' => '/tmp/mysql.sock', //'Port' => 3306, //'Encoding' => null, // Connection encoding -- use whatever here your MySQL tables collation is. 'Convert' => 'utf8', // -- 'Convert' option only works when 'Encoding' option is specified and iconv (http://php.net/iconv) is available. // -- It specifies the encoding to convert your MySQL data to on the website (most likely needs to be utf8) 'Hostname' => '127.0.0.1', 'Username' => 'xxxxx', 'Password' => 'xxxx', 'Database' => 'server_um', 'Persistent' => true, 'Timezone' => null // Possible values is as described in the comment in DbConfig. ), // Login server configuration. 'LoginServer' => array( 'Address' => '127.0.0.1', 'Port' => 6900, 'UseMD5' => true, 'NoCase' => true, // rA account case-sensitivity; Default: Case-INsensitive (true). 'GroupID' => 0, // Default account group ID during registration. //'Database' => 'ragnarok' ), 'CharMapServers' => array( array( 'ServerName' => 'Server Um', 'Renewal' => false, 'MaxCharSlots' => 9, 'DateTimezone' => 'America/Sao_Paulo', // 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 'ExpRates' => array( 'Base' => 100, // Rate at which (base) exp is given 'Job' => 100, // Rate at which job exp is given 'Mvp' => 100 // MVP bonus exp rate ), 'DropRates' => array( // The rate the common items (in the ETC tab, besides card) are dropped 'Common' => 100, 'CommonBoss' => 100, // The rate healing items (that restore HP or SP) are dropped 'Heal' => 100, 'HealBoss' => 100, // The rate usable items (in the item tab other then healing items) are dropped 'Useable' => 100, 'UseableBoss' => 100, // The rate at which equipment is dropped 'Equip' => 100, 'EquipBoss' => 100, // The rate at which cards are dropped 'Card' => 100, 'CardBoss' => 100, // The rate adjustment for the MVP items that the MVP gets directly in their inventory 'MvpItem' => 100 ), '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' => 'Server Dois', 'Renewal' => false, 'MaxCharSlots' => 9, 'DateTimezone' => 'America/Sao_Paulo', // 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 'ExpRates' => array( 'Base' => 3000, // Rate at which (base) exp is given 'Job' => 3000, // Rate at which job exp is given 'Mvp' => 3000 // MVP bonus exp rate ), 'DropRates' => array( // The rate the common items (in the ETC tab, besides card) are dropped 'Common' => 1500, 'CommonBoss' => 1000, // The rate healing items (that restore HP or SP) are dropped 'Heal' => 3000, 'HealBoss' => 1000, // The rate usable items (in the item tab other then healing items) are dropped 'Useable' => 1000, 'UseableBoss' => 1000, // The rate at which equipment is dropped 'Equip' => 5000, 'EquipBoss' => 1000, // The rate at which cards are dropped 'Card' => 3000, 'CardBoss' => 100, // The rate adjustment for the MVP items that the MVP gets directly in their inventory 'MvpItem' => 1000 ), '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. ) ) ) ));?>
-
Hello, I was having these errors:
Error 3 error C2039: 'base_pc_maxhp' : is not a member of 'status_interface' c:usersandredocumentsherculeshercules-mastersrcpluginscostumeitem.c 552 1 costumeitemError 4 error C2039: 'base_pc_maxsp' : is not a member of 'status_interface' c:usersandredocumentsherculeshercules-mastersrcpluginscostumeitem.c 577 1 costumeitem
So I changed those lines:
sd->status.max_sp = status->base_pc_maxsp(sd, bstatus);sd->status.max_sp = status->base_pc_maxhp(sd, bstatus);
for this
sd->status.max_sp = status->get_base_maxsp(sd, bstatus);sd->status.max_sp = status->get_base_maxsp(sd, bstatus);
With the changes, the errors are gone and compiled
But I do not know if my changes are correct
Is this right?
WOOOWWWW !!! NICE NICE NICE !!!
TY !
-
i'm used version 3.4 '-'
any more idea ?
-
MAKE plugin.o
make[1]: Entering directory `/home/emulador/src/plugins'
make[1]: *** No rule to make target `o'. Stop.
make[1]: Leaving directory `/home/emulador/src/plugins'
make: *** [plugin.o] Error 2used command "make plugins"
costumeitem.c: In function 'status_calc_mine':costumeitem.c:552: error: 'struct status_interface' has no member named 'base_pc_maxhp'costumeitem.c:577: error: 'struct status_interface' has no member named 'base_pc_maxsp'make[1]: *** [../../plugins/costumeitem.so] Error 1make[1]: Leaving directory `/home/emulador/src/plugins'make: *** [plugins] Error 2
-
make[1]: Leaving directory `/home/emulador/src/map'
building conf/import folder...
[root@@projectro emulador]# ./athena-start start
dont have error in compilation ...
-
plugins_list: [
/* Enable HPMHooking when plugins in use rely on Hooking */
"HPMHooking",
//"db2sql",
//"sample",
//"other",
"costumeitem", -
pls help
[Warning]: HPM:plugin_load: failed to load 'plugins/HPMHooking_login.so' (error: plugins/HPMHooking_login.so: cannot open shared object file: No such file or directory), skipping...[Warning]: HPM:plugin_load: failed to load 'plugins/costumeitem.so' (error: plugins/costumeitem.so: cannot open shared object file: No such file or directory), skipping...
-
ops editando a data no outro post rsrs saiu um 0 a mais... enfim...
muito obrigado ^^ é que eu iria lançar meu servidor agora dia 1, e já queria lançar com um shield... sabe me dizer se existe algum free enquanto nao lança o hashield entao ?
Melhor opção é aguardar o HaShield , ou fazer um teste com esse hexed usando o InternalGuard ...
-
hi good evening... i am in need of help, the images of the head and body are not showing....i followed step by step the installation system.... it is necessary to put a grf containing the files of the sprites?Yes, the GRF is necessary since ROChargen extracts the sprites from it
Please refer to this guide: ROChargen Setup
OK..,
i put the grf with the sprites and palletes ... but still doesn't appear.... uploaded the grf in client folder, setthe DATA.INI file and still nothing =x
-
hi good evening... i am in need of help, the images of the head and body are not showing....i followed step by step the installation system.... it is necessary to put a grf containing the files of the sprites? -
boa tarde to usando esse sistema vip do eathena,
estou tentando por ele colocar para que quando o player logue ele dê 5 dias de vip_silver
mas não obtive resultado, alguem poderia me dar uma ajuda ?
- script vip -1,{//*********************************************************************// VIP System for eAthena servers Version 3.0//*********************************************************************// It allows you to boost experience and drop rate for players who donate// for a specified amount of days.// It makes use of account's GM Levels to specify the account type,// by default values are these:// - Account Level 0 = Non VIP Account// - Account Level 1 = VIP Silver Account// - Account Level 2 = VIP Gold Account// - Account Level 3 = VIP Platinum Account// all of them, of course, customizable .// ¡Therefore, you can also set =atcommands= for every account level in// [yourserver]/conf/atcommand_athena.conf ! Isn't that great?! :D// In other words, VIP players can have access to more @commands than// normal users if you want. This will add more value to the service.//// Add, List, Modify and Remove VIP accounts via whisper to this NPC.// Manage VIP accounts in-game! Just whisper any text to the npc "vip"// to access the VIP management menu.//// This script requires some database modifications for it to work,// check them at the original post where I posted this script.// URI: //// Created by: Victor H. Olvera (VicThor)// If you like this, please donate to paypal: [email protected]// I'd really like to make more scripts like this, so help if you can!//// If you want any special modification or adaptation of this script,// please! feel free to e-mail me at [email protected] I'm $ure I can// provide you with something according to your need$ :)//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯//**************** VIP SYSTEM CONFIGURATION *************************set $VIPs_SilverAccLevel,1; // Account Level assigned for VIP Silver *set $VIPs_GoldAccLevel,2; // Account Level assigned for VIP Gold *set $VIPs_PlatinumAccLevel,3; // Account Level assigned for VIP Platinum *set $VIPs_SilverExpRate,50; // VIP Silver Exp Boost in % ( 1 = 1% ) *set $VIPs_GoldExpRate,100; // VIP Gold Exp Boost in % ( 1 = 1% ) *set $VIPs_PlatinumExpRate,150; // VIP Platinum Exp Boost in % ( 1 = 1% ) *set $VIPs_SilverItemRate,10; // VIP Silver Item Drop Boost in % ( 1 = 1% ) *set $VIPs_GoldItemRate,20; // VIP Gold Item Drop Boost in % ( 1 = 1% ) *set $VIPs_PlatinumItemRate,30; // VIP Platinum Item Drop Boost in % ( 1 = 1%)*set $VIPs_AdminGmLevel,99; // Define GM Level enabled to add, list and * // remove VIP entries. Any GM with access le- * // vel equal or higher than this will be able * // to manage VIP Accounts. *// ********************************************************************//// Actions and checks when player logs in about his/her account type status.OnPCLoginEvent: // Obtain account data set .@getAccountType$,query_sql("SELECT `account_type` FROM login WHERE `account_id` = "+getcharid(3)+";",.@accountType$); // First of all deACTIVEte all VIP benefits sc_end sc_expboost; sc_end sc_itemboost; // If account type is PLATINUM if (.@accountType$ == "PLATINUM") { // Dialy Bonus WOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ================================================================ if(#dailytimer < gettimetick(2)) { announce "Here's your prize, you'll get another one after 24 hours.",bc_self,0x0099FF; getitem 21001,1; //remove <id> and add your own ids for item set #dailytimer,gettimetick(2) + 86400; //24 hours. } set .@getVipStatus,query_sql("SELECT `status` FROM `vip_platinum` WHERE `account_id` = "+getcharid(3)+";",.@vipStatus$); // Get account type status set .@getExpirationDate$,query_sql("SELECT DATE_FORMAT(`end_date`, '%Y %m %d') FROM vip_platinum WHERE `account_id` = "+getcharid(3)+";",.@expirationDate$); // Get expiration date if (gettimestr("%Y %m %d",21) >= .@expirationDate$) // If current date is higher than expiration date... { // terminateVip function on line 430, removes player VIP entry from database table "vip_platinum" callsub terminateVip,"vip_platinum",getcharid(3); goto L_displayInfo; } // If expiration date has not arrived yet, ACTIVEte VIP benefits. else { sc_start sc_expboost,1000*60*60*24,$VIPs_PlatinumExpRate; sc_start sc_itemboost,1000*60*60*24,$VIPs_PlatinumItemRate; goto L_displayInfo; } } if (.@accountType$ == "GOLD") { // Dialy Bonus WOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ================================================================ if(#dailytimer < gettimetick(2)) { announce "Here's your prize, you'll get another one after 24 hours.",bc_self,0x0099FF; getitem 21001,1; //remove <id> and add your own ids for item set #dailytimer,gettimetick(2) + 86400; //24 hours. } set .@getVipStatus,query_sql("SELECT `status` FROM `vip_gold` WHERE `account_id` = "+getcharid(3)+";",.@vipStatus$); // Obtener el estado de la cuenta set .@getExpirationDate$,query_sql("SELECT DATE_FORMAT(`end_date`, '%Y %m %d') FROM vip_gold WHERE `account_id` = "+getcharid(3)+";",.@expirationDate$); // Obtener Fecha de expiración if (gettimestr("%Y %m %d",21) >= .@expirationDate$) // Si la fecha de HOY es mayor que la fecha de expiración... { // terminateVip function on line 430, removes player VIP entry from database table "vip_gold" callsub terminateVip,"vip_gold",getcharid(3); goto L_displayInfo; } // If expiration date has not arrived yet, ACTIVEte VIP benefits. else { sc_start sc_expboost,1000*60*60*24,$VIPs_GoldExpRate; sc_start sc_itemboost,1000*60*60*24,$VIPs_GoldItemRate; goto L_displayInfo; } } if (.@accountType$ == "SILVER") { // Dialy Bonus WOIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ================================================================ if(#dailytimer < gettimetick(2)) { announce "Here's your prize, you'll get another one after 24 hours.",bc_self,0x0099FF; getitem 21001,1; //remove <id> and add your own ids for item set #dailytimer,gettimetick(2) + 86400; //24 hours. } set .@getVipStatus,query_sql("SELECT `status` FROM `vip_silver` WHERE `account_id` = "+getcharid(3)+";",.@vipStatus$); // Obtener el estado de la cuenta set .@getExpirationDate$,query_sql("SELECT DATE_FORMAT(`end_date`, '%Y %m %d') FROM vip_silver WHERE `account_id` = "+getcharid(3)+";",.@expirationDate$); // Obtener Fecha de expiración if (gettimestr("%Y %m %d",21) >= .@expirationDate$) // Si la fecha de HOY es mayor que la fecha de expiración... { // terminateVip function on line 430, removes player VIP entry from database table "vip_silver" callsub terminateVip,"vip_silver",getcharid(3); goto L_displayInfo; } // If expiration date has not arrived yet, ACTIVEte VIP benefits. else { sc_start sc_expboost,1000*60*60*24,$VIPs_SilverExpRate; sc_start sc_itemboost,1000*60*60*24,$VIPs_SilverItemRate; goto L_displayInfo; } } // If account type is normal, just display account type information. if (.@accountType$ == "NORMAL") { set .@getVipStatus,query_sql("SELECT `status` FROM `vip_silver` WHERE `account_id` = "+getcharid(3)+";",.@vipStatus$); // Obtener el estado de la cuenta set .@getExpirationDate$,query_sql("SELECT DATE_FORMAT(`end_date`, '%Y %M %d') FROM vip_silver WHERE `account_id` = "+getcharid(3)+";",.@expirationDate$); // Obtener Fecha de expiración goto L_displayInfo; } // Displays account type status on login on chat window.L_displayInfo: dispbottom "----------------------------------------------------------------------"; dispbottom "Account type: "+.@accountType$; dispbottom "Status: "+.@vipStatus$; dispbottom "Expiration date: "+.@expirationDate$; dispbottom "----------------------------------------------------------------------"; end; OnWhisperGlobal: if ( getgmlevel() < 99 ) end; On_gm: set .@npcName$,"[VIP System v3.0]"; mes .@npcName$; mes "Welcome, "+strcharinfo(0)+"!"; mes "¿What can I do for you today?"; next; switch(select("VIP Silver Menu:VIP Gold Menu:VIP Platinum Menu:Quit")) { case 1: // VIP Silver next; mes .@npcName$; mes "[VIP SILVER]"; switch(select("Add/Extend Account:Delete Account:List Accounts:Back")) { case 1: // Add/Extend mes "Type the Account Name"; mes "you wish to add."; input .@accountName$; next; mes .@npcName$; mes "[VIP SILVER]"; mes "Type the number of days you"; mes "wish to add to the account's VIP"; mes "status."; next; mes .@npcName$; mes "[VIP SILVER]"; input .@silverDays; // Fetch account's ID using the name of the account previously typed. set .@getAccountId,query_sql("SELECT `account_id`FROM login WHERE `userid` = '"+.@accountName$+"';",.@accountId); mes "Identifying account: "+.@accountName$+"."; sleep2 rand(100,2000); // Looks like it's working on something if (!.@accountId) // Let's verify if the entered account exists or GM is just high... { mes "ERROR: Couldn't find account."; mes "Verify if you dind't make a typo."; close; } else { // Now lets check if the account is already 'vip_silver' set .@getSilverAccount,query_sql("SELECT `account_id` FROM vip_silver WHERE `account_id` = "+.@accountId+";",.@silverAccountId); if (.@silverAccountId == .@accountId) // If the account is already VIP we will update instead of inserting a new entry. { mes "Account ID: "+.@silverAccountId+"."; sleep2 rand(100,850); query_sql("UPDATE vip_silver SET end_date = DATE_ADD(end_date, INTERVAL "+.@silverDays+" DAY) WHERE account_id = "+.@silverAccountId+";"); query_sql("UPDATE vip_silver SET `status` = 'ACTIVE' WHERE account_id = "+.@silverAccountId+";"); query_sql("UPDATE login SET `account_type` = 'SILVER' WHERE account_id = "+.@silverAccountId+";"); mes "Account "+.@silverAccountId+" updated"; mes "successfuly!"; close; } else // If the account is not already a VIP Silver one, add a new entry. { mes "Account ID: "+.@accountId+"."; sleep2 rand(100,850); query_sql("INSERT INTO vip_silver (`account_id`,`account_name`,`start_date`,`end_date`,`status`) VALUES ("+.@accountId+",'"+.@accountName$+"','"+gettimestr("%Y-%m-%d",21)+"','"+gettimestr("%Y-%m-%d",21)+"','ACTIVE');"); sleep2 100; query_sql("UPDATE vip_silver SET end_date = DATE_ADD(start_date, INTERVAL "+.@silverDays+" DAY) WHERE account_id = "+.@accountId+";"); query_sql("UPDATE `login` SET `level` = 1 WHERE `account_id` = "+.@accountId+";"); query_sql("UPDATE login SET `account_type` = 'SILVER' WHERE account_id = "+.@accountId+";"); mes "Account "+.@accountId+" added"; mes "successfuly!"; close; } } close; case 2: // Delete set .@getSilverList_1$,query_sql("SELECT account_name FROM vip_silver LIMIT 0,127;", .@silverList_1$); // query_sql can only display the first 128 lines of a table. This is so sad if ( getarraysize(.@silverList_1$) == 0 ) { mes "There are currently no VIP"; mes "Silver accounts."; close; } else { mes "Select the account you wish "; mes "to remove from VIP system."; set .@j$, "1. "+ .@silverList_1$; for (set .@i,1; .@i < getarraysize(.@silverList_1$); set .@i, .@i + 1 ) set .@j$, .@j$ +":"+ (.@i+1) +". "+ .@silverList_1$[.@i]; set .@j$, .@j$ +":Cancel"; next; mes .@npcName$; mes "[VIP SILVER]"; set .@menu, select(.@j$) -1; if ( .@menu == getarraysize(.@silverList_1$) ) { next; goto On_gm; } mes "Are you sure you want to remove the account "; mes .@silverList_1$[.@menu] +" ?"; if ( select( "Yes:No" ) == 2 ) { next; goto On_gm; } query_sql ("UPDATE `login` SET `level` = 0 WHERE `userid` = '"+.@silverList_1$[.@menu]+"';"); query_sql ("DELETE FROM vip_silver WHERE account_name = '"+.@silverList_1$[.@menu]+"';"); query_sql("ALTER TABLE vip_silver AUTO_INCREMENT = 1;"); query_sql("UPDATE `login` SET `account_type` = 'NORMAL' WHERE `userid` = '"+.@silverList_1$[.@menu]+"';"); mes "VIP Silver account successfuly deleted!."; close; } close; case 3: // List mes "VIP Silver accounts list:"; // List up to 127 vip accounts set .@getSilverList_1$,query_sql("SELECT account_name FROM vip_silver LIMIT 0, 127;", .@silverList_1$); for (set .@i,0; .@i < getarraysize(.@silverList_1$); set .@i, .@i + 1) mes (.@i+1)+". "+.@silverList_1$[.@i]; // You may want to add a next; command and a new LIMIT 128,255 sentence, in case you need to store and display more than 128 VIP accounts. close; case 4: // Back goto On_gm; } case 2: // Gold Menu next; mes .@npcName$; mes "[VIP GOLD]"; switch(select("Add/Extend Account:Delete Account:List Accounts:Back")) { case 1: // Add mes "Type the Account Name"; mes "you wish to add."; input .@accountName$; next; mes .@npcName$; mes "[VIP GOLD]"; mes "Enter the amount of days you"; mes "want to add to this account"; mes "status."; next; mes .@npcName$; mes "[VIP GOLD]"; input .@goldDays; // Fetch account's ID using the name of the account previously typed. set .@getAccountId,query_sql("SELECT `account_id`FROM login WHERE `userid` = '"+.@accountName$+"';",.@accountId); mes "Identificando Cuenta: "+.@accountName$+"."; sleep2 rand(100,2000); if (!.@accountId) // Checks if account exists. { mes "ERROR: Couldn't find account."; mes "Verify the account you typed"; close; } else { // Verify if account is already 'vip_gold' set .@getGoldAccount,query_sql("SELECT `account_id` FROM vip_gold WHERE `account_id` = "+.@accountId+";",.@goldAccountId); if (.@goldAccountId == .@accountId) // If it exists, update, not insert { mes "Account ID: "+.@accountId+"."; sleep2 rand(100,850); query_sql("UPDATE vip_gold SET end_date = DATE_ADD(end_date, INTERVAL "+.@goldDays+" DAY) WHERE account_id = "+.@goldAccountId+";"); query_sql("UPDATE vip_gold SET `status` = 'ACTIVE' WHERE account_id = "+.@goldAccountId+";"); query_sql("UPDATE login SET `account_type` = 'GOLD' WHERE account_id = "+.@goldAccountId+";"); mes "Account "+.@goldAccountId+" updated"; mes "successfuly!"; close; } else // If this account is not already 'vip_gold', add an entry. { mes "Account ID: "+.@accountId+"."; sleep2 rand(100,850); query_sql("INSERT INTO vip_gold (`account_id`,`account_name`,`start_date`,`end_date`,`status`) VALUES ("+.@accountId+",'"+.@accountName$+"','"+gettimestr("%Y-%m-%d",21)+"','"+gettimestr("%Y-%m-%d",21)+"','ACTIVE');"); sleep2 100; query_sql("UPDATE vip_gold SET end_date = DATE_ADD(start_date, INTERVAL "+.@goldDays+" DAY) WHERE account_id = "+.@accountId+";"); query_sql("UPDATE `login` SET `level` = 2 WHERE `account_id` = "+.@accountId+";"); query_sql("UPDATE login SET `account_type` = 'GOLD' WHERE account_id = "+.@accountId+";"); mes "Account "+.@accountId+" updated"; mes "successfuly!"; close; } } close; case 2: // Delete set .@getGoldList_1$,query_sql("SELECT account_name FROM vip_gold LIMIT 0,127;", .@goldList_1$); if ( getarraysize(.@goldList_1$) == 0 ) { mes "There are currently no VIP"; mes "accounts."; close; } else { mes "Select the account you wish "; mes "to remove from VIP system Gold."; set .@j$, "1. "+ .@goldList_1$; for (set .@i,1; .@i < getarraysize(.@goldList_1$); set .@i, .@i + 1 ) set .@j$, .@j$ +":"+ (.@i+1) +". "+ .@goldList_1$[.@i]; set .@j$, .@j$ +":Cancel"; next; mes .@npcName$; mes "[VIP GOLD]"; set .@menu, select(.@j$) -1; if ( .@menu == getarraysize(.@goldList_1$) ) { next; goto On_gm; } mes "Are you sure you want to remove the account "; mes .@goldList_1$[.@menu] +" ?"; if ( select( "Yes:No" ) == 2 ) { next; goto On_gm; } query_sql ("UPDATE `login` SET `level` = 0 WHERE `userid` = '"+.@goldList_1$[.@menu]+"';"); query_sql ("DELETE FROM vip_gold WHERE account_name = '"+.@goldList_1$[.@menu]+"';"); query_sql("ALTER TABLE vip_gold AUTO_INCREMENT = 1;"); query_sql("UPDATE `login` SET `account_type` = 'NORMAL' WHERE `userid` = '"+.@goldList_1$[.@menu]+"';"); mes "VIP Gold account successfuly deleted!."; close; } close; case 3: // List mes "List Accounts VIP Gold:"; // List only 128 accounts due to eAthena's limitations very sad indeed. set .@getgoldList_1$,query_sql("SELECT account_name FROM vip_gold LIMIT 0,127;", .@goldList_1$); for (set .@i,0; .@i < getarraysize(.@goldList_1$); set .@i, .@i + 1) mes (.@i+1)+". "+.@goldList_1$[.@i]; close; case 4: // Back goto On_gm; } case 3: // Menu VIP Platinum next; mes .@npcName$; mes "[VIP PLATINUM]"; switch(select("Add/Extend Account:Delete Account:List Accounts:Back")) { case 1: // Add mes "Type the Account Name"; mes "you wish to add."; input .@accountName$; next; mes .@npcName$; mes "[VIP PLATINUM]"; mes "Enter the amount of days you"; mes "will add to this account's"; mes "status."; next; mes .@npcName$; mes "[VIP PLATINUM]"; input .@platinumDays; // Fetch account's ID using the name of the account previously typed. set .@getAccountId,query_sql("SELECT `account_id`FROM login WHERE `userid` = '"+.@accountName$+"';",.@accountId); mes "Identificando Cuenta: "+.@accountName$+"."; sleep2 rand(100,2000); if (!.@accountId) // Checks if account exists { mes "ERROR: Couldn't find this account"; mes "Enter the account correctly"; close; } else { // Is this account a 'vip_platinum' already? set .@getPlatinumAccount,query_sql("SELECT `account_id` FROM vip_platinum WHERE `account_id` = "+.@accountId+";",.@platinumAccountId); if (.@platinumAccountId == .@accountId) // If this account is 'vip_platinum' update instead of insterting a new entry. { mes "Account ID: "+.@accountId+"."; sleep2 rand(100,850); query_sql("UPDATE vip_platinum SET end_date = DATE_ADD(end_date, INTERVAL "+.@platinumDays+" DAY) WHERE account_id = "+.@platinumAccountId+";"); query_sql("UPDATE vip_platinum SET `status` = 'ACTIVE' WHERE account_id = "+.@platinumAccountId+";"); query_sql("UPDATE login SET `account_type` = 'PLATINUM' WHERE account_id = "+.@platinumAccountId+";"); mes "Account "+.@platinumAccountId+" updated"; mes "successfuly!"; close; } else // If it's not VIP already, insert a new entry { mes "Account ID: "+.@accountId+"."; sleep2 rand(100,850); query_sql("INSERT INTO vip_platinum (`account_id`,`account_name`,`start_date`,`end_date`,`status`) VALUES ("+.@accountId+",'"+.@accountName$+"','"+gettimestr("%Y-%m-%d",21)+"','"+gettimestr("%Y-%m-%d",21)+"','ACTIVE');"); sleep2 100; query_sql("UPDATE vip_platinum SET end_date = DATE_ADD(start_date, INTERVAL "+.@platinumDays+" DAY) WHERE account_id = "+.@accountId+";"); query_sql("UPDATE `login` SET `level` = 3 WHERE `account_id` = "+.@accountId+";"); query_sql("UPDATE login SET `account_type` = 'PLATINUM' WHERE account_id = "+.@accountId+";"); mes "Account "+.@accountId+" updated"; mes "successfuly!"; close; } } close; case 2: // Delete set .@getPlatinumList_1$,query_sql("SELECT account_name FROM vip_platinum LIMIT 0,127;", .@platinumList_1$); if ( getarraysize(.@platinumList_1$) == 0 ) { mes "There are currently no VIP"; mes "Platinum accounts."; close; } else { mes "Select the account you wish "; mes "to remove from VIP system Platinum."; set .@j$, "1. "+ .@platinumList_1$; for (set .@i,1; .@i < getarraysize(.@platinumList_1$); set .@i, .@i + 1 ) set .@j$, .@j$ +":"+ (.@i+1) +". "+ .@platinumList_1$[.@i]; set .@j$, .@j$ +":Cancel"; next; mes .@npcName$; mes "[VIP PLATINUM]"; set .@menu, select(.@j$) -1; if ( .@menu == getarraysize(.@platinumList_1$) ) { next; goto On_gm; } mes "Are you sure you want to remove the account "; mes .@platinumList_1$[.@menu] +" ?"; if ( select( "Yes:No" ) == 2 ) { next; goto On_gm; } query_sql ("UPDATE `login` SET `level` = 0 WHERE `userid` = '"+.@platinumList_1$[.@menu]+"';"); query_sql ("DELETE FROM vip_platinum WHERE account_name = '"+.@platinumList_1$[.@menu]+"';"); query_sql("ALTER TABLE vip_platinum AUTO_INCREMENT = 1;"); query_sql("UPDATE `login` SET `account_type` = 'NORMAL' WHERE `userid` = '"+.@platinumList_1$[.@menu]+"';"); mes "VIP Platinum account successfuly deleted!."; close; } close; case 3: // List mes "List Accounts VIP Platinum:"; set .@getplatinumList_1$,query_sql("SELECT account_name FROM vip_platinum LIMIT 0,127;", .@platinumList_1$); for (set .@i,0; .@i < getarraysize(.@platinumList_1$); set .@i, .@i + 1) mes (.@i+1)+". "+.@platinumList_1$[.@i]; close; case 4: // Back goto On_gm; } case 4: // Quit close; } terminateVip: // This function removes any VIP status from the specified account set .@dbTableName$,getarg(0); // Table name set .@accountId,getarg(1); // Account ID query_sql("UPDATE `login` SET `level` = 0 WHERE account_id = "+.@accountId+";"); // Set account level to 0 query_sql("DELETE FROM "+.@dbTableName$+" WHERE account_id = '"+.@accountId+"';"); // Delete VIP table entry query_sql("ALTER TABLE "+.@dbTableName$+" AUTO_INCREMENT = 1;"); // Tries to reset id count query_sql("UPDATE `login` SET `account_type` = 'NORMAL' WHERE `account_id` = "+.@accountId+";"); // Set account type to "NORMAL" in 'login' table goto L_displayInfo;} - script VIP_GRATIS#5 -1,{OnPCLoginEvent: query_sql "SELECT `vip_platinum` FROM `login` WHERE `account_id` = '"+ getcharid(3) +"'", @dias; if (@dias > 0) query_sql "UPDATE `login` SET `level` = '1' WHERE `account_id` = '"+ getcharid(3) +"'"; dispobottom "Você acaba de receber 5 dias de premmy. RELOGUE PARA ATIVAR"; if (getgmlevel() < 1 && #done_acc_vip <= 0) close2; { query_sql "UPDATE `login` SET `level` = '1' WHERE `account_id` = '"+ getcharid(3) +"'"; query_sql "UPDATE `login` SET `vip_silver` = '5' WHERE `account_id` = '"+ getcharid(3) +"' AND `level` = '1'"; set #done_acc_vip,1; dispbottom "[Atendente VIP]"; dispbottom "Você acaba de ganhar 5 dias de VIP grátis! Obrigado por jogar no RagnaPoint"; close2; }
Failed to connect to server after selecting character
in General Server Support
Posted
i did so
change ip in map-server and char-server 127.0.0.1 for my IP (host)
i remove "//" login_ip: char_ip map_ip
disable packet obfuscation
disble packet encryption in hexed.
work