-
Posts
2,854 -
Credits
0 -
Joined
-
Last visited
-
Days Won
41 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Nightw0lf
-
LF Custom Updater All chronicles
Nightw0lf replied to Pigasos-Dev's topic in [Request] Client Dev Help
https://updater.denart-designs.com/ -
https://ufile.io/njh1z97v
-
Which one is your favorite voting platform?
Nightw0lf replied to Dunlander's topic in Votes/Polls Area
hopzone real players topzone real players the rest not worth problem with hopzone abandoned. problem with topzone xzone attitude. -
l2tool l2utxfixer https://easyupload.io/0qfabd
-
https://easyupload.io/z8yx4p
-
https://easyupload.io/92ba7u
-
Help RequestSellItem.java
Nightw0lf replied to HARDECORE's question in Request Server Development Help [L2J]
-
portfolio.denart-designs.com
-
Help RequestSellItem.java
Nightw0lf replied to HARDECORE's question in Request Server Development Help [L2J]
-
Help RequestSellItem.java
Nightw0lf replied to HARDECORE's question in Request Server Development Help [L2J]
change this player.addAdena("Sell", totalPrice, merchant, false); to player.addAdena("Sell", 1, merchant, false); the best solution is to write for all items sold that cost is 1 adena in the window so you wont confuze players -
Code Clan Crest read from database in PHP
Nightw0lf replied to Nightw0lf's topic in Server Shares & Files [L2J]
I know imagick and unpack in fact I did a search before I start the code but I decided the old way to give a more detailed example of how it could be done. I also saw that imagick was not by default enabled in PHP I wanted an out of box solution as possible and here it is. PS: also is a start if anybody wants can mess with imagick and re-share :) a shorter solution, the solution is the same. -
<?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; } } ?>
-
Help Restart AuthServerCommunication error
Nightw0lf replied to giwrgos_'s question in Request Server Development Help [L2J]
και τι θες να μας πείς ρε Γιώργο οτι δεν κατάλαβες τι λέει το ερρορ; κοιτα μάλλων λύπει κάποιο αρχείο θα χρειαστεί να πείς κιάλλα πράγματα για το σέρβερ για να βρείς λύση -
What is wrong with you and your language people show some respect on the forum, you talk like this on your parents? you are disgusting how you talk like this to a new member in maxcheaters?
-
in this topic http://prntscr.com/prf7b8 Here is a photo of achylek in l2archage he is big fan obviously. http://prntscr.com/prfoa8 now here is the timeline of l2archage. https://l2archage.com/forum/changelog/ This is the changelog. @AchYlek where is your proofs for telling all this about me with bad attitude? What trash files I sold and how you know this where is your proofs? Just because I am paid to post some things in a forum does not mean you can go around and talk about me like that, maybe you should be banned for spreading false information without proofs, any member of archage team can confirm my place in the project.
-
even advext is cheaper and has updates and fixes what is your support on the trash that already failed?
-
translation i failed with my bullshit and now i am selling my bullshit created by me: i edited some text files changed some configs on vanganth shared sources (or worse the old cracked version) now i want a newby to buy my failure so i can go to vacation hoping i will find some noob that he wont report me
-
WTS Service - 100% DDoS protection (OVH)
Nightw0lf replied to SkyLord's topic in Marketplace [L2Packs & Files]
your ddos is application related? licence not license for app/source c++ /php explain how you ddos protect the PHP and C++ i am all ears! dude if you keep like that i will report you for scamming stop your bullshit specially when you dont care to explain what you sell and when you dont know what you sell or how it works -
WTS Server l2thegame x15 PTS (December 2018)
Nightw0lf replied to SkyLord's topic in Marketplace [L2Packs & Files]
l2thegame? oh wait its skylord lets pretend we didnt see that coming -
https://captiongenerator.com/1556932/o-Kara-kai-to-Datapack
-
you can add skill on porting the players to arena and then remove when the code port them to town or you can add skill on olympiad zone so when they enter they get this skill depends on their class or you can write a tone of useless code like balancer in formula
-
I just saw via teamviewer kara's code and i have some comments a) The core is looking similar to rizels (we talk about 1 class here) b) The xml also looks similar c) The rest of the code is years ahead and not even close to rizels code and its more than 20 classes
-
he just stole kara's code (check spam section)
-
of topic on spam section, are you on drugs?
-
@Maxtor did you just unban a guy who stole 400 euros in total?