[Pomoc] Kazaljka

Započeo Matteo, Oktobar 24, 2010, 12:00:59 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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...

makelele

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
Poslednja Izmena: Oktobar 24, 2010, 18:08:47 POSLE PODNE od matteokov

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.
Poslednja Izmena: Oktobar 25, 2010, 13:22:50 POSLE PODNE od LuKsA
Aequam memento rebus in arduis servare mentem.

Uredu... No nekuzim bas.....

Mozes mi malo objasnit taj SetTimerEx i el treba ono public....
Poslednja Izmena: Oktobar 25, 2010, 16:50:12 POSLE PODNE od matteokov