Wysłany: 2016-03-20, 18:02
Szymon9910911
Wiek: 25 Na forum: 4137 dni Posty: 251
Nick w MP: Tetral [you]
Piwa : 9
Witam mia?em taki pomys? ?eby zrobi? co? takiego ze je?eli gracz w jest w pojezdzie i klinknie klawisz Y to odpali mu silnik(je?li stan jest wiekszy ni? 900) a je?li pojazd jest uszkodzony stan mnieiszy ni? 800 ma losowa? i zrobi?em takie co? lecz nie wychodzi
http://pastebin.com/Q5qzCNRm
jake s? b??dy
1.Klikne Y to wiadomo?? wy?wietli si? po uruchomieniu ba? zgaszeniu
2.Samochody s? na pocz?tku odpalone
3.Chcia? bym zrobi? ?e wy?wietla si? najpierw napis Gracz %s pr?buje odpali? silnik i je?eli odpali to ma wy?wietli? silnik zaczo? pracowa? a je?li nie odpali silnik jest uszkodzony. Za pomoc respekt oraz piwerko !
Wysłany: 2016-03-21, 13:32
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
G?ra gamemoda: Kod: #define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
Pawn
//public OnPlayerKeyStateChange
if( PRESSED ( 65536 ))
{
if(! IsPlayerInAnyVehicle ( playerid )) return SendClientMessage ( playerid , - 1 , "Nie jeste? w ?adnym poje?dzie." );
if( GetPlayerState ( playerid ) != 2 ) return SendClientMessage ( playerid , - 1 , "Musisz by? kierowc? pojazdu." );
new vehicleid = GetPlayerVehicleID ( playerid ), engine = 0 , lights = 0 , alarm = 0 , doors = 0 , bonnet = 0 , boot = 0 , objective = 0 ;
GetVehicleParamsEx ( vehicleid , engine , lights , alarm , doors , bonnet , boot , objective );
if( vehicleid == 0 )
{
return 1 ;
}
if( engine == 1 )
{
SetVehicleParamsEx ( vehicleid , 0 , lights , alarm , doors , bonnet , boot , objective );
SendClientMessage ( playerid , - 1 , "Zgasi?e? silnik pojazdu." );
}
else
{
new Float : x , Float : y , Float : z , string [ 128 ];
GetPlayerPos ( playerid , x , y , z );
format ( string , sizeof (string), "%s pr?buje uruchomi? silnik w poje?dzie." , PlayerName ( playerid ));
ProxDetector ( 30.0 , playerid , string , - 1 , - 1 , - 1 , - 1 , - 1 );
SetTimerEx ( "UruchamianiePojazdu" , 5000 , false , "i" , playerid );
return 1 ;
}
forward UruchamianiePojazdu ( playerid );
public UruchamianiePojazdu ( playerid )
{
new Float : vehhp , vehicleid = GetPlayerVehicleID ( playerid ), engine = 0 , lights = 0 , alarm = 0 , doors = 0 , bonnet = 0 , boot = 0 , objective = 0 ;
GetVehicleHealth ( vehicleid , vehhp );
if( vehhp > 900 )
{
SetVehicleParamsEx ( vehicleid , 1 , lights , alarm , doors , bonnet , boot , objective );
SendClientMessage ( playerid , - 1 , "Uruchomi?e? silnik pojazdu." );
}
else if( vehhp < 900 ) return SendClientMessage ( playerid , - 1 , "Silnik jest zepsuty, nie uruchomisz pojazdu." );
return 1 ;
}
Powinno dzia?a?, nie sprawdza?em czy kod dzia?a, sprawd? sobie.
Funkcja ProxDetector w tym temacie: http://gtao.pl.com/showthread.php?t=282343
Aby pojazdy by?y zgaszone po spawnie, funkcja: Pawn ManualVehicleEngineAndLights (); - w OnGameModInit.
Wysłany: 2016-03-21, 15:08
Szymon9910911
Wiek: 25 Na forum: 4137 dni Posty: 251
Nick w MP: Tetral [you]
Piwa : 9
A m?g? by? mi wyt?umaczy? to Kod: #define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
bo tego kodu nie rozumiem zabardzo ale reszte rozumiem
Wysłany: 2016-03-21, 15:32
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Szymon9910911 , to jest definicja do wciskania klawiszy - tak w uproszczeniu. Jak nie chce korzysta? z tego to daj po prostu zamiast tego PRESSED: Pawn i po tym dalszy kod.
Wysłany: 2016-03-21, 15:38
Szymon9910911
Wiek: 25 Na forum: 4137 dni Posty: 251
Nick w MP: Tetral [you]
Piwa : 9
ProxDetector czy ta funkcja s?u?y do wy?wietlenia wiadomo?ci w danym obr?bie ?
Wysłany: 2016-03-21, 15:53
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Wysłany: 2016-03-21, 16:13
Szymon9910911
Wiek: 25 Na forum: 4137 dni Posty: 251
Nick w MP: Tetral [you]
Piwa : 9
A jak zablokowa? spam Klawiszem Y ? bo je?li klikne 2xY pod rzad to 2x wyskoczy wiadomosc
[ Dodano : 2016-03-21, 16:21 ]
A i jeszcze jedno bo rower?w si? nie odpala prawda ? zrobi?em tak? funkcj?
Kod: if(IsVehicleABike(vehicleid)) return SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
lecz co? nie dzia?a
Wysłany: 2016-03-22, 16:19
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Co do blokady klawisza Y:
Pawn if( newkeys == 65536 )
{
if( GetPVarInt ( playerid , "UzylY" ) > 0 ) return 0 ;
SetPVarInt ( playerid , "UzylY" , 1 );
//dalszy kod
}
//kod odpowiedzialny za odpalanie pojazdu oraz za informacj?, ?e silnik jest zepsuty
SetPVarInt ( playerid , "UzylY" , 0 );
Co do blokady odpalania rower?w:
Pawn new vehid = GetPlayerVehicleID ( playerid ), m = GetVehicleModel ( vehid );
if( m == 481 || m == 509 || m = 510 )
return SetVehicleParamsEx ( vehid , 1 , lights , alarm , doors , bonnet , boot , objective );
Powy?sze kody powinny dzia?a?, sprawd? je sobie, bo nie sprawdza?em.
Wysłany: 2016-03-22, 17:04
Szymon9910911
Wiek: 25 Na forum: 4137 dni Posty: 251
Nick w MP: Tetral [you]
Piwa : 9
Ale mam stock z rowerami
lecz nie wiem gdzie to da? by by?o dobrze
[ Dodano : 2016-03-22, 17:50 ]
a co do kodu wyzej to te? co? nie tak bo je?li klikne raz to chce zeby to po 2s da?o si? klikn?? a tam nwm czmu ale jest po 10 s
[ Dodano : 2016-03-22, 19:40 ]
A masz mo?e jaki? inny pomys? na to ?
Wysłany: 2016-03-23, 15:09
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
"Szymon9910911" napisał/a :a co do kodu wyzej to te? co? nie tak bo je?li klikne raz to chce zeby to po 2s da?o si? klikn??
Jak chcesz aby mo?na by?o u?ywa? tego co 2 sekundy to najlepiej b?dzie to raczej zrobi? za pomoc? funkcji gettime .
Pawn new UzycieY [ MAX_PLAYERS ];
if( newkeys == 65536 )
{
if( UzycieY [ playerid ] > gettime ()) return 0 ;
//dalszy kod, po odpaleniu pojazdu:
UzycieY [ playerid ] = gettime () + 2 ; //2 sekundy
}
Co do blokady odpalania rower?w to dajesz ten kod gdy gracz wejdzie do jakiego? pojazdu, w publicu OnPlayerStateChange:
Pawn if( newstate == PLAYER_STATE_DRIVER )
//kod od sprawdzania czy gracz znajduje si? na rowerze, jak tak to ma "uruchamia?" rower, czyli ten kod co Ci poda?em.
Wysłany: 2016-03-23, 22:29
Szymon9910911
Wiek: 25 Na forum: 4137 dni Posty: 251
Nick w MP: Tetral [you]
Piwa : 9
dzi?ki dzia?a . Do zamkni?cia
Tagi: odpalanie :: silnika
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: