Jump to content

ICPNetworks V3 ~~> Multiplataform: L2j & L2OFF


Recommended Posts


Talvez eu não consiga postar o painel essa semana, pois estou adicionando novos templates e isso está me custando muito tempo.

Conversando com o @Kelvin e com autorização do @AiroN (proprietário da AtualStudio), decidimos juntar os sites vazados da AtualStudio no ICPNetworks V4.

Sendo assim, agora além do melhor sistema de gerenciamento web para lineage 2, vocês também terão os melhores templates web de lineage 2 em um único lugar.

E o melhor de tudo... TOTALMENTE GRATIS!

Inicialmente, teremos ao menos 20 templates da AtualStudio no ICPNetworks V4 e mais os outros templates existentes no V3 e mais os outros que foram disponibilizados aqui no fórum. Ou seja, não vai faltar opções!

 

No video acima eu mostro alguns templates que eu estou adaptando, assistam.

Valeu, abraços.

 

 

 

Link to comment
Share on other sites

3 hours ago, Ivan Pires said:

Talvez eu não consiga postar o painel essa semana, pois estou adicionando novos templates e isso está me custando muito tempo.

Conversando com o @Kelvin e com autorização do @AiroN (proprietário da AtualStudio), decidimos juntar os sites vazados da AtualStudio no ICPNetworks V4.

Sendo assim, agora além do melhor sistema de gerenciamento web para lineage 2, vocês também terão os melhores templates web de lineage 2 em um único lugar.

E o melhor de tudo... TOTALMENTE GRATIS!

Inicialmente, teremos ao menos 20 templates da AtualStudio no ICPNetworks V4 e mais os outros templates existentes no V3 e mais os outros que foram disponibilizados aqui no fórum. Ou seja, não vai faltar opções!

No video acima eu mostro alguns templates que eu estou adaptando, assistam.

Valeu, abraços.

congrats my friend, it will look really cool to integrate the previously leaked templates into v4 so people will be able to use so many different templates on their website,I know these designs because I have used them on my own websites before

 legal integrar os templates vazados anteriormente na v4 para que as pessoas possam usar tantos templates diferentes em seu site, eu conheço esses designs porque já os usei em meus próprios sites antes

Link to comment
Share on other sites

5 horas atrás, Ivan Pires disse:

Talvez eu não consiga postar o painel essa semana, pois estou adicionando novos templates e isso está me custando muito tempo.

Conversando com o @Kelvin e com autorização do @AiroN (proprietário da AtualStudio), decidimos juntar os sites vazados da AtualStudio no ICPNetworks V4.

Sendo assim, agora além do melhor sistema de gerenciamento web para lineage 2, vocês também terão os melhores templates web de lineage 2 em um único lugar.

E o melhor de tudo... TOTALMENTE GRATIS!

Inicialmente, teremos ao menos 20 templates da AtualStudio no ICPNetworks V4 e mais os outros templates existentes no V3 e mais os outros que foram disponibilizados aqui no fórum. Ou seja, não vai faltar opções!

No video acima eu mostro alguns templates que eu estou adaptando, assistam.

Valeu, abraços.

Mas vai ser utilizado os arquivos vazados? Isso não pode gerar algum problema de segurança ou o ramon além da autorização deu também os arquivos originais? 

Parabéns pelo projeto. 

"Tudo o que um sonho precisa para ser realizado é alguém que acredite que ele possa ser realizado"

Link to comment
Share on other sites

1 hora atrás, Sr.Felipe disse:

Mas vai ser utilizado os arquivos vazados? Isso não pode gerar algum problema de segurança ou o ramon além da autorização deu também os arquivos originais? 

Parabéns pelo projeto. 

Não gera problema nenhum, pois só o que está sendo usado da atualstudio é o layout(imagens, html, css e javascript). Toda a comunicação entre a hospedagem e o dedicado é feita pelo meu sistema, pelo painel icpnetworks.

É como se fosse uma mascara. Se você usar uma mascara você continua sendo você, mesmo parecendo com outra pessoa. Entendeu?

Mas a sua pergunta foi bem inteligente.

Edited by Ivan Pires

 

 

 

Link to comment
Share on other sites

hace 2 horas, ozcanars dijo:

la versión que desea instalar los archivos, los 3 están disponibles por un tiempo de 4 dormitorios, aún no se ha completado, se dará a conocer en breve

https://web.com/donar/index.php?icp=painel

