[Ajuda] Retirar Cinto Depois de Sair do Carro
#1

Boas Tardes Amigos!
Estou com um problema aqui no script:

Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
	if(CintoStatus[playerid] == 1)
	{
	    PlayerActionMessage(playerid,15.0,"retirou o cinto de seguranзa.");
	    CintoStatus[GetPlayerVehicleID(playerid)] = 0;
	}
	if(CapaceteStatus[playerid] == 1)
	{
	    PlayerActionMessage(playerid,15.0,"retirou o capacete.");
	    CapaceteStatus[GetPlayerVehicleID(playerid)] = 0;
	    RemovePlayerAttachedObject(playerid, SLOT);
	}
	return 1;
}
Jб compilei e ao sair do carro/mota nгo acontece nada.
Poderiam me ajudar?
Reply
#2

pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(CintoStatus[playerid] == 0)
    {
        PlayerActionMessage(playerid,15.0,"retirou o cinto de seguranзa.");
        CintoStatus[GetPlayerVehicleID(playerid)] = 0;
    }
    if(CapaceteStatus[playerid] == 1)
    {
        PlayerActionMessage(playerid,15.0,"retirou o capacete.");
        CapaceteStatus[GetPlayerVehicleID(playerid)] = 0;
        RemovePlayerAttachedObject(playerid, SLOT);
    }
    return 1;
}
PlayerActionMessage?
Reply
#3

Yah, estou a usar o Carlitos RolePlay ...

Mas o problema й que isso mesmo que eu volte a entrar no carro, diz como ainda tivesse o cinto. (Nгo sei se entendeu... :S)
Reply
#4

Poste seu sistema de cinto de seguranзa para ver-mos e tentarmos consertar o erro.
Reply
#5

Sistema de Seguranзa:

