Spawncar Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    ich habe ein Problem mit /spawncar. Wenn ich das eingebe, erscheint ja ein Flugzeug, und beim 2. mal eingeben, verschwindet es wieder. Nun überschneidet sich das ganze aber, wenn 2 Admins on sind. Der eine gibt /spawncar ein, das Fahrzeug erscheint. Der zweite gibt /spawncar ein, das Fahrzeug von Admin 1 verschwindet. Also kann man keine Fahrzeuge gleichzeitig spawnen.
    Hier der Code:
    ocmd:spawncar(playerid,params[])
    {
    new carID, Colour1, Colour2;
    new vID;
    new string[128];
    new Float:x,Float:y,Float:z;
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,Color_DarkRed,"Du bist kein Admin!");
    if(sscanf(params,"iii",carID,Colour1,Colour2))return SendClientMessage(playerid,Color_DarkRed,"/spawncar [CarID] [Colour1] [Colour2]");
    if(carID<400||carID>611)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if(Colour1>127)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if(Colour2>127)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if (GetPVarInt(playerid, "Lastvehicle"))
    {
    DestroyVehicle(GetPVarInt(playerid, "Lastvehicle"));
    }
    GetPlayerPos(playerid,x,y,z);
    vID=CreateVehicle(carID,x-3.0,y,z,0.0,Colour1,Colour2,3600);
    SetPVarInt(playerid,"LastVehicle",vID);
    Tank[vID] = 100;
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    Motor[vID] = false;
    Licht[vID] = false;
    format(string,sizeof(string),"CarSpawn: Du hast ein Fahrzeug gespawnt!");
    SendClientMessage(playerid,Color_Orange,string);
    SavePlayer(playerid);
    return 1;
    }



    Hoffe, ihr könnt mir helfen.


    Mfg Maksimo007

  • du musst vID auf den Spieler beziehen, glaube ich zumindest also machst du ganz oben ein: new vID[MAX_PLAYERS]; und bei OnPlayerConnect setzt du es auf null und wenn das fahrzeug gelöscht wird wieder auf null das heisst du machst hier:


    if (GetPVarInt(playerid, "Lastvehicle"))
    {
    DestroyVehicle(GetPVarInt(playerid, "Lastvehicle"));
    vID[playerid] = 0;
    }


    und bei OnPlayerConnect:
    vID[playerid] = 0;
    und machst halt hinter jedem vID eine eckige Klammer mit der playerid drin: [playerid]


    achso und wieso machst du VEHICLE_PARAMS_OFF mach ne null hin und das nicht zwei mal:
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vID,0,0,alarm,doors,bonnet,boot,objective);
    durch die beiden Get/SetVehicleParamsEx ersetzen