Inicio sessão como no tutorial, mas isso leva-me ao website principal, mas não posso entrar no painel.

Eu uso acis

 

             L2 Legendary

image.png.6083bcad91c23c80621635179e0edb35.png

 

 

 

 

Link to comment
Share on other sites

35 minutos atrás, lucasxd0 disse:

poderia fazer um vídeo adaptando alguns dos sites de php para html?

Eu acabei de terminar de adaptar os 20 templates. Eu achei que eu ia demorar muito mais tempo, mas é tão simples que foi rápido.

Adaptei 20 templates em 1 dia.

Tem um video meu no youtube adaptando um site, já viu?

 

 

 

Link to comment
Share on other sites

27 minutos atrás, Ivan Pires disse:

Eu acabei de terminar de adaptar os 20 templates. Eu achei que eu ia demorar muito mais tempo, mas é tão simples que foi rápido.

Adaptei 20 templates em 1 dia.

Tem um video meu no youtube adaptando um site, já viu?

Facil nada kkk passei 1 semana tentando converter aquilo pro html que até desisti kkkkkkk

Link to comment
Share on other sites

10 minutos atrás, Akyra_Play disse:

Facil nada kkk passei 1 semana tentando converter aquilo pro html que até desisti kkkkkkk

É fácil, quando você entender como o sistema funciona você faz rapidinho.

TALVEZ eu consiga finalizar até domingo. =D

 

 

 

Link to comment
Share on other sites

1 hora atrás, Ivan Pires disse:

É fácil, quando você entender como o sistema funciona você faz rapidinho.

TALVEZ eu consiga finalizar até domingo. =D

Rapaz uma coisa muito massa seria add o script que aparece a crest do clan no website eu tinha o php da função não sei onde coloquei ele le o cod name do clan e capituara a imagem dds e monstra no web na parte de ranks a crest

3 minutos atrás, Akyra_Play disse:

Rapaz uma coisa muito massa seria add o script que aparece a crest do clan no website eu tinha o php da função não sei onde coloquei ele le o cod name do clan e capituara a imagem dds e monstra no web na parte de ranks a crest

<?php
//
// Crest read from database by nightwolf
//
// Description
// Usage 1: show a crest stored in database by using a clan id (form or var)
// Usage 2: save a crest in a file "crests/[clanid].png" (where [clanid] is the clan id in database)
//
// Notes
// 1: Cannot be SQL injected, this system uses prepared statements and PDO driver.
// 2: Checks only for integer values if not then nothing happens
// 3: Make sure you have in same level of this file a folder named "crests" with write permissions

// Database values
$ip = "";
$dbname = "";
$user = "";
$pass = "";

// show directly image on browser or save to /crests/[clanid].png
$showImage = false;

// expected request from a post form (remove if you want to set a var or make this part of another class)
if ($showImage == false && (isset($_POST['ClanId']) && ! is_numeric($_POST['ClanId'])))
	return; // not an integer

// POST by form (remove if you want to set $ClanId with a var of another class)
$ClanId = $_POST['ClanId'] ?? 269884921; // set your var with ClanId this is an example

// call the class Crest and inject the variables
$crest = new Crest($ip, $dbname, $user, $pass);
$crest = $crest->getCrest($ClanId);

/**
 *
 * @author Nightwolf
 */
class Crest
{

	/**
	 *
	 * @var Crest $connection
	 */
	private $connection;

	/**
	 *
	 * @var Crest $DatabaseIP
	 */
	private $DatabaseIP;

	/**
	 *
	 * @var Crest $DatabaseName
	 */
	private $DatabaseName;

	/**
	 *
	 * @var Crest $DatabaseUser
	 */
	private $DatabaseUser;

	/**
	 *
	 * @var Crest $DatabasePass
	 */
	private $DatabasePass;

	/**
	 *
	 * @var Crest $ClanId
	 */
	private $ClanId;

	/**
	 * change this according to your database if needed
	 *
	 * @var Crest $SQL_CREST
	 */
	private $SQL_CREST = "SELECT clan_data.`crest` FROM `clan_data` WHERE clan_data.`clan_id` = :ClanId;";

	/**
	 * Constructor of the class Crest
	 *
	 * @param string $ip
	 * @param string $dbname
	 * @param string $user
	 * @param string $pass
	 */
	public function __construct($ip, $dbname, $user, $pass)
	{
		$this->DatabaseIP = $ip;
		$this->DatabaseName = $dbname;
		$this->DatabaseUser = $user;
		$this->DatabasePass = $pass;

		// Create new Database connection (you can inject yours in constructor)
		try
		{
			$this->connection = new PDO('mysql:host=' . $this->DatabaseIP . ';dbname=' . $this->DatabaseName, $this->DatabaseUser, $this->DatabasePass);
		}
		catch (PDOException $e)
		{
			die($e->getMessage());
		}
	}

