SA-MP Forums Archive
[HELP] Crash After Die - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: [HELP] Crash After Die (/showthread.php?tid=74583)



[HELP] Crash After Die - nutzkung69 - 24.04.2009

Game Crash after Die on my script.

Die and then the screen calm
and game crash

* Writing may be wrong? Because I am a People Thai.


Re: [HELP] Crash After Die - Andom - 24.04.2009

Did your server crash, or your client.
If server, try to find out what's wrong with OnPlayerDeath, and debug it.


Re: [HELP] Crash After Die - Jakku - 24.04.2009

I had same problem, check can you go through street lights and other objects and check does Burger Shot, Well Stacked Pizza and Casinos crash too. If they crash also, check your filterscripts and gamemode code has it over 150 CreateObject's


Re: [HELP] Crash After Die - nutzkung69 - 24.04.2009

I use CreateStreamedObject.

////////////////////////////////////

Some Crash.
And some do not Crash.


Re: [HELP] Crash After Die - nutzkung69 - 24.04.2009

Quote:
Originally Posted by Andom
Did your server crash, or your client.
If server, try to find out what's wrong with OnPlayerDeath, and debug it.
my OnPlayerDeath

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    new name[MAX_PLAYER_NAME];
    new string[256];
    //new dmessage[128];
    //new deathreason[20];
    new playercash;
    new victimteam;
    new Float:px,Float:py,Float:pz;
    new killerteam;

    victimteam = gTeam[playerid];
    killerteam = gTeam[killerid];
    gPlayerSpawned[playerid] = 0;
    GetPlayerName(playerid, name, sizeof(name));
    PlayerInfo[playerid][pLocal] = 255;
    GetPlayerPos(playerid, px, py, pz);
    if(killerid != 255)
    {
        if(GetPlayerState(killerid) == 2)
        {
            SendClientMessage(killerid, COLOR_YELLOW, "Drive-By Kill, การกะทำนี้ผิดกฏของเซิฟเวอร์กรุณาอย่าทำอีก!");
            return 1;
        }
    }
    if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
    {
        DisablePlayerCheckpoint(playerid);
        gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
    }
    new caller = Mobile[playerid];
    if(caller != 255)
    {
        if(caller < 255)
        {
            SendClientMessage(caller, COLOR_GRAD2, " The line just went dead....");
            CellTime[caller] = 0;
            CellTime[playerid] = 0;
            Mobile[caller] = 255;
        }
        Mobile[playerid] = 255;
        CellTime[playerid] = 0;
    }
    ClearCrime(playerid);
    if(PlayerPaintballing[playerid] != 0)
    {
      PlayerPaintballKills[killerid] ++;
      if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
      {
        new killer[MAX_PLAYER_NAME];
        PaintballWinner = killerid;
        PaintballWinnerKills = PlayerPaintballKills[killerid];
        GetPlayerName(killerid, killer, sizeof(killer));
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
          if(IsPlayerConnected(i))
          {
            if(PlayerPaintballing[i] != 0)
            {
              format(string, sizeof(string), "* %s is in the lead with %d Kills.",killer,PaintballWinnerKills);
                        SendClientMessage(i, COLOR_WHITE, string);
            }
          }
        }
      }
      return 1;
    }
    if(GettingCK[playerid] < 999 || OnCK[playerid] < 999)
    {
      if(IsPlayerConnected(killerid))
      {
        if(GettingCK[killerid] < 999 || OnCK[playerid] < 999)
        {
          new killer[MAX_PLAYER_NAME];
          new dier[MAX_PLAYER_NAME];
          GetPlayerName(playerid, dier, sizeof(dier));
                GetPlayerName(killerid, killer, sizeof(killer));
          format(string, sizeof(string), "* %s has performed a Character Kill on you, you aren't able to play with this Character anymore.",killer);
          SendClientMessage(playerid, COLOR_LIGHTRED, string);
          format(string, sizeof(string), "** %s has Character Killed %s **",killer,dier);
          CKLog(string);
          PlayerInfo[playerid][pCK] = 1;
          if(GettingCK[playerid] < 999) { GettingCK[playerid] = 999; }
          else if(OnCK[playerid] < 999) { OnCK[playerid] = 999; }
          if(GettingCK[killerid] < 999) { GettingCK[killerid] = 999; }
          else if(OnCK[killerid] < 999) { OnCK[killerid] = 999; }
          KickPlayer[playerid] = 1;
        }
      }
    }
    if(PlayerInfo[playerid][pHeadValue] > 0)
    {
      if(IsPlayerConnected(killerid))
      {
          if(gTeam[killerid] == 10 || PlayerInfo[killerid][pLeader] == 8)
          {
            if(GoChase[killerid] == playerid)
            {
              ConsumingMoney[killerid] = 1;
                    new killer[MAX_PLAYER_NAME];
                    GetPlayerName(killerid, killer, sizeof(killer));
                    SafeGivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
                    format(string,128,"<< Hitman %s has fulfilled the contract on %s and collected $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
                    SendFamilyMessage(8, COLOR_YELLOW, string);
                    PlayerInfo[playerid][pHeadValue] = 0;
                    GotHit[playerid] = 0;
                    GetChased[playerid] = 999;
                    GoChase[killerid] = 999;
                }
            }
        }
    }
    if(victimteam >= 4)
    {
      if(IsPlayerConnected(killerid))
      {
            //new killer[MAX_PLAYER_NAME];
            //GetPlayerName(killerid, killer, sizeof(killer));
            new slice = 100; //$100
            playercash = ScriptMoney[playerid];
            if(gTeam[killerid] != 2) { WantedPoints[killerid] += 2; } //+ 2 wanted points
            if(SafeTime[playerid] <= 0)
            {
                if(gTeam[killerid] != gTeam[playerid])
                {
                    if(GetPlayerState(killerid) == 1)
                    {
                        PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2;
                    }
                    else
                    {
                        PlayerInfo[killerid][pKills]++;
                    }
                    PlayerInfo[playerid][pKills]--;
                }
            }
            /*if (strlen(deathreason) > 0)// patch
            {
                if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || gTeam[killerid] == gTeam[playerid])//med kill criminal
                {
                    format(string, sizeof(string), ".: %s murdered %s. (%s) :.", killer, name, deathreason);
                }
                else
                {
                    format(string, sizeof(string), ".: %s murdered %s. (%s) for $%d :.", killer, name, deathreason, slice);
                }

            }
            else
            {
                if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill || gTeam[killerid] == gTeam[playerid]))
                {
                    format(string, sizeof(string), ".: %s murdered %s :.", killer, name);
                }
                else
                {
                    format(string, sizeof(string), ".: %s murdered %s for $%d :.", killer, name, slice);
                }
            }*/

            if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4))
            {
                slice = 0;
            }
            if (((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid]))//no team kill
            {
                slice = 0;
            }
            if (playercash > 0)
            {
                SafeGivePlayerMoney(playerid, -slice);
            }
            else
            {
                slice = slice+500;
            }
            SafeGivePlayerMoney(killerid, slice);
            //GameTextForPlayer(playerid, dmessage, 5000, 2);
            PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0);
            if (((gTeam[killerid]) == 3) && reason != 49)
            {
                SetPlayerCriminal(killerid,255, "ฆาตกร");
            }
            else if (((gTeam[killerid]) == 3) && reason == 49)
            {
                SetPlayerCriminal(killerid,255, "ฆ่าแล้วหนี");
            }
        }
    }
    else if (victimteam == 2)
    {
      if(IsPlayerConnected(killerid))
      {
            //new killer[MAX_PLAYER_NAME];
            //GetPlayerName(killerid, killer, sizeof(killer));
            // Cop kill
            PlayerInfo[playerid][pKills]--;
            if (gTeam[killerid] == 2)//cops kill cop
            {
                //format(string,128,".: Officer %s murdered Officer %s (%s) and was sued for $%d :.",killer,name,deathreason);
                PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
            }
            else
            {
                //format(string,128,".: %s murdered Officer %s (%s) :.",killer,name,deathreason);
          }
            if (gTeam[killerid] == 3 || gTeam[killerid] == 12)
            {
              WantedPoints[killerid] += 2; //+ 2 wanted points
                if(reason != 49)
                {
                    SetPlayerCriminal(killerid,255, "ฆาตกร");
                }
                else if (reason == 49)
                {
                    SetPlayerCriminal(killerid,255, "ฆ่าแล้วหนี");
                }
            }
            if (gTeam[killerid] == 5 || gTeam[killerid] == 10)
            {
                if(gTeam[playerid] != 5 || gTeam[playerid] != 10 && reason != 49)
                {
                    WantedPoints[killerid] += 2; //+ 2 wanted points
                    SetPlayerCriminal(killerid,255, "ฆาตกร");
                }
                else if (gTeam[playerid] != 5 || gTeam[playerid] != 10 && reason == 49)
                {
                    WantedPoints[killerid] += 2; //+ 2 wanted points
                    SetPlayerCriminal(killerid,255, "ฆ่าแล้วหนี");
                }
            }
            if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0)
            {
                if(GetPlayerState(killerid) == 1)
                {
                    PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2;
                }
                else
                {
                    PlayerInfo[killerid][pKills]++;
                }
                WantedPoints[killerid]+=2;
            }
            //BroadCast(COLOR_RED, string);
        }
    }
    else if (victimteam == 3)
    {
      if(IsPlayerConnected(killerid))
      {
            //new killer[MAX_PLAYER_NAME];
            //GetPlayerName(killerid, killer, sizeof(killer));
            // Civ kill
            if ((gTeam[killerid]) == 2)//cops kill civ
            {
              if(WantedLevel[playerid] < 1)
              {
                    //format(string,128,".: Officer %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason);
                    PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
                }
            }
            else
            {
                //format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason);
                WantedPoints[killerid] += 2;
          }
            if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49)
            {
                SetPlayerCriminal(killerid,255, "ฆาตกร");
            }
            else if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49)
            {
                SetPlayerCriminal(killerid,255, "ฆ่าแล้วหนี");
            }
          //BroadCast(COLOR_RED, string);
        }
    }
    else if (victimteam == 1)
    {
      if(IsPlayerConnected(killerid))
      {
            //new killer[MAX_PLAYER_NAME];
            //GetPlayerName(killerid, killer, sizeof(killer));
            // Civ kill
            if ((gTeam[killerid]) == 2)//cops kill civ
            {
                //format(string,128,".: Officer %s murdered Paramedic %s (%s) and was sued for $%d :.",killer,name,deathreason);
                PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
            }
            else if ((gTeam[killerid]) == 1)//med kill civ
            {
                //format(string,128,".: Paramedic %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason);
                PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
            }
            else
            {
                //format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason);
          }
            if (((gTeam[killerid]) == 4) && reason != 49)
            {
                SetPlayerCriminal(killerid,255, "ฆาตกร");
            }
            else if (((gTeam[killerid]) == 3) && reason == 49)
            {
                SetPlayerCriminal(killerid,255, "ฆ่าแล้วหนี");
            }
          //BroadCast(COLOR_RED, string);
        }
    }
    if (victimteam >= 3 && WantedPoints[playerid] > 0 && killerteam == 2)
    {
      SetPlayerFree(playerid,killerid, "Got Killer");
    }
    killerid = INVALID_PLAYER_ID;
    SetPlayerColor(playerid,COLOR_GRAD2);
    return 1;
}



Re: [HELP] Crash After Die - Think - 24.04.2009

what platform do you use, Winxp - vista - or any linux?


Re: [HELP] Crash After Die - nutzkung69 - 24.04.2009

I use Windows Xp Service Pack 2


Re: [HELP] Crash After Die - Think - 24.04.2009

All things like this: SetPlayerCriminal(killerid,255, "ฆ่าแล้วหนี"); will cause crash, because the SetPlayerCriminal is bugged @ xp, (this is pen1ls or GF right?) at least it is @ me


Re: [HELP] Crash After Die - OrlGiNS - 24.04.2009

if u are using objects you should use a streamer, if u already have a streamer try to see what's wrong with it or use another one


Re: [HELP] Crash After Die - MenaceX^ - 24.04.2009

Simply go to GF topic instaed.