Beiträge von Jeffry

    Interessant, irgendwie verbiegt der da was bei der Rückgabe.
    Schreib es mal so:
    stock mysql_GetStr(Table[], Field[], Where[], Is[])
    {
    new query[128], retVal[64];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, query);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, query);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(retVal);
    mysql_free_result();
    return retVal;
    }


    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, query);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, query);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }

    Dann muss es so aussehen:
    printf("aktiv: %d", Postinfo[playerid][post_bAktiv]);
    if(Postinfo[playerid][post_bAktiv])
    {
    printf("checkpoint: %d", Postinfo[playerid][post_Checkpoint]);
    if(sInfo[playerid][post] == 0 && Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    printf("Fahrzeug: %d / postCars: %d", GetPlayerVehicleID(playerid), postCars[i]);
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 0;
    printf("post: %i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze checkpoint hinter Fahrzeug.");
    new veh = GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z;
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }
    }

    Willkommen auf Breadfish!


    Teste es mal so:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    new carid = GetPlayerVehicleID(playerid);

    if(IsPlayerInAnyVehicle(playerid))
    {
    if((newkeys==KEY_ACTION))
    {
    if(IsANoMotorVeh(carid))
    {
    SendClientMessage(playerid, COLOR_GREY, "* Das hat kein Motor.");
    }
    else
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid, COLOR_GREY, "* Du must der Fahrer des Fahrzeugs sein.");
    return 1;
    }
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine == VEHICLE_PARAMS_ON)
    {
    GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~r~Motor wurde ausgestellt...",3000,3);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    motor[vid] = true;
    }
    else
    {
    GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~g~Motor wurde gestartet...",3000,3);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    motor[vid] = false;
    }
    }
    return 1;
    }

    Du fährst zwei mal mit dem gleichen Fahrzeug in den Checkpoint. Einmal fährst du mit 485 in den Random-CP, und direkt danach fährst du mit 485 in den Checkpoint hinter dem Fahrzeug. Das widerspricht deiner Logik die du gesagt hast. Du willst ja nach jedem Checkpoint das Fahrzeug wieder wechseln. (Random CP = postg Fahrzeuge / hinter CP = postCars Fahrzeuge) -> Stand jetzt.

    Debugge es bitte mal so:
    printf("aktiv: %d", Postinfo[playerid][post_bAktiv]);
    if(Postinfo[playerid][post_bAktiv])
    {
    printf("checkpoint: %d", Postinfo[playerid][post_Checkpoint]);
    if(Postinfo[playerid][post_Checkpoint] == 0)
    {
    for(new i = 0; i < sizeof(postCars); i++)
    {
    printf("Fahrzeug: %d / postCars: %d", GetPlayerVehicleID(playerid), postCars[i]);
    if(IsPlayerInVehicle(playerid,postCars[i]))
    {
    Postinfo[playerid][post_Checkpoint] = 1;
    DisablePlayerCheckpoint(playerid);
    printf("Setze random checkpoint");
    new rand = random(sizeof(RandomSpawn1));
    SetPlayerCheckpoint(playerid,RandomSpawn1[rand][0], RandomSpawn1[rand][1],RandomSpawn1[rand][2],5.0);
    return 1;
    }
    }
    }
    else
    {
    for(new f = 0; f < sizeof(postg); f++)
    {
    printf("Fahrzeug: %d / postg: %d", GetPlayerVehicleID(playerid), postg[f]);
    if(IsPlayerInVehicle(playerid,postg[f]))
    {
    sInfo[playerid][post]++;
    Postinfo[playerid][post_Checkpoint] = 0;
    printf("post: %i",sInfo[playerid][post]);
    if(sInfo[playerid][post] == 10)
    {
    SendClientMessage(playerid,0xFF0000FF,"Fertig");
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    else
    {
    printf("Setze checkpoint hinter Fahrzeug.");
    new veh = GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z;
    GetPosHinterFahrzeug(veh,7,Float:x,Float:y,Float:z);
    sInfo[playerid][postx] = x;
    sInfo[playerid][posty] = y;
    sInfo[playerid][postz] = z;
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,sInfo[playerid][postx], sInfo[playerid][posty],sInfo[playerid][postz],3.0);
    return 1;
    }
    }
    }
    }
    }

    stock AccountLaden(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[200];
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "skin", "player", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "score", "player", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "geld", "player", SpielerInfo[playerid][pName]);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
    SetTimerEx("GiveSkinPlayerAuto", 100, false, "i", playerid);
    loggedin[playerid] = true;
    }
    return 1;
    }


    stock mysql_GetStr(Table[], Field[], Where[], Is[])
    {
    new query[128], retVal[64];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(retVal);
    mysql_free_result();
    return retVal;
    }


    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    Teste es mal so.

    Ich würde ein Textdraw nach dem anderen bei der Erstellung auskommentieren. Sobald es weg ist, hast du es gefunden.
    Koordinaten suchen kannst du vergessen, weil die alle bei dir in der selben Region sind.