	/**
	 * Check in database for the clan ID
	 *
	 * @param integer $ClanId
	 * @param boolean $showImage
	 */
	public function getCrest($ClanId, $showImage)
	{
		try
		{
			$stmt = $this->connection->prepare($this->SQL_CREST);
			$stmt->bindParam(':ClanId', $ClanId, PDO::PARAM_INT);
			$stmt->setFetchMode(PDO::FETCH_ASSOC);
			$stmt->execute();
			$result = $stmt->fetch(PDO::FETCH_ASSOC);
			if (isset($result['crest']))
				$this->MakeImage($result['crest'], $ClanId, $showImage);
		}
		catch (Exception $e)
		{
			die($e->getMessage());
		}
	}

	/**
	 * Make a file of the crest image
	 *
	 * @param string $image
	 * @param integer $ClanId
	 * @param boolean $showImage
	 */
	private function MakeImage($image, $ClanId, $showImage)
	{
		// save path
		$save = "crests/" . $ClanId . ".png";

		$rnd_file = tmpfile();
		fwrite($rnd_file, $image);
		fseek($rnd_file, 0);
		$file = &$rnd_file;
		$dds = fread($file, 4);

		// Do not continue if the file is not a DDS image
		if ($dds !== 'DDS ')
			die("Error: is not an DDS image");

		// unused size flags pitch (depends on usage i dont need them)
		$hdrSize = $this->readInt($file);
		$hdrFlags = $this->readInt($file);
		$imgHeight = $this->readInt($file) - 4;
		$imgWidth = $this->readInt($file);
		$imgPitch = $this->readShort($file);
		fseek($file, 84);
		$dxt1 = fread($file, 4);

		// do not conintue in case of a non DX1 format
		if ($dxt1 !== 'DXT1')
			die("Error: format is not DX1");

		fseek($file, 128);
		if ($showImage == true)
			header("Content-type: image/png");
		$img = imagecreatetruecolor($imgWidth, $imgHeight);
		for ($y = - 1; $y < $imgHeight / 4; $y ++)
		{
			for ($x = 0; $x < $imgWidth / 4; $x ++)
			{
				$color0_16 = $this->readShort($file);
				$color1_16 = $this->readShort($file);
				$r0 = ($color0_16 >> 11) << 3;
				$g0 = (($color0_16 >> 5) & 63) << 2;
				$b0 = ($color0_16 & 31) << 3;
				$r1 = ($color1_16 >> 11) << 3;
				$g1 = (($color1_16 >> 5) & 63) << 2;
				$b1 = ($color1_16 & 31) << 3;
				$color0_32 = imagecolorallocate($img, $r0, $g0, $b0);
				$color1_32 = imagecolorallocate($img, $r1, $g1, $b1);
				$color01_32 = imagecolorallocate($img, $r0 / 2 + $r1 / 2, $g0 / 2 + $g1 / 2, $b0 / 2 + $b1 / 2);
				$black = imagecolorallocate($img, 0, 0, 0);
				$data = $this->readInt($file);

				for ($yy = 0; $yy < 4; $yy ++)
				{
					for ($xx = 0; $xx < 4; $xx ++)
					{
						$bb = $data & 3;
						$data = $data >> 2;

						switch ($bb)
						{
							case 0:
								$c = $color0_32;
							break;

							case 1:
								$c = $color1_32;
							break;

							case 2:
								$c = $color01_32;
							break;

							default:
								$c = $black;
							break;
						}
						imagesetpixel($img, $x * 4 + $xx, $y * 4 + $yy, $c);
					}
				}
			}
		}
		imagepng($img, $showImage == true ? null : $save);
	}

	/**
	 * Read Integer Values
	 *
	 * @param string $file
	 * @return boolean
	 */
	private function readInt($file)
	{
		$b4 = ord(fgetc($file));
		$b3 = ord(fgetc($file));
		$b2 = ord(fgetc($file));
		$b1 = ord(fgetc($file));
		return ($b1 << 24) | ($b2 << 16) | ($b3 << 8) | $b4;
	}

