Jump to content

Christopher Freitas

Members
  • Content Count

    15
  • Joined

  • Last visited

Posts posted by Christopher Freitas


  1. Sobre o Husky,

     

    Encontrei um servidor que utiliza, baixei , tentei usar algumas ferramentas e fui barrado.

    Na questão de bot's ainda não tentei, mas por ser um servidor com pouquíssimos players , acredito que não estão usando.

     

    Mas vou tentar e deixar um feed aqui ! 


  2. 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) );


  3. 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 !

     


  4. 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.				)			)			)	));?> 

     

     

     


  5.  

    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 !


  6. 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 2



    used 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  

  7. 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...

  8. 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 ... 


  9.  

     

    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?
     
    WUIbbeY.png?1

     

    Yes, the GRF is necessary since ROChargen extracts the sprites from it  :ok: 

    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 =


  10. 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?
     
    WUIbbeY.png?1

  11. 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;	}

×
×
  • Create New...

Important Information

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