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

Wysłany: 2013-07-19, 12:37


Kurio







Wiek: 35
Na forum: 5512 dni
Posty: 122

Piwa: 17

Respekt: 76,3

Witam, mam problem z przebijaniem samych tylnych opon - bez wzgl?du na to czy przednie s? przebite czy ca?e - maj? takie pozosta?.
np. mamy wszystkie ca?e - to przebijamy tylko ty?.
a jak mamy prz?d przebity, a ty? ca?y, to zostawiamy prz?d taki jaki by?, czyli przebity a ty? przebijamy.
tak w uproszczeniu tylko na prz?d i ty? to rozdzieli?em, ale oczywi?cie interesuje mnie te? np. jak zrobi? gdy prawa przednia opona jest przebita, wszystkie inne ca?e i mam przebi? tyln? praw? opon? (czyli ca?e maj? pozosta? tylko lewe opony).

Na wiki sampa znalaz?em co? takiego:
Kod:

new Panels, Doors, Lights, Tires;
GetVehicleDamageStatus(vehicleid), Panels, Doors, Lights, Tires);
UpdateVehicleDamageStatus(vehicleid, Panels, Doors, Lights, (Tires | 0b0101));

Czyli przebijanie tylnych opon, a przednie pozostawia tak jak by?y.
i mi nie chodzi o to aby kto? da? gotowca, albo napisa?:
"zr?b sobie 15 warunk?w na sprawdzanie kt?re opony ma gracz przebite i w spe?nionym warunku przebij jeszcze jedn? opon? - np. if(opona == 1001){opona = 1101; Update...}"

Tylko ?eby kto? wyt?umaczy? co oznacza to "(Tires | 0b0101)" ??
po co jest znak | i po co przed 0101 jest 0b ?
Umie kto? odpowiedzie? na to pytanie i kr?tko wyja?ni? o co w tym chodzi?

Za pomoc (nie za gotowca, tylko za wyt?umaczenie) stawiam zimnego bronka ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-19, 13:46


GeDox







Wiek: 28
Na forum: 5264 dni
Posty: 10



Respekt: 50

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-19, 16:08


Kurio







Wiek: 35
Na forum: 5512 dni
Posty: 122

Piwa: 17

Respekt: 76,3

Przeczyta?e? to co napisa?em?
Jakby? nie widzia?, to w?a?nie z tej strony wklei?em kod.

I napisz? ja?niej:
chodzi mi o wyja?nienie tego
(Tires | 0b0101)
w jaki spos?b ten kod czyni to, ?e nie naprawia przednich k?? jak s? rozwalone,
tylko rozwala tylne - a przednie zostawia w tym samym stanie co by?y.
Np. pobieramy do zmiennej Tires = 1010 (przednie rozwalone)
i jak kod:
(1010 | 0b0101) robi ?e przednie s? nadal rozwalone (si? nie naprawiaj? wbrew temu co m?wi nam 0101 [bo tu si? rozwalaj? tylne, a przednie naprawiaj?])
Co oznacza w tym kodzie "|" i "0b" ?? Jak nie jeste? w stanie odpowied? na te pytanie, to tak jak prosi?em ju? wcze?niej - nie pisz mi tego samego co ju? wiem.
Prosz? tylko o wyja?nienie, co oznacza ten kod i jak to dzia?a.
Nie chc? robi? 15 warunk?w i sprawdza? kt?re opony s? przebite i dopiero potem przebija? t? opon? co mnie interesuje i dodatkowo te co s? ju? przebite...

Mo?e kto? pom?c w wyja?nieniu tego kodu? Dzi?ki z g?ry.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-20, 00:33


adamoloxD

PaFFner






Wiek: 32
Na forum: 5928 dni
Posty: 64

Piwa: 523

Respekt: 72

Kod ten
Pawn
(Tires 0b0101));
oznacza:
Tires - Wiadomo, odpowiada za opony
' | ' - Operator OR s?u?y w tym celu do "po??czenia" lewej i prawej strony ze sob?, w celu identyfikacji, kt?ra opona(y) zosta?y przebite.

A kod 0b0101 to nic innego jak zapis binarny (np. dla kolor?w masz 0x, etc.) oznaczaj?cy 0b jako przedrostek, a 0101 kod binarny (w tym wypadku odpowiada on przebitym oponom).

Podpis
Kod:


public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return DestroyVehicle(vehicleid);
}
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-20, 11:11


Kurio







Wiek: 35
Na forum: 5512 dni
Posty: 122

Piwa: 17

Respekt: 76,3

Dzi?ki :)

Musia?em sobie od?wie?y? tabelki prawdy :D i wszystko sta?o si? jasne.
A ?e kod binarny to wiem, tylko zmylil mnie ten przedrostek, kompletnie wypad?o mi z g?owy ?e to to, my?la?em ?e to co? "blokuje" - mniejsza o to.
Dzi?ki za pomoc, temat do zamkni?cia, a browarek leci ;)

Postaw piwo autorowi tego posta
 

 
Tagi: przebijanie :: opon.
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