24.04.2014, 14:53
Antes quando eu carregava uma carreta tudo certo ficava la as informaзхes dela, mas ai apуs eu desengatar ela e engatar a outra carreta, essa nova engatada ficava com as mesmas informaзхes da antiga, ai eu mudei umas coisas aqui e agora um timer que atualiza as informaзхes da carreta estб travando o server, logo que eu engato uma carreta o server trava *--*
tem algo de errado nesse code mano? agradeзo muito a quem puder ajudar
pawn Код:
//quando o player entra na carreta executa essa funзгo
else if(CarrosDeCaminhoneiros(car))
{
if(EmpregoCaminhoneiros(playerid))
{
timerCarreta = SetTimerEx("VerificarCarretas", true, 1000, "ii", playerid, car);
MP(playerid, cor_caminhoneiros, "Para comeзar alguma carga, engate um dos 3 trailers e procure uma empresa para fazer transportes!");
}
else
{
RemovePlayerFromVehicle(playerid);
MP(playerid, grad3, "Vocк nгo й um Caminhoneiro!");
KillTimer(timerCarreta);
}
}
//essa й a callback chamada pelo timer
forward VerificarCarretas(playerid, cavalinho);
public VerificarCarretas(playerid, cavalinho)
{
new trailer = GetVehicleTrailer(cavalinho);
if(IsTrailerAttachedToVehicle(cavalinho) == 1)
{
timerCargas = SetTimerEx("AtualizarCargas", true, 1000, "ii", playerid, trailer);
}
else if(IsTrailerAttachedToVehicle(cavalinho) == 0)
{
TextDrawHideForPlayer(playerid,textTipoCarga[trailer]);
TextDrawHideForPlayer(playerid,textQuantiaCarga[trailer]);
TextDrawHideForPlayer(playerid,textValorCarga[trailer]);
TextDrawHideForPlayer(playerid,textBordaCargas);
TextDrawHideForPlayer(playerid,textFundoCargas);
TextDrawHideForPlayer(playerid,textInfosCarga);
KillTimer(timerCargas);
}
return 1;
}
//e essa callback й chamada pelo outro timer = timerCargas que serve pra verificar as informaзхes da carreta engatada
forward AtualizarCargas(playerid, idcarreta);
public AtualizarCargas(playerid, idcarreta)
{
new str[245];
// MFP(playerid, -1, "teste id carreta %d", idcaminhao);
new cavalinho = GetPlayerVehicleID(playerid);
if(IsTrailerAttachedToVehicle(cavalinho) == 1)
{
if(GetVehicleModel(GetVehicleTrailer(cavalinho)) == 584)
{
TipoCarregamento[idcarreta] = tcCombustivel;
if(CarregamentoNasCarretasC[idcarreta] == 0)
{
TextDrawSetString(textTipoCarga[idcarreta], "Carga: ~y~Combustivel");
TextDrawSetString(textQuantiaCarga[idcarreta], "Quantia: ~y~0/1000L");
TextDrawSetString(textValorCarga[idcarreta], "Valor carga: ~y~Nada");
UltimoCarregamento[playerid] = 0;
}
else if(CarregamentoNasCarretasC[idcarreta] >= 1)
{
TextDrawSetString(textTipoCarga[idcarreta], "Carga: ~y~Combustivel");
format(str, 256, "Quantia: ~y~%d/1000L", CarregamentoNasCarretasC[idcarreta]);
TextDrawSetString(textQuantiaCarga[idcarreta], str);
format(str, 256, "Valor carga: ~y~R$%.2d", DinheiroPelaCargaCombustivel[playerid]);
TextDrawSetString(textValorCarga[idcarreta], str);
UltimoCarregamento[playerid] = CarregamentoNasCarretasC[idcarreta];
}
TextDrawShowForPlayer(playerid,textTipoCarga[idcarreta]);
TextDrawShowForPlayer(playerid,textQuantiaCarga[idcarreta]);
TextDrawShowForPlayer(playerid,textValorCarga[idcarreta]);
TextDrawShowForPlayer(playerid,textBordaCargas);
TextDrawShowForPlayer(playerid,textFundoCargas);
TextDrawShowForPlayer(playerid,textInfosCarga);
}
else if(GetVehicleModel(GetVehicleTrailer(cavalinho)) == 584)
{
TipoCarregamento[idcarreta] = tcCombustivel;
if(CarregamentoNasCarretasC[idcarreta] == 0)
{
TextDrawSetString(textTipoCarga[idcarreta], "Carga: ~y~Combustivel");
TextDrawSetString(textQuantiaCarga[idcarreta], "Quantia: ~y~0/1000L");
TextDrawSetString(textValorCarga[idcarreta], "Valor carga: ~y~Nada");
UltimoCarregamento[playerid] = 0;
}
else if(CarregamentoNasCarretasC[idcarreta] >= 1)
{
TextDrawSetString(textTipoCarga[idcarreta], "Carga: ~y~Mercadorias");
format(str, 256, "Quantia: ~y~%d/700", CarregamentoNasCarretasM[idcarreta]);
TextDrawSetString(textQuantiaCarga[idcarreta], str);
format(str, 256, "Valor carga: ~y~R$%.2d", DinheiroPelaCargaItems[playerid]);
TextDrawSetString(textValorCarga[idcarreta], str);
UltimoCarregamento[playerid] = CarregamentoNasCarretasM[idcarreta];
}
TextDrawShowForPlayer(playerid,textTipoCarga[idcarreta]);
TextDrawShowForPlayer(playerid,textQuantiaCarga[idcarreta]);
TextDrawShowForPlayer(playerid,textValorCarga[idcarreta]);
TextDrawShowForPlayer(playerid,textBordaCargas);
TextDrawShowForPlayer(playerid,textFundoCargas);
TextDrawShowForPlayer(playerid,textInfosCarga);
}
}
else
{
TextDrawHideForPlayer(playerid,textTipoCarga[idcarreta]);
TextDrawHideForPlayer(playerid,textQuantiaCarga[idcarreta]);
TextDrawHideForPlayer(playerid,textValorCarga[idcarreta]);
TextDrawHideForPlayer(playerid,textBordaCargas);
TextDrawHideForPlayer(playerid,textFundoCargas);
TextDrawHideForPlayer(playerid,textInfosCarga);
}
return 1;
}