Beiträge von Jeffry

    Lass es bitte mal so laufen und poste dann was im Log steht:
    public CreateTunedCar(playerid, CarKey1)
    {
    printf("ingarage=%i",Carlist[playerid][CarKey1][ingarage]);
    if(IsPlayerConnected(playerid) && Carlist[playerid][CarKey1][Typ] != -1)
    {
    printf("ingarage=%i",Carlist[playerid][CarKey1][ingarage]);
    if(Carlist[playerid][CarKey1][ingarage] == 1) return 1;
    //new carid = CreateVehicle(Kaufliste[Carlist[playerid][CarKey1][Typ]][Modelid],Carlist[playerid][CarKey1][SpawnSaveX],Carlist[playerid][CarKey1][SpawnSaveY],Carlist[playerid][CarKey1][SpawnSaveZ],Carlist[playerid][CarKey1][SpawnSaveRot],-1,-1,-1);
    new carid = CreateVehicle(Kaufliste[Carlist[playerid][CarKey1][Typ]][Modelid],Carlist[playerid][CarKey1][pos_x],Carlist[playerid][CarKey1][pos_y],Carlist[playerid][CarKey1][pos_z],Carlist[playerid][CarKey1][z_angle],-1,-1,-1);
    printf("carid = %d", carid);
    new string[50];
    format(string, sizeof(string), "{FFFF00}E-RP-{21DD00}%d", carid);
    printf("string=%s", string);
    SetVehicleNumberPlate(carid,string);
    Gas[carid] = Carlist[playerid][CarKey1][TankVolumen];
    printf("Gas: %d", Gas[carid]);
    Locked[carid] = Carlist[playerid][CarKey1][Lock];
    printf("Locked: %d", Locked[carid]);
    if(Carlist[playerid][CarKey1][Lock] == 1)
    {
    ForAllPlayers(i)
    {
    SetVehicleParamsForPlayer(carid,i,0,1);
    }
    }
    printf("Vor components");
    if(Carlist[playerid][CarKey1][mod1]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod1]); }
    if(Carlist[playerid][CarKey1][mod2]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod2]); }
    if(Carlist[playerid][CarKey1][mod3]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod3]); }
    if(Carlist[playerid][CarKey1][mod4]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod4]); }
    if(Carlist[playerid][CarKey1][mod5]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod5]); }
    if(Carlist[playerid][CarKey1][mod6]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod6]); }
    if(Carlist[playerid][CarKey1][mod7]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod7]); }
    if(Carlist[playerid][CarKey1][mod8]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod8]); }
    if(Carlist[playerid][CarKey1][mod9]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod9]); }
    if(Carlist[playerid][CarKey1][mod10]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod10]); }
    if(Carlist[playerid][CarKey1][mod11]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod11]); }
    if(Carlist[playerid][CarKey1][mod12]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod12]); }
    if(Carlist[playerid][CarKey1][mod13]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod13]); }
    if(Carlist[playerid][CarKey1][mod14]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod14]); }
    if(Carlist[playerid][CarKey1][mod15]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod15]); }
    if(Carlist[playerid][CarKey1][mod16]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod16]); }
    if(Carlist[playerid][CarKey1][mod17]!=-1) { AddVehicleComponent(carid,Carlist[playerid][CarKey1][mod17]); }
    if(Carlist[playerid][CarKey1][Paintjob]!=-1) { ChangeVehiclePaintjob(carid,Carlist[playerid][CarKey1][Paintjob]); }
    if(Carlist[playerid][CarKey1][Farbe1]!=-1) { ChangeVehicleColor(carid,Carlist[playerid][CarKey1][Farbe1],Carlist[playerid][CarKey1][Farbe2]); }
    printf("Nach components");
    for(new i; i<MaxVeh[playerid]; i++)
    {
    printf("i:%d", i);
    if(Carlist[playerid][i][Neon]!=0)
    {
    printf("Neon: %d", Carlist[playerid][i][NeonType]);
    switch(Carlist[playerid][i][NeonType])
    {
    case 0:AttachObjectToVehicle(CreateObject(18647,0,0,0,0,0,0), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0), AttachObjectToVehicle(CreateObject(18647,0,0,0,0,0,0), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    case 1:AttachObjectToVehicle(CreateObject(18648,0,0,0,0,0,0), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0), AttachObjectToVehicle(CreateObject(18648,0,0,0,0,0,0), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    case 2:AttachObjectToVehicle(CreateObject(18649,0,0,0,0,0,0), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0), AttachObjectToVehicle(CreateObject(18649,0,0,0,0,0,0), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    case 3:AttachObjectToVehicle(CreateObject(18650,0,0,0,0,0,0), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0), AttachObjectToVehicle(CreateObject(18650,0,0,0,0,0,0), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    case 4:AttachObjectToVehicle(CreateObject(18651,0,0,0,0,0,0), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0), AttachObjectToVehicle(CreateObject(18651,0,0,0,0,0,0), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    case 5:AttachObjectToVehicle(CreateObject(18652,0,0,0,0,0,0), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0), AttachObjectToVehicle(CreateObject(18652,0,0,0,0,0,0), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    }
    }
    }
    printf("returning: %d", carid);
    return carid;
    }
    printf("returning: error -1");
    return -1;
    }

    Ok, das ist doch schonmal gut.
    Er fliegt hier aus dem Code:
    Carlist[playerid][CarKey[playerid]][Carid] = CreateTunedCar(playerid, CarKey[playerid]);


    Poste bitte die CreateTunedCar Funktion.
    Wenn du kannst, debugge diese auch gleich (auch so prints zwischen jede Zeile) und poste den Log dazu.

    Schreibe es mal so:
    if(motor[vehicleid] == false)
    {
    motor[vehicleid] = true;
    SetTimerEx("MotorStarten",7000,0,"i",playerid);
    SetPlayerChatBubble(playerid, string, GRUEN, 30.0, 2000);
    }
    else
    {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    motor[vehicleid] = false;
    }


    Motor muss so deklariert sein:
    new bool:motor[MAX_VEHICLES];

    Die Funktion ist nicht richtig. So ist es richtig:
    stock IsVehicleInUse(vehicleid)
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerVehicleID(i) == vehicleid)
    {
    return true;
    }
    }
    return false;
    }



    if(strcmp(cmdtext,"/ramfa",true)==0)
    {
    if(GetPlayerLeader(playerid))
    {
    if(gettime() < LastRespawned[GetPlayerFaction(playerid)-1]) return SendClientMessage(playerid,FACTION_COL_GREY,"Du kannst deine Fahrzeuge nur alle '5' Minuten respawnen.");
    LastRespawned[GetPlayerFaction(playerid)-1] = gettime()+(60*5);
    for(new fc;fc<sizeof(FactionCars);fc++)
    {
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611) //Wenn das Fahrzeug existiert
    {
    if(FactionCars[fc][fFrakid] == GetPlayerFaction(playerid)) //Wenn es der Fraktion angehört, in der der Spieler ist
    {
    if(!IsVehicleInUse(FactionCars[fc][fCarid])) //Wenn niemand drin ist
    {
    DestroyAndCreateFactionCar(fc); //Oder FactionCars[fc][fCarid] ?
    }
    }
    }
    }
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast deine Fraktionsfahrzeuge erfolgreich respawnt.");
    }
    else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
    return 1;
    }

    Schreibe das so:
    stock FreeFrakCheck()
    {
    for(new i;i<MAX_FRACTION_CARS;i++)
    {
    if(FractionCars[i][fVehid] >= 400 && FractionCars[i][fVehid] <= 611) continue;
    return i;
    }
    return -1;
    }


    Warum?
    Weil mysql_function_query ein callback aufrufen muss, um auf das Result zugreifen zu können. Deshalb hast du immer 0 zurück bekommen, da kein Datensatz vorhanden war.


    Beim erstellen des Fahrzeugs solltest du dann noch abfragen:
    if(fc == -1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Alle Plätze belegt.");

    Hier fehlt bei b_cokasse der Wert.
    format(query,350,"UPDATE biz SET b_besitzer='%s',b_inteilhaber='%s',b_kasse='%i',b_cokasse,b_preis='%i',b_level='%i' WHERE id='%i'",
    Zu
    format(query,350,"UPDATE biz SET b_besitzer='%s',b_inteilhaber='%s',b_kasse='%i',b_cokasse='%i',b_preis='%i',b_level='%i' WHERE id='%i'",

    Wie sieht denn dein Code jetzt aus? Poste bitte den aktuellen Stand, damit wir nicht wieder den Fehler aus Versehen einbauen, oder eine Änderung überschreiben.


    Zwecks des Logins:
    Da musst du dort wo der DELETE Teil ist auch noch den Login Teil hinschreiben, damit der da auch aufgerufen wird.


    Zwecks des Dialogs:
    Was sagt der Log? Wird da richtig ausgelesen?

    Doch. Das steht ja jetzt hier, im else Teil von "if(rows)": OnQueryFinish
    Deshalb solltest du das doch dort einfügen.


    Es wird erst geprüft ob der Spieler gebannt ist (if rows). Wenn nein (else), dann darf er sich einloggen bzw. registrieren.

    Du kannst es so schreiben:
    COMMAND:weiter(playerid,params[])
    {
    SetPVarInt(playerid, "weiterStatus",GetPVarInt(playerid, "weiterStatus")+1);
    if(GetPVarInt(playerid, "weiterStatus") > 4 || GetPVarInt(playerid, "weiterStatus") < 1)
    {
    SetPVarInt(playerid, "weiterStatus", 1);
    }
    if(PlayerInfo[playerid][pInvited] == 1)
    {
    if(isPlayerInFrakt(playerid,1))
    {
    switch(GetPVarInt(playerid, "weiterStatus"))
    {
    case 1: SetPlayerSkin(playerid,265);
    case 2: SetPlayerSkin(playerid,266);
    case 3: SetPlayerSkin(playerid,267);
    case 4: SetPlayerSkin(playerid,284);
    }
    }
    if(isPlayerInFrakt(playerid,2))
    {
    switch(GetPVarInt(playerid, "weiterStatus"))
    {
    case 1: SetPlayerSkin(playerid,280);
    case 2: SetPlayerSkin(playerid,281);
    case 3: SetPlayerSkin(playerid,282);
    case 4: SetPlayerSkin(playerid,284);
    }
    }
    if(isPlayerInFrakt(playerid,3))
    {
    switch(GetPVarInt(playerid, "weiterStatus"))
    {
    case 1: SetPlayerSkin(playerid,287);
    case 2: SetPlayerSkin(playerid,179);
    case 3: SetPlayerSkin(playerid,121);
    case 4: SetPlayerSkin(playerid,284);
    }
    }
    }
    return 1;
    }

    Kannst du bitte nicht immer meinen ganzen Post samt allen Codes zitieren? Das macht den Thread ziemlich unübersichtlich.


    Was heißt der AH_Typ wird nicht richtig eingetragen? Was sollte drin stehen, und was steht drin?
    Was sagt der MySQL Log?