Jump to content
  • 0

Damage vehicul


Jimmi

Question

Problema intalnita (descriere):Am facut un sistem de tepi...Pun spike strip0urile trec cu masina dar acestea nu cauzeaza damage masinii...Am pus GetVehicleDamageStatus dar tot nu se sparg rotile..
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul(obligatoriu):
Imagini / Video (optional):-
Ati incercat sa rezolvati singur?:Da

//========================================[CMD:SPIKESTRIPES]===================================================
CMD:spikestripes(playerid, params[])
    {
        if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Nu esti politist!");
        if (PlayerInfo[playerid][pSpikestrip] != 0) return SendClientMessage(playerid, COLOR_GREY, "Poti folosi doar 1 spike-strip in acelasi timp, scrie /rsp pentru a-l sterge pe cel actual.");
        if (spikestriptimer != 0) return SendClientMessage(playerid, COLOR_GREY, "Asteapta putin inainte sa mai pui un spike-strip!");
        new Float:A;
        new panels, doors, lights, tires;
        new carid = GetPlayerVehicleID(playerid);
        new sendername[MAX_PLAYER_NAME], string[256];
        GetPlayerPos(playerid, X, Y, Z);
        GetPlayerFacingAngle(playerid, A);
        PlayerInfo[playerid][pSpikestrip] = CreateDynamicObject(2899, X, Y, Z-0.9, 0.0, 0.0, A-90);
        GetVehicleDamageStatus(carid, panels, doors, lights, tires);
        SetPlayerPos(playerid, X, Y, Z+4);
        GameTextForPlayer(playerid, "~w~SpikeStrip ~r~Pus", 5000, 5);
        SendClientMessage(playerid, COLOR_GREEN, "Ai pus un spike-strip cu succes, scrie /rsp sau /removespikestrip pentru a-l sterge.");
        spikestriptimer = 1;
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "HQ: Un spike-strip a fost depus de catre %s, si a fost marcat pe harta cu un checkpoint.", sendername);
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
                {
                    SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                    if (PlayerInfo[i][pRank] >= 5 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1)
                    {
                        SendClientMessage(i, COLOR_YELLOW, "Poti sterge toate spike-strip tastand /rspall");
                    }
                }
            }
        }
        SetTimer("ResetSpikestripTimer", 60000, false);
        return 1;
    }
//return /spikestripes
CMD:sp(playerid, params[])
{
return cmd_spikestripes(playerid, params);
}
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Adauga asta , la OnPlayerUpdate :

if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    		{
        		for(new i = 0; i < sizeof(SpikeInfo); i++)
  	    		{
  	        		if(IsPlayerInRangeOfPoint(playerid, 3.0, SpikeInfo[sX], SpikeInfo[sY], SpikeInfo[sZ]))
            		{
  	            		if(SpikeInfo[sCreated] == 1)
  	            		{
  	                		new panels, doors, lights, tires;
  	                		new carid = GetPlayerVehicleID(playerid);
		            		GetVehicleDamageStatus(carid, panels, doors, lights, tires);
		            		tires = encode_tires(1, 1, 1, 1);
		            		UpdateVehicleDamageStatus(carid, panels, doors, lights, tires);
  	                		return 0;
  	            		}
  	        		}
  	    		}
  			}

 Sa-mi spui daca nu ai include-ul SpikeStrips .

Edited by NoNamed
Link to comment
Share on other sites

  • 0

In loc de CreateDynamicObject foloseste CreateStrip(x,y,z,a); .

 

x - pozitia x a jucatorului

y - pozitia y a jucatorului

z - pozitia z a jucatorului

a - unghiul in care se uita

Ti le definesti tu cum trebuie si cum vrei ...

Link to comment
Share on other sites

  • 0

Sunt 2:

//========================================[CMD:REMOVESPIKESTRIPALL]============================================
CMD:removespikestripall(playerid, params[])
    {
        new sendername[MAX_PLAYER_NAME], string[256];
        
        if (IsACop(playerid) && PlayerInfo[playerid][pRank] >= 5)
        {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(PlayerInfo[i][pSpikestrip] != 0)
                {
                    RemoveSpikestrip(i);
                }
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            format(string, sizeof(string), "( ! ) rBot: Toate spike-stripeurile vor fi distruse de catre liderul %s.", sendername);
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
                    {
                        SendClientMessage(i, TEAM_BLUE_COLOR, string);
                    }
                }
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_STARZ, "( ! ) rBot:Trebuie sa ai rang 5+!");
        }
        return 1;
    }
//return /removespikestripall
CMD:rspall(playerid, params[])
{
return cmd_removespikestripall(playerid, params);
}
//========================================[CMD:REMOVESPIKESTRIP]===============================================
CMD:removespikestrip(playerid, params[])
    {
        if (!IsACop(playerid))
        {
            SendClientMessage(playerid, COLOR_STARZ, "( ! ) rBot: Nu esti politist!");
            return 1;
        }
        if (PlayerInfo[playerid][pSpikestrip] == 0)
        {
            SendClientMessage(playerid, COLOR_STARZ, "( ! ) rBot: Nu ai depus un spike-strip inca!");
            return 1;
        }
        RemoveSpikestrip(playerid);
        SendClientMessage(playerid, COLOR_STARZ, "( ! ) rBot: Spike-strip sters cu succes.");
        return 1;
    }
//return /removespikestrip
CMD:rsp(playerid, params[])
{
return cmd_removespikestrip(playerid, params);
}
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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. For more details you can also review our Terms of Use and Privacy Policy.