/delveh Funktion fehlt

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 Community,
    ich habe ein kleines Problem.


    Ich habe im Script mit ocmd eingebaut dass man durch /veh einen Auto spawnen kann jedoch weiß ich nicht wie es mit /delveh funktioniert.


    Hier das mit dem "/veh":

    ocmd:veh(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFF1400FF,"Du bist kein Supporter!");
    new ModelID, color[2],Float:VehPos[4], vehicleid;
    if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,0xB0AFB0FF,"Du darfst nicht im Fahrzeug sein!");
    if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SendClientMessage(playerid,0xB0AFB0FF, "/veh [VehicleID] [color1] [color2]");
    if(ModelID < 400 || ModelID > 611) return SendClientMessage(playerid,0xB0AFB0FF, "Die Fahrzeug ID muss von 400 bis 611 sein!");
    if(isPlayerAnAdmin(playerid,3) || CallRemoteFunction("PlayerIsAnAdmin","i",playerid))
    {
    GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
    GetPlayerFacingAngle(playerid, VehPos[3]);
    vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
    LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
    PutPlayerInVehicle(playerid, vehicleid, 0);
    }
    return 1;
    }


    Weißt bzw. hat jemand den Befehl für das löschen des gespawnten Autos?


    Danke im Voraus!



    Viele Grüße,
    Cripain

  • Du fragst ab ob der Admin/Spieler in einem Fahrzeug sitzt, wenn er in einem Fahrzeug sitzt lässt du das Fahrzeug löschen.


    Hier ein code aus meinem Script:
    ocmd:dveh(playerid,params[])
    {
    if(pInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt!");
    if(pInfo[playerid][pAdmin] <2)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new string[128];
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist in keinem Fahrzeug!");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    format(string,128,"%s hat ein Fahrzeug gelöscht.",SpielerName(playerid));
    SendAdminMessage(COLOR_BLAU,string);
    return 1;
    }

  • Nun habe ich es so:



    ocmd:veh(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFF1400FF,"Du bist kein Supporter!");
    new ModelID, color[2],Float:VehPos[4], vehicleid;
    if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,0xB0AFB0FF,"Du darfst nicht im Fahrzeug sein!");
    if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SendClientMessage(playerid,0xB0AFB0FF, "/veh [VehicleID] [color1] [color2]");
    if(ModelID < 400 || ModelID > 611) return SendClientMessage(playerid,0xB0AFB0FF, "Die Fahrzeug ID muss von 400 bis 611 sein!");
    if(isPlayerAnAdmin(playerid,3) || CallRemoteFunction("PlayerIsAnAdmin","i",playerid))
    {
    GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
    GetPlayerFacingAngle(playerid, VehPos[3]);
    vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2],VehPos[3],color[0],color[1],-1);
    LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
    PutPlayerInVehicle(playerid, vehicleid, 0);
    }
    return 1;
    }


    ocmd:dveh(playerid,params[])
    {
    if(pInfo[playerid][pAdmin] <1)return SendClientMessage(playerid,0xFF1400FF,"Du bist kein Supporter!");
    new string[128];
    if(!isPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,0xB0AFB0FF,"Du bist in keinem Fahrzeug!");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    format(string,128,"%s hat ein Fahrzeug gelöscht.","i"(playerid));
    SendAdminMessage(0xB0AFB0FF,string);
    return 1;
    }



    Dort kommt folgende Fehlermeldung:

    ..\gamemodes\YVR.pwn(24858) : error 017: undefined symbol "isPlayerInAnyVehicle"
    ..\gamemodes\YVR.pwn(24860) : error 001: expected token: "-string end-", but found "-identifier-"
    ..\gamemodes\YVR.pwn(24860) : warning 215: expression has no effect
    ..\gamemodes\YVR.pwn(24860) : error 001: expected token: ";", but found ")"
    ..\gamemodes\YVR.pwn(24860) : error 029: invalid expression, assumed zero
    ..\gamemodes\YVR.pwn(24860) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    5 Errors.


    * .. ist halt editiert nur so :)

  • Cripain: Kannst es bitte die pwn codes so listen wie im ersten post?


    //EDIT:


    ocmd:dveh(playerid,params[])
    {
    if(pInfo[playerid][pAdmin] <1)return SendClientMessage(playerid,0xFF1400FF,"Du bist kein Supporter!");
    new string[128];
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,0xB0AFB0FF,"Du bist in keinem Fahrzeug!");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    format(string,128,"%s hat ein Fahrzeug gelöscht.",SpielerName(playerid));
    SendAdminMessage(0xB0AFB0FF,string);
    return 1;
    }

  • Das bedeutet das du die Funktion SendAdminMessage nicht hast.


    SendAdminMessage(color,const message[])
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && pInfo[i][pAdmin]>=1)
    {
    SendClientMessage(i,color,message);
    }
    }
    return 1;
    }


    Musst du zu deinen Funktionen machen.