Komper_ 0 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 Popis problému: tákže, potrebujem spravit aby ked má hráč menšie score ako 99 tak mu to niečo napíše... no nejak to nefunguje Chyby/varování kompilátoru a při běhu: -- Kód: [code=:0] public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(vehicleid == 411) { new Float:score; GetPlayerScore(playerid,score); if(score < 99) { SendClientMessage(playerid, 0xFFFFFF, "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); } } return 1; } [/code] Dodatečné poznámky: -- Link to comment Share on other sites More sharing options...
0 Guest Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 (upraveno) if(score < 99 Máš tam score 99, ale třeba něakej hráč má 0-5, tim pádem tam nemůže vstoupit jen kterej bude mít score 99. A ten kterej bude mít mín nebo víc tam může. //Blbost, přehlédl jsem se. Myslel že tam máš =, + tam máš že ti to napíše jen zprávu, takže to hráče nevyhodí nikam. Edited 9. Červenec, 2017 by DIIGNITYYYY Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 (upraveno) public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid == 411) { new score = GetPlayerScore(playerid); if(score <= 99) { SendClientMessage(playerid, 0xFFFFFF, "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); RemovePlayerFromVehicle(playerid); } } } return 1; } Tohle by mělo fungovat. Edited 9. Červenec, 2017 by Wolficek Link to comment Share on other sites More sharing options...
0 Stellet 7 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(vehicleid == 411) { if(GetPlayerScore(playerid) < 99) { SendClientMessage(playerid, 0xFFFFFF, "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); } } return 1; } Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 hoši ani jedno mi nefunguje, mám skore 0 alebo 100 a stale mi do toho ide nastupiť Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 (upraveno) Opravil jsem kód, scrollni nahoru. To by už mělo fungovat. Edited 9. Červenec, 2017 by Wolficek Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 A napíše ti to aspoň tu správu? k té správě přidej RemovePlayerFromVehicle(playerid); vôbec nič, len sadnem do auta či už mám score menšie alebo väčšie ako 99 Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 Kompere, koukni se nahoru na ten můj kód a dej ho znova, mělo by to fungovat.. Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 čo je oldstate ? mam undefined symbol Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 definoval jsi na začátku skriptu <a_samp> ?? Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 ano ved toto tam je stále ne ? Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 Nevím, v čem to tedy je. Já jsem si to v pohodě skompiloval, jediná chyba byla jen když nebyl definvoanej a_samp, všiml jsi si i změny publicu? Celý to nahraď. #include <a_samp> public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid == 411) { new score = GetPlayerScore(playerid); if(score <= 99) { SendClientMessage(playerid, 0xFFFFFF, "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); RemovePlayerFromVehicle(playerid); } } } return 1; } Toto mi jde skompilovat v pohodě. Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 no zmenu publicu som si nevšimol ale stále mi to nejde, resp. ide tak ako vtedy vždy mi to tam nastúpi a nič nenapíše Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 nastupuješ do infernusu? Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 ano, id 411 Link to comment Share on other sites More sharing options...
0 Invouk 91 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 (upraveno) a skúšal si si vyprintovať ? public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) { print("hrac nastupuje"); new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid == 411) { print("id vozidla je 411"); new score = GetPlayerScore(playerid); if(score <= 99) { SendClientMessage(playerid, 0xFFFFFF, "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); RemovePlayerFromVehicle(playerid); } } } return 1; } a poprípade skús použiť:/wiki/OnPlayerEnterVehicle Edited 9. Červenec, 2017 by XpresS Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 9. Červenec, 2017 Author Share Odesláno: 9. Červenec, 2017 nejde neviem. ale tie auta robím takto new inf1 = CreateVehicle(411, 282.8159, 1943.5248, 17.2661, -45.0000, -1, -1, 100); new minf1 = CreateObject(19620, -500, -500, -500, 0.0, 0.0, 96.0); AttachObjectToVehicle(minf1, inf1, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0); lebo na nom mam potom attachnuty object Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 9. Červenec, 2017 Share Odesláno: 9. Červenec, 2017 Aha, našel jsem problém. Byl to ten problém, že to moje zjišťuje ID auta(z /dl) takže např. I Williard může být ID 411 ale není to přesně ten infernus. Nahraď: new new vehicleid = GetPlayerVehicleID(playerid);if(vehicleid == 411) (Smaž obě a jen dej tohle k závorkám if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411) { } Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 10. Červenec, 2017 Globální moderátor Share Odesláno: 10. Červenec, 2017 Jestli pak chces konkretni vozidlo (resp. vozidlo s tim attachnutym objektem) tak if(GetPlayerVehicleID(playerid) == inf1) Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 10. Červenec, 2017 Author Share Odesláno: 10. Červenec, 2017 (upraveno) Hoši dik za rady, keď prídem z práce tak vyskúšam a dám vedieť. Aha, našel jsem problém. Byl to ten problém, že to moje zjišťuje ID auta(z /dl) takže např. I Williard může být ID 411 ale není to přesně ten infernus. Nahraď: new new vehicleid = GetPlayerVehicleID(playerid); if(vehicleid == 411) (Smaž obě a jen dej tohle k závorkám if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411) { } Stále to ide tak ako včera nastúpi tam za každých okolností, a ani tu správu to nenapíše. Jestli pak chces konkretni vozidlo (resp. vozidlo s tim attachnutym objektem) tak if(GetPlayerVehicleID(playerid) == inf1) Keď tam dám inf1 tak mám error undefined symbol aj ked hore v ongamemodeinit mám new inf1 = CreateVehicle..... Edited 10. Červenec, 2017 by Komper_ Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 10. Červenec, 2017 Globální moderátor Share Odesláno: 10. Červenec, 2017 Ah shit, pravda... new inf1; dej někam vně (mimo) OnGameModeInit. Nejlépe někam nahoru Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 10. Červenec, 2017 Author Share Odesláno: 10. Červenec, 2017 (upraveno) už to ide len ma to nevyhodí z auta píše to pri vstupe do každého auta. Edited 10. Červenec, 2017 by Komper_ Link to comment Share on other sites More sharing options...
0 Globální moderátor HighPrint 177 Odesláno: 10. Červenec, 2017 Globální moderátor Share Odesláno: 10. Červenec, 2017 Hod sem jeste jednou celej kod, jak ho tedka mas Link to comment Share on other sites More sharing options...
0 Komper_ 0 Odesláno: 10. Červenec, 2017 Author Share Odesláno: 10. Červenec, 2017 new inf1; public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(GetPlayerVehicleID(playerid) == inf1) { new score = GetPlayerScore(playerid); if(score <= 99) { TogglePlayerControllable(playerid,0); TogglePlayerControllable(playerid,1); SendClientMessage(playerid, 0xFFFFFF, "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); } } return 1; } Link to comment Share on other sites More sharing options...
0 The hidden face 77 Odesláno: 10. Červenec, 2017 Share Odesláno: 10. Červenec, 2017 Akorát si oprav: new inf1 = CreateVehicle(411, 282.8159, 1943.5248, 17.2661, -45.0000, -1, -1, 100); Link to comment Share on other sites More sharing options...
0 Wolficek 2 Odesláno: 10. Červenec, 2017 Share Odesláno: 10. Červenec, 2017 public OnPlayerStateChange(playerid, newstate, oldstate) { if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) { new vModel = GetVehicleModel(GetPlayerVehicleID(playerid)); if(vModel == 411) { new score = GetPlayerScore(playerid); if(score <= 99) { new str[280]; format(str, sizeof(str), "{FF0000}[ {00FF00}! {FF0000}] {00FFFF}Toto vozidlo budeš môcť používať až keď dosiahneš {FF0000}100{00FFFF} bodov."); SendClientMessage(playerid, -1, str); RemovePlayerFromVehicle(playerid); } } } return 1; } Otestováno, tohle funguje. Link to comment Share on other sites More sharing options...
Dotaz
Komper_ 0
Popis problému:
tákže, potrebujem spravit aby ked má hráč menšie score ako 99 tak mu to niečo napíše...
no nejak to nefunguje
Chyby/varování kompilátoru a při běhu:
--
Kód:
Dodatečné poznámky:
--
Link to comment
Share on other sites
28 odpovědí na tuto otázku
Recommended Posts