Wysłany: 2020-05-10, 20:02
Wujek14
Wiek: 26 Na forum: 2896 dni Posty: 49
Nick w MP: Wujek14
Piwa : 6
mam proble bo robie system wypadkow i jest on zrobiony nastepujaco:
Zrobi?em timer kt?ry jest odpalany gdy gracz wejdzie:
Kod:
forward SprawdzWypadek(playerid);
public SprawdzWypadek(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new pid = GetVehicleModel(vehicleid);
new Float:predx, Float:predy, Float:predz, Float:pred_a, pred_b, Float:ZyciePojazdu;
if(vehicleid > 0)
{
GetVehicleVelocity(vehicleid, predx, predy, predz);
pred_a = floatsqroot(((predx*predx)+(predy*predy))+(predz*predz))*136.666667;
pred_b = floatround(pred_a, floatround_round);
GetVehicleHealth(vehicleid, ZyciePojazdu);
DaneGracza[playerid][pred_w] = pred_b - 20;
if(pid == 482 || pid == 459 || pid == 455 || pid == 456 || pid == 440|| pid == 433|| pid == 414|| pid == 515|| pid == 514|| pid == 403)
{
DaneGracza[playerid][PojazdZycie] = ZyciePojazdu - 50;
}
else
{
DaneGracza[playerid][PojazdZycie] = ZyciePojazdu - 100;
}
}
return 1;
}
w OnPlayerUppdate mam sprawdzanie czy gracz ma wypadek i og?lnie dodatkowe sprawdzanie i co ma sie dzia? gdy gracz ma wypadek
Kod:
public OnPlayerUpdate(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:predx;
new Float:predy;
new Float:predz;
new Float:pred_a;
new pred_b;
new Float:ZyciePojazdu;
if(vehicleid != 0)
{
GetVehicleVelocity(vehicleid, predx, predy, predz);
pred_a = floatsqroot(((predx*predx)+(predy*predy))+(predz*predz))*136.666667;
pred_b = floatround(pred_a,floatround_round);
GetVehicleHealth(vehicleid, ZyciePojazdu);
if(pred_b <= DaneGracza[playerid][pred_w])
{
if(ZyciePojazdu < DaneGracza[playerid][PojazdZycie])
{
if(DaneGracza[playerid][WypadekGracza] == 0)
{
DaneGracza[playerid][WypadekGracza] = 1;
SendClientMessage(playerid, -1, "Spowodowales/as wypadek ! Jestes nieprzytomny/a !");
TogglePlayerControllable(playerid, false);
new Float:ZycieGracza;
GetPlayerHealth(playerid, ZycieGracza);
SetPlayerHealth(playerid, ZycieGracza - 30);
//SetTimerEx("WypadekKoniec", 10000, false, "i", playerid);
}
}
}
}
}
lecz nie chce mi dzia?a? nie wiem dlaczego kompilator nie wywala mi b??du ale wypadku nie wywo?uje, jak by kto? m?? to prosz? o podpowied? lub przerobienie tego w taki spos?b by dzia?a?o
PS: pisze na plikach dfile
Wysłany: 2020-05-11, 17:25
KoQ
Wiek: 24 Na forum: 3179 dni Posty: 32
Piwa : 6
Poka? jak ten timer wygl?da
Wysłany: 2020-05-11, 18:34
Wujek14
Wiek: 26 Na forum: 2896 dni Posty: 49
Nick w MP: Wujek14
Piwa : 6
Kod:
forward SprawdzWypadek(playerid);
public SprawdzWypadek(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new pid = GetVehicleModel(vehicleid);
new Float:predx, Float:predy, Float:predz, Float:pred_a, pred_b, Float:ZyciePojazdu;
if(vehicleid > 0)
{
GetVehicleVelocity(vehicleid, predx, predy, predz);
pred_a = floatsqroot(((predx*predx)+(predy*predy))+(predz*predz))*136.666667;
pred_b = floatround(pred_a, floatround_round);
GetVehicleHealth(vehicleid, ZyciePojazdu);
DaneGracza[playerid][pred_w] = pred_b - 20;
if(pid == 482 || pid == 459 || pid == 455 || pid == 456 || pid == 440|| pid == 433|| pid == 414|| pid == 515|| pid == 514|| pid == 403)
{
DaneGracza[playerid][PojazdZycie] = ZyciePojazdu - 50;
}
else
{
DaneGracza[playerid][PojazdZycie] = ZyciePojazdu - 100;
}
}
return 1;
}
ten timer to pierwszy kod kt?ry napisa?em wy?ej a ten drugi kod odnosi sie do OnPlayerUpdate
a w OnPlayerConnect mam to:
Kod:
SetTimerEx("SprawdzWypadek", 200, true, "i", playerid);
Wysłany: 2020-05-12, 11:42
KoQ
Wiek: 24 Na forum: 3179 dni Posty: 32
Piwa : 6
Hmm spr?buj w onplayerconnect da? to
DaneGracza[playerid][WypadekGracza] = 0;
Wysłany: 2020-05-12, 17:38
Wujek14
Wiek: 26 Na forum: 2896 dni Posty: 49
Nick w MP: Wujek14
Piwa : 6
Nic to nie da?o nwm co jest nie tak niestety, masz lub macie jaki? sprawdzony system wypadk?w? lub jaki? poradnik gdzie taki system jest pisany lub opisany?
Tagi: system :: wypadkow :: (pr0blem)
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: