Beiträge von Akuba

    So wie du das fragst wirkst du als ob du heute erst angefangen hast mit scripten:



    Das kommt unverändert ins Script:
    stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
    else return 0;
    }


    forward braucht man bei stock nicht.



    Irgendwo im script dann das:


    IsPlayerInArea(playerid,1549.7704,-1603.0498,1607.3401,-1636.7924);


    so sollte das dann klappen

    public SavePlayer(playerid)
    {
    new query[1024];
    format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i',Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE id='%i'",
    pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],
    pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[playerid][dbID]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    Der fehler sagte aus das ein Fehler mit den ' vorlag, da fehler einer bei Motorradschein

    public SavePlayer(playerid)
    {
    new query[1024];
    format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i,Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE id='%i'",
    pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],
    pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[playerid][dbID]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    zwichen Level='%i' und Geld='%i' fehlte ein ,


    zudem war dein String zu klein.

    Starte mal deinen PC Neu oder schließe jeden MySQL prozess im Task Manager


    der Fehler sagt aus der der Port (3306) schon belegt ist und mysql dadurch nicht starten kann.

    Das ist wie ich finde schon eigenartig geschrieben. das würde sich mit einen einzigen Query wunderbar lösen lassen.


    stock CreateSektor()
    {
    new Query[128], i = 0;
    format(Query, sizeof(Query), "SELECT * FROM `sektor`");
    mysql_query(Query);
    mysql_store_result();
    printf("%d Sektoren gelesen.", mysql_num_rows());
    while(mysql_fetch_row(Query))
    {
    sscanf(str, "e<p<|>{i}is[16]ffffd>",SektorInfo[i]);
    Sektor[i] = GangZoneCreate(SektorInfo[i][sX1],SektorInfo[i][sY1],SektorInfo[i][sX2],SektorInfo[i][sY2]);
    System[SektorOnline] += 1;
    printf("Sektor %s[%d] geladen.\n%s", SektorInfo[i][sName],System[SektorOnline],str);
    i++;
    }
    mysql_free_result();
    }


    Ungetestet, sollte aber das gewünschte ergebniss bringen.

    anscheined habt ihr ein falsches mysql include


    error 017: undefined symbol "mysql_function_query" heißt nichts anderes als das die function mysql_function_query nicht vorhanden ist.


    weiß leider nicht welches MySQL plugin so aufgebaut ist, daher kann ich leider keinen link dazu hergeben :/

    Ist eig ganz einfach: PAWN bricht nach einer gewissen zeilenlänge mit einer Fehlermeldung ab.


    um das zu umgehen macht man es halt so:




    new Query[2000], mehr[3] = "MEHR";
    // folgendes würde nicht gehen:
    format (Query, sizeof Query, "HIER STEHEN %s ALS 500 ZEICHEN IN DER ZEILE (vorstellen)", mehr); // würde einen fehler ausgeben weil die zeile zu lang ist.


    // folgendes würde gehen:
    new Query[2000], Temp[200], mehr[3] = "MEHR", hun = 500;
    format (Temp, sizeof Temp, "HIER STEHEN %s ALS ", mehr);
    strcat(Query, Temp);


    format(Temp, sizeof Temp, "%i ZEICHEN AUF 2 ZEILEN (vorstellen)", hun);
    strcat(Query, Temp);


    // Ausgabe: HIER STEHEN MEHR ALS 500 ZEICHEN AUF 2 ZEILEN (vorstellen.)


    kurz gesagt: strcat fügt einen string am ende eines Vorhanden strings an.

    Ob jemand im Fahrzeug ist lässt sich meines wissens nach nur mit einen stock lösen:


    stock IsSomeOneInCar (vehicleid)
    {
    new i;
    for(i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInVehicle(i, vehicleid)) return 1;
    }
    return 0;
    }


    Gibt 1 aus wenn ein Spieler im Fahrzeug ist und 0 wenn es leer ist.

    nach neuer Arbeit fragen ist doof.


    Wenn du so weiterarbeitest hast du wohl bald keine Arbeit mehr. Nach neuer Arbeit fragen zeigt vorallen dem Chef das du arbeiten willst. Niemand braucht jemanden der seine 5 Minuten aufgabe am Morgen macht und den Restlichen Tag nichts mehr. (Das war etwas übertrieben und soll niemanden angreifen, soll nur verdeutlichen!)