pawn Код:
if(strcmp(cmd, "/capacete", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(IsABike(GetPlayerVehicleID(playerid)))
            {
                if(CapaceteStatus[GetPlayerVehicleID(playerid)] == 0)
                {
                    if(PlayerInfo[playerid][pSex] == 1)
                    {
                        PlayerActionMessage(playerid,15.0,"clocou o capacete.");
                    }
                    else
                    {
                        PlayerActionMessage(playerid,15.0,"clocou o capacete.");
                    }
                    CapaceteStatus[GetPlayerVehicleID(playerid)] = 1;
                    switch(GetPlayerSkin(playerid))
                    {
                        #define SPAO{%0,%1,%2,%3,%4,%5} SetPlayerAttachedObject(playerid, SLOT, 18645, 2, (%0), (%1), (%2), (%3), (%4), (%5));
                        case 0, 65, 74, 149, 208, 273:  SPAO{0.070000, 0.000000, 0.000000, 88.000000, 75.000000, 0.000000}
                        case 1..6, 8, 14, 16, 22, 27, 29, 33, 41..49, 82..84, 86, 87, 119, 289: SPAO{0.070000, 0.000000, 0.000000, 88.000000, 77.000000, 0.000000}
                        case 7, 10: SPAO{0.090000, 0.019999, 0.000000, 88.000000, 90.000000, 0.000000}
                        case 9: SPAO{0.059999, 0.019999, 0.000000, 88.000000, 90.000000, 0.000000}
                        case 11..13: SPAO{0.070000, 0.019999, 0.000000, 88.000000, 90.000000, 0.000000}
                        case 15: SPAO{0.059999, 0.000000, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 17..21: SPAO{0.059999, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 23..26, 28, 30..32, 34..39, 57, 58, 98, 99, 104..118, 120..131: SPAO{0.079999, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 40: SPAO{0.050000, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 50, 100..103, 148, 150..189, 222: SPAO{0.070000, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 51..54: SPAO{0.100000, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 55, 56, 63, 64, 66..73, 75, 76, 78..81, 133..143, 147, 190..207, 209..219, 221, 247..272, 274..288, 290..293: SPAO{0.070000, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 59..62: SPAO{0.079999, 0.029999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 77: SPAO{0.059999, 0.019999, 0.000000, 87.000000, 82.000000, 0.000000}
                        case 85, 88, 89: SPAO{0.070000, 0.039999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 90..97: SPAO{0.050000, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 132: SPAO{0.000000, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 144..146: SPAO{0.090000, 0.000000, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 220: SPAO{0.029999, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 223, 246: SPAO{0.070000, 0.050000, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 224..245: SPAO{0.070000, 0.029999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 294: SPAO{0.070000, 0.019999, 0.000000, 91.000000, 84.000000, 0.000000}
                        case 295: SPAO{0.050000, 0.019998, 0.000000, 86.000000, 82.000000, 0.000000}
                        case 296..298: SPAO{0.064999, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000}
                        case 299: SPAO{0.064998, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000}
                    }
                }
                else if(CapaceteStatus[GetPlayerVehicleID(playerid)] == 1)
                {
                    if(PlayerInfo[playerid][pSex] == 1)
                    {
                        PlayerActionMessage(playerid,15.0,"retirou o capacete.");
                    }
                    else
                    {
                        PlayerActionMessage(playerid,15.0,"retirou o capacete.");
                    }
                    CapaceteStatus[GetPlayerVehicleID(playerid)] = 0;
                    RemovePlayerAttachedObject(playerid, SLOT);
                }
            }
        }
        else
        {
            SendClientMessage(playerid,COLOR_LIGHTYELLOW2,"[CW-RP:] Nгo estбs numa mota!");
        }
        return 1;
    }
    if(strcmp(cmd, "/cinto", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(IsABike(GetPlayerVehicleID(playerid)))
            {
                SendClientMessage(playerid, COLOR_LIGHTYELLOW2, "[CW-RP:] Nгo podes por o cinto numa mota. (Digita /capacete)");
                return 1;
            }
            if(CintoStatus[GetPlayerVehicleID(playerid)] == 0)
            {
                if(PlayerInfo[playerid][pSex] == 1)
                {
                    PlayerActionMessage(playerid,15.0,"clocou o cinto de seguranзa.");
                }
                else
                {
                    PlayerActionMessage(playerid,15.0,"clocou o cinto de seguranзa.");
                }
                CintoStatus[GetPlayerVehicleID(playerid)] = 1;
            }
            else if(CintoStatus[GetPlayerVehicleID(playerid)] == 1)
            {
                if(PlayerInfo[playerid][pSex] == 1)
                {
                    PlayerActionMessage(playerid,15.0,"retirou o cinto de seguranзa.");
                }
                else
                {
                    PlayerActionMessage(playerid,15.0,"retirou o cinto de seguranзa.");
                }
                CintoStatus[GetPlayerVehicleID(playerid)] = 0;
            }
        }
        else
        {
            SendClientMessage(playerid,COLOR_LIGHTYELLOW2,"[CW-RP:] Nгo estбs num carro!");
        }
        return 1;
    }
Quando sai da Viatura: (O que nгo funciona)
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(CintoStatus[playerid] == 1)
    {
        PlayerActionMessage(playerid,15.0,"retirou o cinto de seguranзa.");
        CintoStatus[GetPlayerVehicleID(playerid)] = 0;
    }
    if(CapaceteStatus[playerid] == 1)
    {
        PlayerActionMessage(playerid,15.0,"retirou o capacete.");
        CapaceteStatus[GetPlayerVehicleID(playerid)] = 0;
        RemovePlayerAttachedObject(playerid, SLOT);
    }
    return 1;
}
Reply
#6

diz-me uma coisa, porque й que primeiro estas a usar "CapaceteStatus[playerid] == 1" com playerid e depois "CapaceteStatus[GetPlayerVehicleID(playerid)] = 0;" com GetPlayerVehicleID(playerid) ?
tu tas a usar a variavel no player ou no carro?
que eu saiba nao podes variar, ou player ou carro!

@EDIT

e em "OnPlayerEnterVehicle" ou "OnPlayerExitVehicle" nao deves usar "GetPlayerVehicleID(playerid)" porque quando ele sai, ja nao esta no carro, dai nao detecta o carro e quando entra, ainda nao esta no carro, dai nao detecta
deves usar "vehicleid" que й o que esta defenido na callback
Reply
#7

Nгo podes entгo mudar isso no cуdigo para ver como fica? Й que eu "Novo" em codar Pawn entгo fiquei um bocado ... :S
Reply
#8

PHP код:
public OnPlayerExitVehicle(playeridvehicleid)
{
    if(
CintoStatus[playerid] == 1)
    {
        
PlayerActionMessage(playerid,15.0,"retirou o cinto de seguranзa.");
        
CintoStatus[playerid] = 0;
    }
    if(
CapaceteStatus[playerid] == 1)
    {
        
PlayerActionMessage(playerid,15.0,"retirou o capacete.");
        
CapaceteStatus[playerid] = 0;
        
RemovePlayerAttachedObject(playeridSLOT);
    }
    return 
1;

Reply
#9

E no cуdigo onde tem o /capacete e o /cinto nгo й necessбrio mudar nada?

Jб experimentei e nгo funcionou.
Reply
#10

Lhe aconselho a procurar outro sistema de cinto e de capacete, este estб sem pй nem cabeзa.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)