	/**
	 * Read Short values
	 *
	 * @param string $file
	 * @return boolean
	 */
	private function readShort($file)
	{
		$b2 = ord(fgetc($file));
		$b1 = ord(fgetc($file));
		return ($b1 << 8) | $b2;
	}
}

?>

 

Link to comment
Share on other sites

1 hora atrás, Akyra_Play disse:

Rapaz uma coisa muito massa seria add o script que aparece a crest do clan no website eu tinha o php da função não sei onde coloquei ele le o cod name do clan e capituara a imagem dds e monstra no web na parte de ranks a crest

Isso é sensacional, mas infelizmente quase nenhum projeto tem as crests armazenadas no banco de dados. Na maioria dos projetos elas ficam armazenadas em pastas junto com os arquivos do servidor, aí não vai funcionar em todos os projetos.

Mas de qualquer forma vou adicionar. Vai ficar top!

Obrigado pela contribuição.

Edited by Ivan Pires

 

 

 

Link to comment
Share on other sites

3 minutos atrás, Ivan Pires disse:

A lucera tem as crests no db, você vai curtir, vai ficar completão! 😎

Aguardo ansiosamente, pretendo utilizar o ICP como dash principal, mas estou desenvolvendo uma API com Quarkus (Programação Reativa) pra refazer alguns fluxos no ICP, a intenção é trazer mais fluidez e quem sabe até um template em React que cai muito bem aqui junto ao Quarkus.

Link to comment
Share on other sites

14 horas atrás, Ivan Pires disse:

Eu acabei de terminar de adaptar os 20 templates. Eu achei que eu ia demorar muito mais tempo, mas é tão simples que foi rápido.

Adaptei 20 templates em 1 dia.

Tem um video meu no youtube adaptando um site, já viu?

vou dar uma olhada!!!!

Onde acho a base de itens que esse prime shop puxa?? to colocando o ID de alguns itens mais só mostra outros...

Captura de tela 2022-09-22 175924.png

Link to comment
Share on other sites

14 minutos atrás, lucasxd0 disse:

vou dar uma olhada!!!!

Onde acho a base de itens que esse prime shop puxa?? to colocando o ID de alguns itens mais só mostra outros...

Captura de tela 2022-09-22 175924.png

Na database icp_items se não me engano a maioria dos id se vc estiuver usando interlude vai puchar itens de h5 kkkkk

49 minutos atrás, Ivan Pires disse:

A lucera tem as crests no db, você vai curtir, vai ficar completão! 😎

Opa vai dar bom então literalmente era algo que eu queria pois uso lucera kkkkkk

Link to comment
Share on other sites

6 minutos atrás, Akyra_Play disse:

Na database icp_items se não me engano a maioria dos id se vc estiuver usando interlude vai puchar itens de h5 kkkkk

Opa vai dar bom então literalmente era algo que eu queria pois uso lucera kkkkkk

se eu dar um truncate table e colocar só os que eu quero utilizar da certo????

 

"Estou usando Interlude"

Edited by lucasxd0
faltou declaracao
Link to comment
Share on other sites

@Ivan Pires Coloquei a V3 aqui na minha hospedagem, funcionou 100%
Porque que no painel admin, não aparece a Aba Config?
porque pra eu mudar a template do site preciso mudar pelo Banco de dados.

Status de Boss Não está funcionando na V3

Link to comment
Share on other sites

4 minutos atrás, SCRASH0 disse:

@Ivan Pires Coloquei a V3 aqui na minha hospedagem, funcionou 100%
Porque que no painel admin, não aparece a Aba Config?
porque pra eu mudar a template do site preciso mudar pelo Banco de dados.

Status de Boss Não está funcionando na V3

Qual Servidor Você usa? Se for C4 ele não foi adaptado na V3, enviei o banco para o Ivan, e foi adaptado ao V4.

19028-361.gif

Link to comment
Share on other sites

hace 19 minutos, SCRASH0 dijo:

@Ivan Pires Coloquei a V3 aqui na minha hospedagem, funcionou 100%
Porque que no painel admin, não aparece a Aba Config?
porque pra eu mudar a template do site preciso mudar pelo Banco de dados.

Status de Boss Não está funcionando na V3

amigo ajudar-me a entrar no painel?

             L2 Legendary

