Funзгo causando lag -
renanmsd - 25.07.2013
Queria uma ajuda de vocкs, o sistema de habilitaзгo estб funcionando normalmente, mais a parte de checar se o player tem habilitaзгo estб dando um lag, exemplo: eu entro no veiculo ai demora uns 4 a 8 segundos e aparece a mensagem falando que nгo tenho habilitaзгo, nesse tempo as texdraws travam, a do relogio, velocimetro, tudo vou postar o codigo para ver se tem algo errado
pawn Код:
new CarrosH[0][1] =
{
400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 447, 448, 449, 450, 451, 455, 456,
457, 456, 457, 458, 459, 470, 471, 474, 475, 477, 478,
479, 480, 482, 483, 485, 486, 489, 490, 491, 492, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 514, 515, 516, 517, 518, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
550, 551, 552, 554, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 594, 596, 597, 598,
599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610
};
new Airplanes[0][1] =
{
460, 487, 476, 511, 512, 513, 519, 520, 553, 577, 592,
593, 460, 476
};
new Boats[0][1] =
{
430, 446, 452, 453, 454, 472, 473, 474, 484, 493,
595, 430, 446, 452, 453, 454
};
pawn Код:
if(newstate == PLAYER_STATE_DRIVER)
{
for(new i; i < 200; i++)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) == CarrosH[i][0])
{
if (PlayerInfo[playerid][Terrestre] == 0)
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
}
}
if(GetVehicleModel(vehicleid) == Airplanes[i][0])
{
if (PlayerInfo[playerid][Aerea] == 0)
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
}
}
if(GetVehicleModel(vehicleid) == Boats[i][0])
{
if (PlayerInfo[playerid][Nautica] == 0)
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
}
}
}
}
Re: Funзгo causando lag -
WLSF - 25.07.2013
Qual seria a intenзгo desse loop amigo ?
Pois pelo que vi aqui, se vocк estiver em um veнculo que nгo seja um carro, a coisa vai ficar feia pro seu loop...
E outra, essas variбveis poderiam ter sido criadas de outra forma, nгo necessita de uma 2є dimensгo para fazer isso que vocк quer fazer.
@EDIT, entendi o cуdigo, vou dar uma analisada aqui e te envio respostas.
Code:
pawn Код:
new CarrosH[166] =
{
400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 447, 448, 449, 450, 451, 455, 456,
457, 456, 457, 458, 459, 470, 471, 474, 475, 477, 478,
479, 480, 482, 483, 485, 486, 489, 490, 491, 492, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 514, 515, 516, 517, 518, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
550, 551, 552, 554, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 594, 596, 597, 598,
599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610
};
new Airplanes[14] =
{
460, 487, 476, 511, 512, 513, 519, 520, 553, 577, 592,
593, 460, 476
};
new Boats[15] =
{
430, 446, 452, 453, 454, 472, 473, 474, 484, 493,
595, 430, 446, 452, 453, 454
};
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
for (new i = 0; i < sizeof(CarrosH); ++i)
{
if(GetVehicleModel(vehicleid) == CarrosH[i])
{
if (PlayerInfo[playerid][Terrestre] == 0)
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
}
}
}
for (new i = 0; i < sizeof(Aisplanes); ++i)
{
if(GetVehicleModel(vehicleid) == Airplanes[i])
{
if (PlayerInfo[playerid][Aerea] == 0)
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
}
}
}
for (new i = 0; i < sizeof(Boats); ++i)
{
if(GetVehicleModel(vehicleid) == Boats[i])
{
if (PlayerInfo[playerid][Nautica] == 0)
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
}
}
}
}
Tente algo assim, me avise sobre os resultados.
Respuesta: Funзгo causando lag -
renanmsd - 25.07.2013
vou olhar aqui e posto o resultado
@EDIT ainda tenho o lag, porem agora menor de uns 2 a 4 segundos pra mim que fiquei de host, para um amigo foi de atй 13 seg, Obrigado pela ajuda
@EDIT2 coloquei o sistema no grandlarc funcionou perfeitamente, entгo ja sei que o lag nгo й nas habs, provбvel que seja no velocimetro que tambйm coloquei um loop, vou dar uma olhada e ver se resolvo, Obrigado
Re: Funзгo causando lag -
WLSF - 25.07.2013
@Kikito, foi apenas um exemplo, mas jб que destes a ideia...
pawn Код:
new CarrosH[166] =
{
400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 447, 448, 449, 450, 451, 455, 456,
457, 456, 457, 458, 459, 470, 471, 474, 475, 477, 478,
479, 480, 482, 483, 485, 486, 489, 490, 491, 492, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 514, 515, 516, 517, 518, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
550, 551, 552, 554, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 594, 596, 597, 598,
599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
610
};
new Airplanes[14] =
{
460, 487, 476, 511, 512, 513, 519, 520, 553, 577, 592,
593, 460, 476
};
new Boats[15] =
{
430, 446, 452, 453, 454, 472, 473, 474, 484, 493,
595, 430, 446, 452, 453, 454
};
if(newstate == PLAYER_STATE_DRIVER)
{
new veh = GetVehicleModel(GetPlayerVehicleID(playerid));
for (new i = 0; i < sizeof(CarrosH); ++i)
{
if (veh == CarrosH[i])
{
if (!PlayerInfo[playerid][Terrestre])
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
break;
}
}
else if (veh == Aisplanes[i])
{
if (!PlayerInfo[playerid][Aerea])
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
break;
}
}
else if (veh == Boats[i])
{
if (!PlayerInfo[playerid][Nautica])
{
SendClientMessage(playerid, Vermelho, "( Info ) Vocк estб conduzindo um veнculo sem habilitaзгo, vocк pode ser multado! Cuidado com os Policiais!");
break;
}
}
}
return 1;
}
Respuesta: Funзгo causando lag -
renanmsd - 25.07.2013
o problema com o lag foi resolvido, era um loop no textdraw do velocimetro.
Obrigado pela ajuda