Need Help!
#1

I have added a Kill Streak System on my gamemode and I stuck on something.
I want if someone kills the player who has more than 5 kills in a row to
pawn Код:
SendClientMessageToAll
/*%s stopped %s's kill streak!*/
How can I do that?
pawn Код:
new KillStreak[MAX_PLAYERS];
pawn Код:
public OnPlayerConnect(playerid)
{
        KillStreak[playerid] = 0;
        return 1;
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
    KillStreak[playerid] = 0;
    return 1;
}
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
      if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID)
      {
             if(GetPlayerWantedLevel(killerid) < 6)
        {
              SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid) + 1);
         }
       
            KillStreak[killerid]++;        
            GivePlayerMoney(killerid, 1000);
      }

    SetPlayerWantedLevel(playerid,0);
        KillStreak[playerid] = 0;


    new str[256], PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(killerid, PlayerName, sizeof(PlayerName));

        switch( KillStreak[ killerid ] )
      {
    case 1: //You wouldn't really count 1 kill as a streak but it gives you an idea
    {      
        format(str, sizeof(str), "~r~ %s is on a kill!", PlayerName);
        GameTextForAll(str,4000,4);
    }
    case 2:
    {
        format(str, sizeof(str), "~r~ %s is on a ~b~double kill!", PlayerName);
        GameTextForAll(str,4000,4);
    }
    case 3:
    {
        format(str, sizeof(str), "~y~%s is on a ~r~killing spree!", PlayerName);
        GameTextForAll(str,4000,4);
    }
    case 4:
    {
        format(str, sizeof(str), "~g~%s is on a ~b~mmmmmonster kill!", PlayerName);
        GameTextForAll(str,4000,4);
    }
    case 5:
    {
        format(str, sizeof(str), "~r~%s is ~p~dominating!", PlayerName);
        GameTextForAll(str,4000,4);
    }
    case 6:
    {
        format(str, sizeof(str), "~p~%s is ~y~unstopable!", PlayerName);
        GameTextForAll(str,4000,4);
    }/*
    case 7: //You can do this as many times as you like
    {
        format(str,sizeof(str),"%s is annihilating!",Killername);
        GameTextForAll(str,4000,4);
    }
    case 10:
    {
        format(str,sizeof(str),"%s is GodLike!",Killername);
        GameTextForAll(str,4000,4);
    }*/

    }

    return 1;
}
Reply
#2

If(PlayerInfo[playerid][pSteak] == 4) SendClientMesageToAll(...);
?
EDIT Higher than 5? Well either way you just need to check the Streak of the person who got killed
Reply
#3

So you got to check the playerid killstreak since he is the one who dies:

pawn Код:
if ( KillStreak[ playerid ] == 5 )
{
    new
        pID_name[ MAX_PLAYER_NAME ],
        killerID_name[ MAX_PLAYER_NAME ],
        sZMessage[ 128 ];
       
    GetPlayerName( playerid, pID_name, MAX_PLAYER_NAME );
    GetPlayerName( killerid, killerID_name, MAX_PLAYER_NAME );
   
    format( sZMessage, sizeof ( sZMessage ), "%s stopped %s's killstreak !", killerID_name, pID_name );
    SendClientMessageToAll( -1, sZMessage );
   
    KillStreak[ playerid ] = 0; /* reset his killstreak */
}
Reply
#4

Quote:
Originally Posted by SmiT
Посмотреть сообщение
So you got to check the playerid killstreak since he is the one who dies:

pawn Код:
if ( KillStreak[ playerid ] == 5 )
{
    new
        pID_name[ MAX_PLAYER_NAME ],
        killerID_name[ MAX_PLAYER_NAME ],
        sZMessage[ 128 ];
       
    GetPlayerName( playerid, pID_name, MAX_PLAYER_NAME );
    GetPlayerName( killerid, killerID_name, MAX_PLAYER_NAME );
   
    format( sZMessage, sizeof ( sZMessage ), "%s stopped %s's killstreak !", killerID_name, pID_name );
    SendClientMessageToAll( -1, sZMessage );
   
    KillStreak[ playerid ] = 0; /* reset his killstreak */
}
Thank you SmiT
ERROR: You must spread some Reputation around before giving it to SmiT again.
I will try to give you again later.

Also, is this correct?
pawn Код:
new str[256], PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(killerid, PlayerName, sizeof(PlayerName));
    switch( KillStreak[ killerid ] ) {
        case 5:
        {
            format(str, sizeof(str), "%s is on a kill streak! 5 kills in a row!", PlayerName);
            SendClientMessageToAll(COLOR_GREEN,str);
        }
        case 10:
        {
            format(str, sizeof(str), "%s is on fire! 10 kills in a row!", PlayerName);
            GivePlayerWeapon(playerid, 31, 99999);
            SendClientMessageToAll(COLOR_GREEN,str);
        }
        case 15:
        {
            format(str, sizeof(str), "Can anyone stop %s? 15 kills in a row!", PlayerName);
            SendClientMessageToAll(COLOR_GREEN,str);
        }
        case 20:
        {
            format(str, sizeof(str), "%s is unstoppable! 20 kills in a row!", PlayerName);
            GivePlayerWeapon(playerid, 26, 99999);
            SendClientMessageToAll(COLOR_GREEN,str);
        }
    }
    return 1;
}
Reply
#5

Damn i had the Same Problem.. All nobs were posting on my topic and it reached 3 page and no help i left it... if someone want to help Here
https://sampforum.blast.hk/showthread.php?tid=296013
Edit: without Stigg
Reply
#6

Quote:
Originally Posted by Kostas'
Посмотреть сообщение
Thank you SmiT
ERROR: You must spread some Reputation around before giving it to SmiT again.
I will try to give you again later.

Also, is this correct?
..code
It looks fine to me!
Reply
#7

Quote:
Originally Posted by SmiT
Посмотреть сообщение
It looks fine to me!
He is giving weapons to playerid not killerid so killer with streak won't get that weapons. That's the problem.

GivePlayerWeapon(killerid...
Reply
#8

Quote:
Originally Posted by Cypress
Посмотреть сообщение
He is giving weapons to playerid not killerid. That's the problem.
Missed that - sorry!
Reply
#9

Nevermind.
Reply
#10

Oh, my bad. I change it to GivePlayerWeapon(killerid..
Thank you all
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)