T.Evil 5 Odesláno: 13. Prosinec, 2016 Share Odesláno: 13. Prosinec, 2016 Ahoj, snažím se spustit checkpointy přes dialog a nějak se mi to nedaří :/ new Job1bus[256]; public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if(PlayerInfo[playerid][pJob1] == 1) { ShowPlayerDialog(playerid, DIALOG_BUSDRIVER_START, DIALOG_STYLE_MSGBOX, "Směna", "Chceš začít svou směnu?", "Ano", "Ne"); } } //ONPLAYERDIALOGRESPONSE// //JESTE MAM DALSI DIALOGY PRED TIM// case DIALOG_BUSDRIVER_START: { if(response) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) { Job1bus[playerid] = 1; SetPlayerCheckpoint(playerid,2774.3999000,913.0999800,100.0,10); SendClientMessage(playerid, 0xFFFFFFFF, "Tvoje směna byla zahájena! Jeď na stanici."); } } public OnPlayerEnterCheckpoint(playerid) { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) { if(Job1bus[playerid] == 1) { Job1bus[playerid] = 2; SetPlayerCheckpoint(playerid,2597.3999000,695.5999800,20.9000000,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } if(Job1bus[playerid] == 2) { Job1bus[playerid] = 3; SetPlayerCheckpoint(playerid,2307.0000000,715.5000000,20.9000000,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } Probém je že checkpoint se po potvrzení dialogu objeví ale to je tak všechno... Nepomohlo ani DisablePlayerCheckpoint Pomoc, prosím... Link to comment Share on other sites More sharing options...
0 Deleted User 295 Odesláno: 13. Prosinec, 2016 Share Odesláno: 13. Prosinec, 2016 Od-debuguj si ten kod tak, ze si tam pridas (docasne) SCM abys zjistil, ktora vetev kodu se kdy provadi, treba takhle: public OnPlayerEnterCheckpoint(playerid) { SCM(playerid, "debug 1"); if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) { SCM(playerid, "debug 2"); if(Job1bus[playerid] == 1) { SCM(playerid, "debug 3"); Job1bus[playerid] = 2; SetPlayerCheckpoint(playerid,2597.3999000,695.5999800,20.9000000,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } if(Job1bus[playerid] == 2) { SCM(playerid, "debug 4"); Job1bus[playerid] = 3; SetPlayerCheckpoint(playerid,2307.0000000,715.5000000,20.9000000,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } kdyz se ti vypise debug 1 a debug 2 uz ne, tak vis, ze je chyba nekde mezi tim. tj to bude asi ten if. Tak si skontrolujes jestrli ho mas spravne, atd. 1 Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 13. Prosinec, 2016 Author Share Odesláno: 13. Prosinec, 2016 Nefunguje mi to, když vlezu do toho checkpointu nestane se prostě vůbec nic :/ Link to comment Share on other sites More sharing options...
0 The hidden face 77 Odesláno: 13. Prosinec, 2016 Share Odesláno: 13. Prosinec, 2016 (upraveno) Zdravím, myslím, že by nám všem výrazně pomohlo, kdyby jsi sem zveřejnil celý kód. Pokud je moc dlouhý, tak ho třeba hoď na ulož. to... Třeba s komenty, co a kde se týká těch check pointů. Z tohohle výcucu těžko poznáme, jestli máš někde něco špatně. Může se jednat klidně o jednoduchou chybu, která v tomhle kusu kódu není vidět, jelikož kód není kompletní. Edited 13. Prosinec, 2016 by GaRGoyLeS Link to comment Share on other sites More sharing options...
0 ATomas 290 Odesláno: 13. Prosinec, 2016 Share Odesláno: 13. Prosinec, 2016 if(Job1bus[playerid] == 1) { Job1bus[playerid] = 2; SetPlayerCheckpoint(playerid,2597.3999000,695.5999800,20.9000000,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } else if(Job1bus[playerid] == 2)//tady jsem pripsal pred if else { Job1bus[playerid] = 3; SetPlayerCheckpoint(playerid,2307.0000000,715.5000000,20.9000000,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 14. Prosinec, 2016 Author Share Odesláno: 14. Prosinec, 2016 Zkoušel jsem přidat else a nic se nezměnilo :/ Myslím že není třeba přidávat celý můj kód. Co se týče checkpointů jako takových tak jsem přidal všechno co jsem udělal PROBLÉM JE ŽE: Ať pod "public OnPlayerEnterRaceCheckpoint(playerid)" napíšu cokoliv tak se to nestane, když vlezu do CP Přepsal jsem ten kód znova podle tohohle tutorialu: http://pawno.cz/topic/31529-checkpointy/ Až na to že jsem to udělal s race cp. Stále stejný problém = Cokoliv napíšu pod OnPlayerEnterRaceCheckpoint se neuskuteční... Compile nehlásí žádnou chybu Link to comment Share on other sites More sharing options...
0 ATomas 290 Odesláno: 14. Prosinec, 2016 Share Odesláno: 14. Prosinec, 2016 CrashDetect taky nic nehlasi ? Link to comment Share on other sites More sharing options...
0 Deleted User 295 Odesláno: 14. Prosinec, 2016 Share Odesláno: 14. Prosinec, 2016 Spoustis vubec spravne AMXko? To spis vypada, ze to co skompilujes nespoustis, pac SCM v tom callbacku by se mel provest vzdy, kdyz do CP vstoupis. Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 14. Prosinec, 2016 Author Share Odesláno: 14. Prosinec, 2016 Spouštim správné... Sice jsem lama ale zas až taková ne ;D Link to comment Share on other sites More sharing options...
0 ATomas 290 Odesláno: 14. Prosinec, 2016 Share Odesláno: 14. Prosinec, 2016 Ted ti uz nepomuze nic, jen zverejnit cely kod. Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 14. Prosinec, 2016 Author Share Odesláno: 14. Prosinec, 2016 new jJob1[MAX_PLAYERS]; OnPlayerEnterVehicle { if(PlayerInfo[playerid][pJob1] == 1) { ShowPlayerDialog(playerid, DIALOG_BUSDRIVER_START, DIALOG_STYLE_MSGBOX, "Směna", "Chceš začít směnu?", "Ano", "Ne"); } if(PlayerInfo[playerid][pJob1] > 1) { SendClientMessage(playerid,0xFFFFFFAA,"Vrať se do práce!"); } } Toto vyvolá checkpoint - resp. if(response) case DIALOG_BUSDRIVER_START: { if(response) { SendClientMessage(playerid, 0xFFFFFFFF, "Tvoje směna byla zahájena! Jeď na stanici."); SetPlayerRaceCheckpoint(playerid, 2,2774.3999000,913.0999800,100.0,0,0,0,5); jJob1[playerid] = 0; } else { SendClientMessage(playerid, 0xFFFFFFFF, "Tvoje směna nebyla zahájena!"); } } OnPlayerEnterRaceCheckpoint { if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 437) if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431) { switch(jJob1[playerid]) { case 0: { (DisablePlayerRaceCheckpoint(playerid)); (jJob1[playerid]++); (SetPlayerRaceCheckpoint(playerid,2,2774.3999000,913.0999800,100.0,0,0,0,10)); (SendClientMessage(playerid,0xFFFFFFAA,"TEST1")); } case 1: { (DisablePlayerRaceCheckpoint(playerid)); (jJob1[playerid]++); (SetPlayerRaceCheckpoint(playerid,2,2597.3999000,695.5999800,20.9000000,0,0,0,10)); PlayerInfo[playerid][pJob1ZK]++; SendClientMessage(playerid,0xFFFFFFAA,"TEST2"); GivePlayerMoney(playerid, 500); } case 2: { (DisablePlayerRaceCheckpoint(playerid)); (jJob1[playerid]++); SetPlayerRaceCheckpoint(playerid,2,2307.0000000,715.5000000,20.9000000,0,0,0,10); PlayerInfo[playerid][pJob1ZK]++; GivePlayerMoney(playerid, 500); } case 3: { (DisablePlayerRaceCheckpoint(playerid)); (jJob1[playerid] = 0); GivePlayerMoney(playerid, 500); } } } return 1; } Předěkak jsem to v noci na race checkointy.. Kod bez chyby a stále stejnej problém.. Link to comment Share on other sites More sharing options...
0 Deleted User 295 Odesláno: 14. Prosinec, 2016 Share Odesláno: 14. Prosinec, 2016 (upraveno) if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 437)if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431) if (a) if (d) { } je to same co if (a && d) { } t.j. se to nikdy provest nemuze... Edited 14. Prosinec, 2016 by Satoshi Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 14. Prosinec, 2016 Author Share Odesláno: 14. Prosinec, 2016 Mě to funguje a i když obě ty podmínky smažu furt mám stejný problém.. Link to comment Share on other sites More sharing options...
0 ATomas 290 Odesláno: 14. Prosinec, 2016 Share Odesláno: 14. Prosinec, 2016 (upraveno) Mě to funguje a i když obě ty podmínky smažu furt mám stejný problém.. Chapes ze chyba je v kodu, ktery jsi nam neposlal ? Bud ti neco zastavi kod coz by prozradil CrashDetect, nebo tam mas nekde return. Tak jako tak kdyby jsi ten SCM dal uplne na zacatek toho publicu, tak by se ti vypsal, ale kdyz to das pod neco uz se vypsat nemusi. Edited 14. Prosinec, 2016 by ATomas 1 Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 14. Prosinec, 2016 Author Share Odesláno: 14. Prosinec, 2016 Rozumím, koukni do zpráv Atomasi prosím.. Link to comment Share on other sites More sharing options...
0 Lukasz 336 Odesláno: 14. Prosinec, 2016 Share Odesláno: 14. Prosinec, 2016 Problém je v pozici checkpointu na ose z, kdy se nachází příliš vysoko. 1 Link to comment Share on other sites More sharing options...
0 T.Evil 5 Odesláno: 14. Prosinec, 2016 Author Share Odesláno: 14. Prosinec, 2016 Pravda svatá pravda!!! Díky moc!! LOCK Link to comment Share on other sites More sharing options...
Dotaz
T.Evil 5
Ahoj, snažím se spustit checkpointy přes dialog a nějak se mi to nedaří :/
Probém je že checkpoint se po potvrzení dialogu objeví ale to je tak všechno... Nepomohlo ani DisablePlayerCheckpoint
Pomoc, prosím...
Link to comment
Share on other sites
16 odpovědí na tuto otázku
Recommended Posts