/freeze und /aveh funktionieren nicht.

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
  • Hallo meine Freunde,


    ich habe vorhin an meinem Admin Vehicle System gearbeitet, da es mir zu "Faul" Aussah.


    Nun habe ich es von dem hier :
    if (strcmp("/aveh", cmdtext, true, 10) == 0)
    {
    if(isPlayerAnAdmin(playerid,1337))
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    if(GetPVarInt(playerid,"AdminFahrzeug")==0)
    {
    ShowPlayerDialog(playerid, DIALOG_ADMINCAR, DIALOG_STYLE_LIST, "Wähle ein Fahrzeug", "Turismo \n Sultan \n Comet \n Maverick","Auswählen","Abbruch");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast bereits ein Fahrzeug erstellt. Bitte lösche es mit /delveh");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist bereits in einem Fahrzeug! Steige vorher aus!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    }
    return true;
    }



    Auf dieses hier umgeschrieben :
    ocmd:aveh(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin");
    new ToMe[128], ToAdmins[128], vehid, Float:x, Float:y, Float:z, Float:angle;
    if(sscanf(params,"is"))return SendClientMessage(playerid,BLAU,"Tipp : /aveh [VEHICLE ID]");
    if(vehid < 400 || vehid > 611)return SendClientMessage(playerid,ROT,"Falsche Vehicle ID!");
    format(ToAdmins,sizeof(ToAdmins),"Admin Warning: Admin %s hat sich ein Fahrzeug gespawnt.", SpielerName(playerid));
    SendClientMessage(playerid, ROT, ToMe);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerAnAdmin(i,GetPVarInt(playerid,"Adminlevel")))
    {
    SendClientMessage(playerid,gelb,ToAdmins);
    }


    }
    }
    GetPlayerFacingAngle(playerid,angle);
    GetPlayerPos(playerid,x,y,z);
    AdminCar=CreateVehicle(vehid,x,y,z,angle,0,0,-1);
    SetVehicleNumberPlate(AdminCar,"AdminCar");
    vehicle_info[AdminCar] = 1;
    SetTimer("cargod", 100, true); // (0,1 Sekunde)
    PutPlayerInVehicle(playerid,AdminCar,0);
    SetPVarInt(playerid,"AdminFahrzeug",1);
    return 1;
    }


    Nun Ja.
    Es gibt mir Ingame nur noch "Tipp: Benutze /aveh [VEHICLE ID]" und mehr nicht.



    Und zum Freeze Befehl der freezed mich auch nicht richtig.
    Er Zeigt mir Zwar an "Admin Warning: Admin Blablabla hat den Spieler gefreezed"
    er gibt mir danach noch einen : "Server Unknown Command" aus und gefreezed bin ich nicht wirklich.


    Code:
    ocmd:freeze(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin");
    new pID, ToAll[128], ToAdmins[128];
    if(sscanf(params,"us",pID))return SendClientMessage(playerid,BLAU,"Tipp : /freeze [Spielername/ID]");
    TogglePlayerControllable(pID,0);
    SetPVarInt(pID,"Freezed",1);
    format(ToAdmins,sizeof(ToAdmins),"Admin Warning: Admin %s hat den Spieler %s gefreezed.", SpielerName(playerid), SpielerName(pID));
    SendClientMessage(pID, ROT, ToAll);
    GetPVarInt(playerid,"Adminlevel");
    // format(ToAll,sizeof(ToAll),"Du wurdest von dem Admin %s gefreezed.", SpielerName(playerid));
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerAnAdmin(i,GetPVarInt(playerid,"Adminlevel")))
    {
    SendClientMessage(playerid,gelb,ToAdmins);
    }


    }
    }
    return 1;
    }

  • Fehler 1:
    if(sscanf(params,"is"))return SendClientMessage(playerid,BLAU,"Tipp : /aveh [VEHICLE ID]");


    zu:
    if(sscanf(params,"i"))return SendClientMessage(playerid,BLAU,"Tipp : /aveh [VEHICLE ID]");


    Und Fehler 2:
    if(sscanf(params,"us",pID))return SendClientMessage(playerid,BLAU,"Tipp : /freeze [Spielername/ID]");
    zu:
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"Tipp : /freeze [Spielername/ID]");

  • Hier muss ich nun noch einmal melden wegen dem /aveh Befehl.


    Ich hatte versehentlich mein Script gelöscht ._. und somit nur noch das Backup wo ich den Befehl noch nicht drinnen hatte zur verfügung.


    ocmd:aveh(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin");
    new ToAdmins[128], vehid, Float:x, Float:y, Float:z, Float:angle, aveh;
    if(sscanf(params,"i"))return SendClientMessage(playerid,BLAU,"Tipp : /aveh [VEHICLE ID]");
    if(vehid < 400 || vehid > 611)return SendClientMessage(playerid,ROT,"Falsche Vehicle ID!");
    format(ToAdmins,sizeof(ToAdmins),"Admin Warning: Admin %s hat sich ein Fahrzeug gespawnt.", SpielerName(playerid));
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerAnAdmin(i,GetPVarInt(playerid,"Adminlevel")))
    {
    SendClientMessage(playerid,gelb,ToAdmins);
    }


    }
    }
    GetPlayerFacingAngle(playerid,angle);
    GetPlayerPos(playerid,x,y,z);
    AdminCar=CreateVehicle(vehid,x,y,z,angle,0,0,-1);
    SetVehicleNumberPlate(AdminCar,"AdminCar");
    vehicle_info[AdminCar] = 1;
    SetTimer("cargod", 100, true); // (0,1 Sekunde)
    PutPlayerInVehicle(playerid,AdminCar,0);
    aveh = GetPlayerVehicleID(playerid);
    SetPVarInt(playerid,"AdminFahrzeug",aveh);
    SpielerSpeichern(playerid);
    return 1;
    }


    Wenn ich jetzt /aveh mache, ist wieder das Selbe Problem wie zuvor. TIPP: /aveh [VEHICLE ID] wird mir nur angezeigt.


    Was jetzt neu ist, ist dass
    aveh = GetPlayerVehicleID(playerid);
    SetPVarInt(playerid,"AdminFahrzeug",aveh);


    da ich sonst immer im Fahrzeug sein müsste, damit dies gelöscht werden kann und wenn ich mal sterbe ist das Fahrzeug an der Stelle wo es explodiert ist bzw. zerstört worden.