Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-12-15, 11:28


Sillence







Wiek: 26
Na forum: 5157 dni
Posty: 1514
Nick w MP: Sillence

Piwa: 1517

Respekt: 416,3
Respekt: 416,3

Siemka zrobi?em co? takiego:

Kod:


forward UpdateVehiclePrzebieg(playerid);
public UpdateVehiclePrzebieg(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(GetPlayerSpeed(playerid) >= 160) return przebieg[playerid] += 160/5;
if(GetPlayerSpeed(playerid) >= 155) return przebieg[playerid] += 155/5;
if(GetPlayerSpeed(playerid) >= 150) return przebieg[playerid] += 150/5;
if(GetPlayerSpeed(playerid) >= 145) return przebieg[playerid] += 145/5;
if(GetPlayerSpeed(playerid) >= 140) return przebieg[playerid] += 140/5;
if(GetPlayerSpeed(playerid) >= 135) return przebieg[playerid] += 135/5;
if(GetPlayerSpeed(playerid) >= 130) return przebieg[playerid] += 130/5;
if(GetPlayerSpeed(playerid) >= 125) return przebieg[playerid] += 125/5;
if(GetPlayerSpeed(playerid) >= 120) return przebieg[playerid] += 120/5;
if(GetPlayerSpeed(playerid) >= 115) return przebieg[playerid] += 115/5;
if(GetPlayerSpeed(playerid) >= 110) return przebieg[playerid] += 110/5;
if(GetPlayerSpeed(playerid) >= 105) return przebieg[playerid] += 105/5;
if(GetPlayerSpeed(playerid) >= 100) return przebieg[playerid] += 100/5;
if(GetPlayerSpeed(playerid) >= 95) return przebieg[playerid] += 95/5;
if(GetPlayerSpeed(playerid) >= 90) return przebieg[playerid] += 90/5;
if(GetPlayerSpeed(playerid) >= 85) return przebieg[playerid] += 85/5;
if(GetPlayerSpeed(playerid) >= 80) return przebieg[playerid] += 80/5;
if(GetPlayerSpeed(playerid) >= 75) return przebieg[playerid] += 75/5;
if(GetPlayerSpeed(playerid) >= 70) return przebieg[playerid] += 70/5;
if(GetPlayerSpeed(playerid) >= 65) return przebieg[playerid] += 65/5;
if(GetPlayerSpeed(playerid) >= 60) return przebieg[playerid] += 60/5;
if(GetPlayerSpeed(playerid) >= 55) return przebieg[playerid] += 55/5;
if(GetPlayerSpeed(playerid) >= 50) return przebieg[playerid] += 50/5;
if(GetPlayerSpeed(playerid) >= 45) return przebieg[playerid] += 45/5;
if(GetPlayerSpeed(playerid) >= 40) return przebieg[playerid] += 40/5;
if(GetPlayerSpeed(playerid) >= 35) return przebieg[playerid] += 35/5;
if(GetPlayerSpeed(playerid) >= 30) return przebieg[playerid] += 30/5;
if(GetPlayerSpeed(playerid) >= 25) return przebieg[playerid] += 25/5;
if(GetPlayerSpeed(playerid) >= 20) return przebieg[playerid] += 20/5;
if(GetPlayerSpeed(playerid) >= 15) return przebieg[playerid] += 15/5;
if(GetPlayerSpeed(playerid) >= 10) return przebieg[playerid] += 10/5;
if(GetPlayerSpeed(playerid) >= 5) return przebieg[playerid] += 5/4;
}
}
return 1;
}


I u?ywam tego tak:

Kod:

format(string, sizeof(string), "Przebieg:~w~ %.1f km",przebieg[playerid]/1000.0);
TextDrawSetString(Przebieg[i], string);


I nie wiem w czym jest problem. Poruszam si? normalnie pojazdem a przebiegu nie nabija stoi tylko na 0.0 km i nic. Piwa + rep za pomoc :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-12-15, 12:02


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Po pierwsze, to dlaczego przebieg masz jako tablica dla gracza? Powinna by? dla ka?dego pojazdu z osobna. Drugie, gdzie wstawi?e? kod do od?wie?ania pokonanego przebiegu? Trzecie, tablica przebieg jest stworzona jako integer czy float? Musisz wybra? jedno, bo przy od?wie?aniu dodajesz jako integer, a wy?wietlasz jako float.

Dam tutaj troch? kodu ze swojej mapy, reszt? dorobisz sam

Kod:

new Float:Distance[1000]; //1000 wystarczy, jak nie to zmie? na MAX_VEHICLES, czyli 2000
new ptimer[50];

forward CarUpdate(i);
public CarUpdate(i)
{
new id = GetPlayerVehicleID(i), Float:Speed[4];

GetVehicleVelocity(id, Speed[0], Speed[1], Speed[2]);
Speed[3] = floatsqroot(floatpower(floatabs(Speed[0]), 2.0) + floatpower(floatabs(Speed[1]), 2.0) + floatpower(floatabs(Speed[2]), 2.0)) * 179.28625;
Distance[id] += Speed[3]/40000;

new s[8]; format(s, 8, "%.1f", Distance[id]);
TextDrawSetString(...);
}

//onplayerstatechange (zrob warunki i odpowiednio niszcz timer)
ptimer[playerid] = SetTimerEx("CarUpdate", 100, 1, "i", playerid);


Jak masz pytania to ?mia?o pisz, na szcz??cie nie zaliczasz si? do grupki znienawidzonej przez moj? osob? :)

Postaw piwo autorowi tego posta
 

 
Tagi: przebieg
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku