Beiträge von Frank Bullitt

    Versuchs mal so:


    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    if(!strfind(Name,"_",false) && !strfind(Name,".",false)) //|| durch && ersetzt, da lag der Fehler ;)
    {
    SendClientMessage(playerid,0xFF0000FF,"FEHLER: Bitte wähle einen Reallife Namen (Max.Musterman/Max_Musterman).");
    return Kick(playerid);
    }

    Hallo,


    wie bekomme ich den neuen Laserpointerstrahl an z.B. eine Desert Eagle?
    Also wie ich den Laser an die Waffe bekomme, weiß ich, glaube mit:


    Laser = SetPlayerAttachedObject(playerid, 1, 18643, 6, -0.211905, 0.061570, 0.038943, 254.592483, 7.349079, 355.512359);
    Aber wie frage ich ab, oder der jenige z.B. eine Desert Eagle in der Hand hat und wenn er sie wieder weglegt, dass der Laser wieder weg geht?


    MfG

    Hm, liegt wahrscheinlich daran, dass du das Object mit einem Streamer erstellst.
    Versuchs mal so:
    new undercoverlicht;
    undercoverlicht = CreateObject(18646, -2047.706543, -99.120132, 34.108696, 269.7591, 358.2811, 179.5181);
    if(strcmp(cmd, "/polizeilicht", true) == 0) { AttachObjectToVehicle(undercoverlicht, GetPlayerVehicleID(playerid), 1, 1, 1.0, 1.0, 1.0, 1.0); }

    Du hast bei if(GetPlayerMoney(playerid) >= cost) das Zeichen falsch gesetzt.
    Anstatt >, muss das < rein, du hast abgefragt, ob der Spieler mehr Geld hat, als der Eintrittspreis und wenn ja, kommt diese Meldung und sonst passiert nix.
    So müsste es funktionieren:


    if(strcmp(cmd, "/lotto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLottoNr] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du hast bereits ein Lotterielos !");
    return 1;
    }
    new cost = SBizzInfo[7][sbEntranceCost];
    if(GetPlayerMoney(playerid) <= cost)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du brauchst $%d um ein Lotterielos kaufen zu können !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE,"Benutze: /lotto [nummer]");
    return 1;
    }
    new lottonr = strval(tmp);
    if(lottonr < 1 || lottonr > 64) { SendClientMessage(playerid, COLOR_GREY, " Deine Lotterienummer darf nicht unter 1 oder über 64 liegen!"); return 1; }
    format(string, sizeof(string), "* Du hast dir ein Lotterielos mit der Nummer: %d gekauft, viel Glück.", lottonr);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, -cost);
    SBizzInfo[7][sbTill] += cost;
    Jackpot += 40;
    PlayerInfo[playerid][pLottoNr] = lottonr;
    }
    return 1;
    }

    Also, im Godfatherscript wird normalerweise das hier abgefragt beim Tanksystem:


    if(IsAPlane(vehicle) || IsABoat(vehicle)) { Gas[vehicle]++; }
    Nach dieser Textstelle suchst Du in deinem Script und machst daraus:


    if(IsAPlane(vehicle) || IsABoat(vehicle) || NoTank(vehicle)) { Gas[vehicle]++; }
    Dann guckst du ganz oben im Script nach


    forward IsABoat(carid);
    Und setzt dadrunter:


    forward NoTank(carid);
    Zu guter Letzt suchst du nach


    public IsABoat(carid)
    Und machst unter diese public:


    public NoTank(carid)
    {
    new model = GetVehicleModel(carid);
    if(model != 450)
    {
    return 1;
    }
    return 0;
    }


    Habs nicht getestet, müsste aber so funktionieren ;)

    Man fragt mit


    IsPlayerAdmin(playerid)
    ab, ob jemand RCON-Admin ist.
    Also in deinem Fall:


    if(strcmp(cmd, "/makeadmin", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "[CMDINFO]: /makeadmin [playerid] [Level]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    new level = strval(tmp);
    if(level < 0 || level > 4) { SendClientMessage(playerid, COLOR_RED, "[ERROR:] 0-10 = Valid Levels."); return 1; }
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    format(string, sizeof(string), "%s has made %s a server admin", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
    Adminmsg(string);
    format(string, sizeof(string), "%s has made you a server admin level %d, congratulations. Your commands are /admcmds (or /ah, or /acmds)", GetPlayerNameEx(playerid), level, GetPlayerNameEx(giveplayerid));
    SendClientMessage(giveplayerid, COLOR_RED, string);
    PlayerInfo[giveplayerid][pAdmin] = level;
    return 1;
    }
    }
    }
    }