Vidio sam puno tema takvog oblika no nijedna mi nije puno pomogla, napravim sve i pise mi stalno 0 km na h pa ako mi moze neko od pocetka sve detaljno objasnit, bio bi mu jako zahvalan. Unaprijed Hvala!
samo skini neku filterskriptu za to...mozes ih naci mnoogoo :)
Reko sam da hocu SAM napraviti kazaljku... Imam vec skripta...
pa de stavi ovde to sto si ti napravio pa da se vidi gde si pogrijesio
na vrhu skripte imam:
forward chack(playerid);
forward chack2(playerid);
new Speed;
new Text:TextDraw2;
Speed = GetSpeed(playerid);
zatim imam pod public OnGameModeInit():
TextDraw2 = TextDrawCreate(390.0, 425.0, "km/h");//slozio sam samo za test, kasnije cu ga uredit...
pod komandama:
if (strcmp("/upali", cmdtext, true, 10) == 0)
{
TextDrawShowForPlayer(playerid, TextDraw2);
format(string, sizeof(string), "%0.0f km/h", Speed);
TextDrawSetString(TextDraw2, string);
SetTimer("chack", 500, 1);
return 1;
}
if (strcmp("/ugasi", cmdtext, true, 10) == 0)
{
TextDrawHideForPlayer(playerid, TextDraw2);
return 1;
}
pod stock GetSpeed(playerid)
stock GetSpeed(playerid)
{
new Float:ST[3];
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
return floatround(1.61*floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3);
}
pod public chack(playerid)
public chack(playerid)
{
TextDrawShowForPlayer(playerid, TextDraw2);
format(string, sizeof(string), "%0.0f km/h", Speed);
TextDrawSetString(TextDraw2, string);
SetTimer("chack2", 500, 1);
return 1;
}
pod public chack2(playerid)
public chack2(playerid)
{
TextDrawShowForPlayer(playerid, TextDraw2);
format(string, sizeof(string), "%0.0f km/h", Speed);
TextDrawSetString(TextDraw2, string);
SetTimer("chack1", 500, 1);
return 1;
}
i to je to... kada ukucam /upali stalno je 0 km/h... neznam di sam pogrijesio
if (strcmp("/upali", cmdtext, true, 10) == 360 ili koliko vec oces tak sam ja isot sam kod mene /shift)
mad9dog molim te ne pricaj [cenzura]osti.. kakve if (strcmp("/upali", cmdtext, true, 10) == 360 ??
matteokov, zasto ponavljas timere? Stavio si da se timer 'chack' ponavlja odma na pocetku, pa ne moras onda u svakom callbacku tako, procitaj malo settimer i settimerex funkciju.. Zasto si stavljao bezveze chack2? Ne trebaju ti 2 timera/callbacka
public chack(playerid)
{
TextDrawShowForPlayer(playerid, TextDraw2);
format(string, sizeof(string), "%0.0f km/h", GetSpeed(playerid));
TextDrawSetString(TextDraw2, string);
//SetTimer("chack2", 500, 1);
return 1;
}
Pod komandom upali si morao stavit ovo:
SetTimerEx("chack", 500, 1, "ii", playerid);
I da.. ne pise se chack nego check
Znaci ja ti pokusavam objasniti da nesmijes koristiti SetTimer nego SetTimerEx ako je za odredenog igraca, i takoder, da nemoras ponavljati timere ako vec jesu s ponavljanjem(repeating), molio bih te da procitas SetTimer i SetTimerEx funkciju.
Uredu... No nekuzim bas.....
Mozes mi malo objasnit taj SetTimerEx i el treba ono public....
http://wiki.sa-mp.com/wiki/SetTimerEx (http://wiki.sa-mp.com/wiki/SetTimerEx)
sve bi ti trebalo biti jasno,kada bi to pocitao..