Sziasztok!
2 kérdésem lenne, az első:
Van ez a kis részlet:
public OnPlayerEnterCheckpoint(playerid)
{
new str[64];
if(JatekosInfo[playerid][Vizsga] != 0)
{
SendClientMessage(playerid,-1,\"1\");
if(IsPlayerInAnyVehicle(playerid)&& GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,-1,\"2\");
if(GetPlayerVehicleID(playerid) == JatekosInfo[playerid][VizsgaJarmu])
{
SendClientMessage(playerid,-1,\"3\");
JatekosInfo[playerid][Vizsgazikk]++;
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
if(JatekosInfo[playerid][Vizsgazikk] == -2)
{
SendClientMessage(playerid,-1,\"vege\");
JatekosInfo[playerid][Vizsgazikk]= -1;
SetPlayerPos(playerid,1444.7711,-1726.0675,13.5469); //ahol elkezdett vizsgázni
DestroyVehicle(JatekosInfo[playerid][VizsgaJarmu]);
//vizsga alapján jogsi adás
//JatekosInfo[playerid][KocsiJogsi] = 50;
JatekosInfo[playerid][Vizsga] = 0;
SendClientMessage(playerid,SIKERES,\"Vizsga Befejezve!\");
return 1;
}
if(JatekosInfo[playerid][Vizsga] == 1 ||JatekosInfo[playerid][Vizsga] == 2)
{
SendClientMessage(playerid,-1,\"ujcp\");
format(str,sizeof(str),\"Vizsgazik: %d | %.2f %.2f %.2f\",JatekosInfo[playerid][Vizsgazikk],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][0],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][1],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][2]);
SendClientMessage(playerid,-1,str);
if(!SetPlayerCheckpoint(playerid,KocsiCp[JatekosInfo[playerid][Vizsgazikk]][0],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][1],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][2],2.5)) SendClientMessage(playerid,-1,\"Sikertelen!\");
if(JatekosInfo[playerid][Vizsgazikk] == sizeof(KocsiCp)-1) JatekosInfo[playerid][Vizsgazikk] = -3;
}
Ez nem működik, lefut szépen, kiírja hogy mi a következő cp, de nem hozza létre (szóval csak a setplayercheckpoint nem működik, bár a \"Sikertelent\" sem írja ki)
De ha manuálisan kérem az új cp-t, (vagyis belemegyek egy cp-be, és beírom, hogy /cp , ami egy
SetPlayerCheckpoint(playerid,KocsiCp[JatekosInfo[playerid][Vizsgazikk]][0],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][1],KocsiCp[JatekosInfo[playerid][Vizsgazikk]][2],2.5)
-t csinál), akkor működik.
Először csak simán volt a setplacercheckpoint, de most már if-be raktam, hátha return 0-val tér vissza, de nem.
Előre is köszönöm a segítséget.
Dupla hozzászólás automatikusan összefûzve. ( [time]2015. augusztus 22. 12:39:08[/time] )
Nos, csináltam egy 100 ms-es timert, és így működik, és azt a látszatot kelti, hogy instant adja a cp-t.