Deathlist with Icons (Just like SA:MP but with cool VC:MP Icons)

Started by Pun1sh3r, Aug 02, 2015, 09:12 PM

Previous topic - Next topic

Pun1sh3r

Hello all!

I present you here my new Deathlist I made when I was bored and thought it would be nice to share it to you guys.

Images with Weapons are from the Wikipedia site from wiki.vc-mp.org and the other Images are made by Pwnzor (Yes I got the premission from him to share his Pictures.)


Put this code at the first few lines in your Script
//Deathlist Settings

MaxLines <- 5;             //Max Lines it shows in Deathlist
LineGap <- 30;            //How much space between the Names
PosX <- -245;              //PosX for first part      (Do not change unless you know what you are doing)
PosY <- 504;               //PosY for first part       (Do not change unless you know what you are doing)
PosX2 <- -190;           //PosX for second part  (Do not change unless you know what you are doing)
PosY3 <- 502;            //PosY for second part   (Do not change unless you know what you are doing)

Put this code under onScriptLoad public
//Death Window Vars
TextLengh <- array(MaxLines);
TextInfo <- array(MaxLines);
TextInfo2 <- array(MaxLines);
SpriteInfo <- array(MaxLines);

Put this code somewhere you want if onPlayerDeath and onPlayerKill is not already used, if you have it already then just add the DeathWindow part in your public.

function onPlayerDeath( player, reason )
{
DeathWindow(player.Name, reason, " "); //" " must be with space to prevent any bugs
return 1;
}

function onPlayerKill( player, killer, reason, bodypart )
{
DeathWindow(killer.Name, reason, player.Name);
return 1;
}

This is the main function to make the Deathlist working
function DeathWindow(leftName, reason, rightName)
{
image <- "" + reason + ".png";
if (TextInfo[0])
{
TextInfo[0].Delete();
}
if(SpriteInfo[0])
{
SpriteInfo[0].Delete();
}
if (TextInfo2[0])
{
TextInfo2[0].Delete();
}
for (local i=0; i<MaxLines-1; i++)
{
if(TextLengh[i+1])
{
TextLengh[i] = TextLengh[i+1];
}
if (TextInfo[i+1])
{
TextInfo[i] = TextInfo[i+1];
TextInfo[i].SetPosForAll(PosX-TextLengh[i], PosY-(i)*LineGap);
}

if(SpriteInfo[i+1])
{
SpriteInfo[i] = SpriteInfo[i+1];
SpriteInfo[i].SetPosForAll(-230, PosY3-(i)*LineGap);
}

if(TextInfo2[i+1])
{
TextInfo2[i] = TextInfo2[i+1];
TextInfo2[i].SetPosForAll(PosX2, PosY-(i)*LineGap);
}
}

MinusPosX <- 0;

if(leftName.len() == 1)
{
MinusPosX <- 8;
}
else
{
MinusPosX <- leftName.len()*8;
}

TextLengh[MaxLines-1] = MinusPosX;
TextInfo[MaxLines-1] = CreateTextdraw(leftName, PosX-MinusPosX, PosY-(MaxLines-1)*LineGap, 0xFFB0B0B0);
TextInfo[MaxLines-1].ShowForAll();
SpriteInfo[MaxLines-1] = CreateSprite(image, -230, PosY3-(MaxLines-1)*LineGap, 0, 0, 0, 200);
SpriteInfo[MaxLines-1].ShowForAll();
TextInfo2[MaxLines-1] = CreateTextdraw(rightName, PosX2, PosY-(MaxLines-1)*LineGap, 0xFFB0B0B0);
TextInfo2[MaxLines-1].ShowForAll();
return 1;
}


Additional you can add Connect and Disconnect messages to the Deathlist to reduce the Spam in Chat with Connect and Disconnect messages.

function onPlayerJoin(player)
{
DeathWindow(" ", "71", player.Name);
return 1;
}

function onPlayerPart( player, reason )
{
DeathWindow(" ", "72", player.Name);
return 1;
}

Downloads:
Images
Deathlist with Icons and script for the lazy peoples :)

Note: Please do not add any other download links, thanks!

Credits:
Pun1sh3r (Creator)
Pwnzor (For the Images he made such as Connect/Disconnect/Death/Explode and so on...)
ysc3839 - for the basic code at DeathWindow

soulshaker

Good to see people implementing new things. Nice work!!

MatheuS

DeathWindow(player.Name, reason, killer.Name); to
DeathWindow(Killer.Name, reason, player.Name);

Good. ;)
if( !sucess ) tryAgain();
Thanks to the VCMP community. It was the happiest period of my life.


Sebastian


MacTavish


Grand Hunting Project
Join #SLC, #KAKAN, #Doom, #GHP @LUnet

Retired VC:MP Player/Scripter :P


DizzasTeR


Pun1sh3r

Quote from: MatheuS on Aug 02, 2015, 10:23 PMDeathWindow(player.Name, reason, killer.Name); to
DeathWindow(Killer.Name, reason, player.Name);
Good. ;)

Whoops, Improved it in the first post and updated the Full Package.

Thanks :)

Lovesh Verma

QuoteMy Friend Says VCMP was developed by stormues, maxorator and ...
But i say it does not matter, as NE.CrystalBlue is like that people only

KAKAN

oh no


KAKAN

oh no

MatheuS

if( !sucess ) tryAgain();
Thanks to the VCMP community. It was the happiest period of my life.