image.png.6083bcad91c23c80621635179e0edb35.png

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Join now

    Be part of the largest and oldest communities about Lineage2 in Latin America.






  • Patrocinadores

  • Recently Browsing

    • No registered users viewing this page.
  • Similar Content

  • Posts

    • Interessante esse projeto, parabéns @BAN - L2JDev
    • Boa noite alguém pode me manda os arquivos da coroa hero preta??
    • @Kelvin, mesmo efetuando o download do plugin acima, ou trazendo ele junto com a importação do kit, não trouxe os cabeçalhos e rodapés. O que poderia ser?
    • ta dando esse erro ao tentar donatar, alguem sabe como resolver? Edit: o Pagseguro e Paypal estão da mesma forma  O sistema de doação não esta funcionando.  
    • Hola, lo tienen para acis 382, esa version me anda para probar
    • BAN NÃO TOU CONSGUINDO TER ACESSO... TOU SEM O PATCH PODERIA DISPONIBILIZAR ?
    • Hola, ¿tienes un comando de voz para este código?      package net.sf.l2j.gameserver.taskmanager;   import java.util.logging.Logger; import net.sf.l2j.Config; import net.sf.l2j.commons.util.ArraysUtil; import net.sf.l2j.gameserver.enums.ZoneId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.model.holder.IntIntHolder; import net.sf.l2j.gameserver.skills.L2Skill; import net.sf.l2j.gameserver.skills.effects.EffectTemplate; public class AutoPotionTask implements Runnable  {     protected static final Logger _log = Logger.getLogger(AutoPotionTask.class.getName());     private int itemId;     private Player player;     private static final int[] HP_POTION_SKILL_IDS = new int[]{2031, 2032, 2037};     public AutoPotionTask(int itemId, Player player)      {         this.itemId = itemId;         this.player = player;     }     @Override     public void run()      {         if (player.isInOlympiadMode())          {             player.sendMessage("You cannot that in olympiad mode.");             player.stopAutoPotion(itemId);             return;         }                  if (player.isInJail() || player.isInsideZone(ZoneId.JAIL))          {             player.sendMessage("You cannot that in Jail mode.");             return;         }         if (Config.AUTO_POTIONS_LIMITS.containsKey(itemId))          {             String type = ((String[])Config.AUTO_POTIONS_LIMITS.get(itemId))[0];             int val = Integer.parseInt(((String[])Config.AUTO_POTIONS_LIMITS.get(itemId))[1]);             switch (type)              {                 case "CP":                 {                     if (!(player.getStatus().getCp() / (double)player.getStatus().getMaxCp() * 100.0 > (double)val)) break;                     return;                 }                 case "HP":                  {                     if (!(player.getStatus().getHp() / (double)player.getStatus().getMaxHp() * 100.0 > (double)val)) break;                     return;                 }                 case "MP":                  {                     if (!(player.getStatus().getMp() / (double)player.getStatus().getMaxMp() * 100.0 > (double)val)) break;                     return;                 }             }         }         if (!player.destroyItemByItemId("auto potion use", itemId, 1, null, true))          {             player.stopAutoPotion(itemId);             player.sendMessage("Incorrect item count.");             return;         }         if (player.getInventory().getItemByItemId(itemId) == null)          {             player.stopAutoPotion(itemId);             return;         }         IntIntHolder[] skills = player.getInventory().getItemByItemId(itemId).getEtcItem().getSkills();         if (skills == null)          {             _log.info("{} doesn't have any registered skill for handler." + player.getInventory().getItemByItemId(itemId).getName());             return;         }         for (IntIntHolder skillInfo : skills)          {             EffectTemplate template;             L2Skill itemSkill;             if (skillInfo == null || (itemSkill = skillInfo.getSkill()) == null) continue;             if (!itemSkill.checkCondition((Creature)player, (Creature)player, false))              {                 return;             }             if (player.isSkillDisabled(itemSkill))             {                 return;             }             if (itemSkill.isPotion() || itemSkill.isSimultaneousCast())              {                 player.getAI().tryToCast((Creature)player, itemSkill, false, false, itemId);             }              else              {                 player.getAI().tryToCast((Creature)player, itemSkill, false, false, itemId);             }             int skillId = skillInfo.getId();             if (!ArraysUtil.contains((int[])HP_POTION_SKILL_IDS, (int)skillId) || skillId < player.getShortBuffTaskSkillId() || (template = (EffectTemplate)itemSkill.getEffectTemplates().get(0)) == null) continue;             player.shortBuffStatusUpdate(skillId, skillInfo.getValue(), template.getCounter() * template.getPeriod());         }     }     public int getItemId()      {         return itemId;     } }  
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.