Beiträge von Jeffry

    Oh ja, stimmt, mein Fehler, etwas zu eifrig ersetzt.


    Ändere es aber bitte zu
    return -1;


    Sonst kann das zu Fehlern führen, da dann, wenn ein Fahrzeug nicht erstellt werden konnte, das Fahrzeug mit dem Index 1 angesprochen würde, das wäre ja falsch.

    Versuche es vorerst mal so:
    stock createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]!=0)continue;
    strmid(cInfo[i][besitzer],GetName(playerid),0,strlen(GetName(playerid)),24);
    cInfo[i][c_x]=x;
    cInfo[i][c_y]=y;
    cInfo[i][c_z]=z;
    cInfo[i][c_r]=r;
    cInfo[i][model]=modelid;
    cInfo[i][Color_1]=1;
    cInfo[i][Color_2]=1;
    cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,cInfo[i][Color_1],cInfo[i][Color_2],-1);
    cInfo[i][ci_tank] = 100;
    return i;
    }
    return i;
    }


    case DIALOG_AUTOHAUS:
    {
    if(response)
    {
    //Autoverkauf notiz
    new id=GetPVarInt(playerid,"buyCarID"),query[265];
    if(getPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,Rot,"Du besitzt nicht genügend Geld umd dieses Fahrzeug zu kaufen.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    givePlayerMoney(playerid,-ahCars[id][c_preis]);
    new i = createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r,name,tank) VALUES ('%s','%i','%f','%f','%f','%f','%s','%f')",cInfo[i][besitzer],cInfo[i][model],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][c_name],cInfo[i][ci_tank]); //warning 213: tag mismatch
    mysql_pquery(dbhandle,query,"carSavedToDB","i",i);
    SendClientMessage(playerid,Gruen,"Du hast das Fahrzeug erfolgreich gekauft");
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du hast den Kauf abgebrochen");
    }
    return 1;
    }


    Lösche:
    new id=getFreeCarID(); //warning 204: symbol is assigned a value that is never used: "id"


    Und ändere
    if(!sitz == 0)return SendClientMessage(playerid, Rot, "Du musst auf dem Fahrersitz sein!"); //warning 213: tag mismatch
    zu
    if(sitz == 0)return SendClientMessage(playerid, Rot, "Du musst auf dem Fahrersitz sein!");


    Zwecks den Tag Mismatches:
    Prüfe jeweils, ob zu den Arrays der hintere Teil (in Klammern) im dazugehörigen enum steht, wenn nicht, füge ihn hinzu.

    Auf Nachfrage nach TeamViewer Support:
    Die Gründe warum ich auf die Scripting Base verweise



    Da du keine Eigeninitiative zeigst, und es nicht mal versuchst, sehe ich es zudem nicht ein, dir da über TeamViewer zu helfen.
    Ich habe dir Hilfestellungen gegeben, und gesagt was du machen sollst. Versuche das doch mal.


    Zu sagen, dass du da nur etwas kaputt machst ist mir unschlüssig, da du nur - dem Fehler nach zumindest - die Tabellen pflegen musst.
    Mache das, und poste dann gegebenenfalls die neue Fehlermeldung.

    Setze beim Kauf das hier
    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    vor das Query, sprich zwei Zeilen drüber.


    Versuche es dann mal.

    Daraus könntest du es auch ablesen ja, ist aber etwas aufwändiger.
    Ich meinte den PAWN Code, dort stehen die Queries ja drin, die die Tabelle verwenden, also auch die Spalten dazu.

    Du musst die Tabelle mit den entsprechenden Spalten (findest du im Code, wenn du nach dem Tabellenname suchst) anlegen. Dazu in den Queries im Code die Spalten auslesen, die verwendet werden.
    Werte musst du keine rein schreiben, ich schätze mal das macht der Code.

    Die Tabelle "tb_outstanding" existiert in deiner Datenbank nicht, lege diese entsprechend an.


    In der Tabelle "cp_cronjob" fehlt eine Spalte "status". Füge diese entsprechend hinzu.

    Ok, dann liegt es wahrscheinlich daran, dass du einmal die Cache Funktionen nutzt, und einmal nicht.
    Der Cache wird erst mit Verzögerung ausgelesen, sprich zu dem Zeitpunkt als die Ammus geladen werden, sind die Gruppen noch nicht geladen, auch wenn es vorher im Code steht.


    Füge den Code mit dem Laden der Ammus in LoadGruppen ein, vor das "return 1;" und versuche es dann.

    Marvin war schneller, das ist mir dann auch noch aufgefallen.


    Allerdings muss bei der IsPlayerInRangeOfPoint Zeile trotzdem ein continue am Ende stehen, kein return 1.


    Und dann jeweils bei SetPlayerPos etc den ersten Parameter von i zu playerid ändern.