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

Wysłany: 2016-03-20, 18:02


Szymon9910911







Wiek: 25
Na forum: 4137 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

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 ! :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-21, 13:32


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   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 0lights 0alarm 0doors 0bonnet 0boot 0objective 0;
    GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective);
    if(vehicleid == 0)
    {
        return 1;
    }
    if(engine == 1)
    {
        SetVehicleParamsEx(vehicleid0lightsalarmdoorsbonnetbootobjective);
        SendClientMessage(playerid, -1"Zgasi?e? silnik pojazdu.");
    }
    else
    {
        new Float:xFloat:yFloat:zstring[128];
        GetPlayerPos(playeridxyz);
        format(stringsizeof(string), "%s pr?buje uruchomi? silnik w poje?dzie."PlayerName(playerid));
        ProxDetector(30.0playeridstring, -1, -1, -1, -1, -1);
        SetTimerEx("UruchamianiePojazdu"5000false"i"playerid);
        return 1;
    }
    
    forward UruchamianiePojazdu(playerid);
    
    public UruchamianiePojazdu(playerid)
    {
        new Float:vehhpvehicleid GetPlayerVehicleID(playerid), engine 0lights 0alarm 0doors 0bonnet 0boot 0objective 0;
        GetVehicleHealth(vehicleidvehhp);
        if(vehhp 900)
        {
            SetVehicleParamsEx(vehicleid1lightsalarmdoorsbonnetbootobjective);
            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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-21, 15:08


Szymon9910911







Wiek: 25
Na forum: 4137 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-21, 15:32


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   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
if(newkeys == 65536)
i po tym dalszy kod. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-21, 15:38


Szymon9910911







Wiek: 25
Na forum: 4137 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

ProxDetector czy ta funkcja s?u?y do wy?wietlenia wiadomo?ci w danym obr?bie ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-21, 15:53


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Szymon9910911, dok?adnie tak.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-21, 16:13


Szymon9910911







Wiek: 25
Na forum: 4137 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

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 ? :D zrobi?em tak? funkcj?
Kod:

if(IsVehicleABike(vehicleid)) return SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
lecz co? nie dzia?a :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-22, 16:19


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   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), GetVehicleModel(vehid);
if(== 481 || == 509 || 510)
    return SetVehicleParamsEx(vehid1lightsalarmdoorsbonnetbootobjective);


Powy?sze kody powinny dzia?a?, sprawd? je sobie, bo nie sprawdza?em. :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-22, 17:04


Szymon9910911







Wiek: 25
Na forum: 4137 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

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 ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-23, 15:09


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   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.


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-23, 22:29


Szymon9910911







Wiek: 25
Na forum: 4137 dni
Posty: 251
Nick w MP: Tetral [you]

Piwa: 9

Respekt: 70

dzi?ki dzia?a . Do zamkni?cia

Postaw piwo autorowi tego posta
 

 
Tagi: odpalanie :: silnika
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