/myveh Funktioniert mit Disallowed Abfrage 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.
    Ich habe in meinem Script einen /myveh Befehl für Admins welchre auch einwandfrei funktioniert. Da mich aber immer der Serverowner mit dem Hydra nervt, habe ich eine Disallowed Abfrage gemacht:

    Spoiler anzeigen
    ocmd:myveh(playerid,params[])
    {
    new ModelID, color[2],Float:VehPos[4], vehicleid;
    if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SCM(playerid, "Du befindest dich bereits in einem Fahrzeug");
    if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SCM(playerid, "/myveh [vehicleid] [color1] [color2]");
    if(ModelID < 400 || ModelID > 611) return SCM(playerid, "Die Fahrzeug Id muss von 400 bis 611 sein.");
    if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 126) return SCM(playerid, "Die Farbid muss zwischen 0 und 126 liegen.");
    else if(SpielerInfo[playerid][pAdminlevel] > 0)
    {
    if(ModelID == 425 || ModelID == 520 || ModelID == 432 || ModelID == 447 || ModelID == 464 || ModelID == 476)
    {
    new disallowedids[128];
    format(disallowedids, sizeof(disallowedids), "Das Fahrzeug %s wurde gesperrt!", CarName[GetVehicleModel(ModelID)-400]);
    SCM(playerid, disallowedids);
    }
    else
    {
    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);
    vehcreated[playerid] = 1;
    SendClientMessage(playerid,0xB0AFB0FF, "Du kannst das Fahrzeug mit /veh entfernen.");

    Spoiler anzeigen
    //In die Variable currentveh die Fahrzeug ID schreiben
    currentveh[playerid] = GetPlayerVehicleID(playerid);
    }
    }
    else return SCM(playerid, "Du bist kein Administrator.");
    return 1;
    }


    Ingame kommt dann immer: Diesen Befehl gibt es nicht. Benutze /help um deine Befehle zu sehen. So wie ich es selber auch einmal in das Script eingebaut habe.
    Ich hab es auch schonmal so versucht:

    Spoiler anzeigen
    ocmd:myveh(playerid,params[])
    {
    new ModelID, color[2],Float:VehPos[4], vehicleid;
    if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SCM(playerid, "Du befindest dich bereits in einem Fahrzeug");
    if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SCM(playerid, "/myveh [vehicleid] [color1] [color2]");
    if(ModelID < 400 || ModelID > 611) return SCM(playerid, "Die Fahrzeug Id muss von 400 bis 611 sein.");
    new disallowedids[128];
    format(disallowedids, sizeof(disallowedids), "Das Fahrzeug %s wurde gesperrt!", CarName[GetVehicleModel(ModelID)-400]);
    if(ModelID == 425 || ModelID == 520 || ModelID == 432 || ModelID == 447 || ModelID == 464 || ModelID == 476) return SCM(playerid, string);
    if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 126) return SCM(playerid, "Die Farbid muss zwischen 0 und 126 liegen.");
    else if(SpielerInfo[playerid][pAdminlevel] > 0)
    {
    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);
    vehcreated[playerid] = 1;
    SendClientMessage(playerid,0xB0AFB0FF, "Du kannst das Fahrzeug mit /veh entfernen.");

    Spoiler anzeigen
    //In die Variable currentveh die Fahrzeug ID schreiben
    currentveh[playerid] = GetPlayerVehicleID(playerid);
    }
    else return SCM(playerid, "Du bist kein Administrator.");
    return 1;
    }

    Dies Funktioniert. Sobald ich aber eine Verbotene ID angebe, kommt Diesen Befehl gibt es nicht. Benutze /help um deine Befehle zu sehen. so wie ich es gescriptet habe und nicht Das Fahrzeug FAHRZEUGNAME wurde gesperrt!.


    Lg Sonderzeichen




    Ps. Ist hier unsauber eingerückt.

  • Das meinte ich wie auch immer ich auf String komme, im Code hab ich natürlich disallowedids.
    Aktuell habe ich den Code im ersten Spoiler. Davor hatte ich den im 2ten Spoiler. Keines von beiden funktioniert. Bei dem im ersten Spoiler funzt der Befehl garnicht mehr.
    Bei dem im 2ten Spoiler kommt Unbekannter Befehl bei einer verbotenen ID.
    Bei keinen von beiden wird bei einer verbotenen ID etwas gespawnt.



    Lg Sonderzeichen




    #Push
    Weiß keiner weiter?


    #Push
    Weiß immernoch keiner weiter?

    2 Mal editiert, zuletzt von doge_ ()