Beiträge von Piranha

    Wer die Map haben will kann mir eine PN schicken, da ich meine Maps nicht einfach so zum Download anbiete wegen Geistliches recht und so.Das alleinige Copyright von der Map liegt bei mir, ihr dürft die Map erweiter etc. aber nicht irgentwo anders zum Download anbieten.


    Im Showroom muss aber ein Download vorliegen.

    new Text:Textdraw0;
    new string[64];
    TextDrawHideForPlayer(i,Textdraw0);
    format(string, sizeof string,"$ %d",Geld[i]);
    Textdraw0 = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0,1);
    TextDrawBoxColor(Textdraw0,0x00ff00ff);
    TextDrawTextSize(Textdraw0,644.000000,26.000000);
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,2);
    TextDrawLetterSize(Textdraw0,0.599999,1.800000);
    TextDrawColor(Textdraw0,0xffffffff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);
    TextDrawShowForPlayer(i,Textdraw0);

    So sollte es gehen. ;)
    Und um den Textdraw alle 3 Sekunden upzudaten einfach den Code in einen Timer reinpacken, der im Intervall von 3 Sekunden läuft.


    MfG, Piranha.

    Zitat

    *Explosionen (irgendwohin porten, explosion dort, prüfen, heilen, zurücksetzen) - FUNKTIONSFÄHIG, s0beit ist immun gegen alle arten von explosionen

    Wie meinst du das mit Immun gegen alle arten von Explosionen?[/quote]
    Egal welcher Type und welcher Radius der Explosion, der Spieler nimmt keinen Schaden, womit man den Cheater ausfindig machen kann.
    @[iP]Zabus:
    Kevlar-Hack = Schutzweste / Rüstung.

    Oben im Script noch folgendes einfügen:
    new GPN[MAX_PLAYERS];
    Und den Befehl (die Stock's etc. nicht !) in folgendes ändern:
    if(strcmp(cmd, "/nappel", true) == 0)
    {
    GetPlayerName(playerid,GPN[playerid],sizeof(GPN));
    if(IsPlayerConnected(playerid) && IsACop(playerid) || IsPlayerAdmin(playerid))
    {


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {


    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /crb [Roadblock ID]");
    SendClientMessage(playerid, COLOR_YELLOW, "Available Roadblocks:");
    SendClientMessage(playerid, COLOR_GRAD1, "| 1: Small Roadblock");
    SendClientMessage(playerid, COLOR_GRAD1, "| 2: Medium Roadblock");
    SendClientMessage(playerid, COLOR_GRAD1, "| 3: Big Roadblock");
    SendClientMessage(playerid, COLOR_GRAD1, "| 3: Cone");
    return 1;
    }


    new rb = strval(tmp);
    if (rb == 1)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(1459,plocx,plocy,plocz,ploca);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Roadblock(1) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Roadblock ~b~Placed!",3000,1);
    return 1;
    }


    else if (rb == 2)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(978,plocx,plocy,plocz+0.6,ploca);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Roadblock(2) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Roadblock ~b~Placed!",3000,1);
    return 1;
    }


    else if (rb == 3)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(981,plocx,plocy,plocz+0.9,ploca+180);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Roadblock(3) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Roadblock ~g~Placed!",3000,1);
    SetPlayerPos(playerid, plocx, plocy+1.3, plocz);
    return 1;
    }


    else if (rb == 4)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(1238,plocx,plocy,plocz+0.2,ploca);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Traffic Cone(1) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Cone ~g~Placed!",3000,1);
    return 1;
    }


    else if (rb == 4)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(1425,plocx,plocy,plocz+0.6,ploca);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Detour Sign(4) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Sign ~g~Placed!",3000,1);
    return 1;
    }


    else if (rb == 5)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(3265,plocx,plocy,plocz-0.5,ploca);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Will Be Sign(5) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Sign ~g~Placed!",3000,1);
    return 1;
    }


    else if (rb == 6)
    {


    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    GetPlayerFacingAngle(playerid,ploca);
    CreateRoadblock(3091,plocx,plocy,plocz+0.5,ploca+180);
    format(string,sizeof(string),"[HQ]: Officer %s has placed a Line Closed Sign(6) at his position, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Sign ~g~Placed!",3000,1);
    return 1;
    }


    }
    return 1;
    }
    else if (strcmp(cmd,"/rrb",true) == 0)
    {


    if(IsPlayerConnected(playerid) && IsACop(playerid) || IsPlayerAdmin(playerid))
    {


    DeleteClosestRoadblock(playerid);
    format(string,sizeof(string),"[HQ]: Officer %s has removed a Roadblock, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~w~Roadblock ~r~Removed!",3000,1);
    }


    return 1;
    }


    else if (strcmp(cmd,"/rrball",true) == 0)
    {


    if(IsPlayerConnected(playerid) && IsACop(playerid) || IsPlayerAdmin(playerid))
    {


    if(PlayerInfo[playerid][pRank] >= 6 || IsPlayerAdmin(playerid)) // This being the default Chief rank in LA-RP change if neccesary.
    {


    DeleteAllRoadblocks(playerid);
    format(string,sizeof(string),"[HQ]: Officer %s has removed all Roadblocks in the area, over.",GPN[playerid]);
    SendRadioMessage(1,COLOR_YELLOW,string);
    GameTextForPlayer(playerid,"~b~All ~w~Roadblocks ~r~Removed!",3000,1);
    }


    }


    return 1;
    }

    Ansonsten alles machen, wie es dort steht.


    So kommen bei mir keine Error's / Warning's mehr.
    Habs getestet und klappt ohne Probleme. ;)


    MfG, Piranha.


    //Edit: Was hinzugefügt.

    Es ist glaube ich nicht möglich, nur das Fahrzeug zu freezen.
    Der Name der Funktion verrät es ja schon ein wenig "TogglePlayerControllable".


    Dementsprechend muss der Code so aussehen (jedoch wird der Spieler gefreezt und nicht das Fahrzeug :(

    new ms[MAX_VEHICLES]; // oben im Script einfügen


    public OnPlayerUpdate(playerid)
    {
    new vid = GetPlayerVehicleID(playerid);
    //----Motorschaden----
    {
    new Float:hxx;
    GetVehicleHealth(vid, hxx);
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    if(GetVehicleHealth(vid, hxx) <=300.0 && ms[vid] == 0)
    {
    TogglePlayerControllable(playerid, true);
    ms[vid] = 1;
    SendClientMessage(playerid,ROT,"Du hast einen Motorschaden!");
    }
    }
    return 1;
    }
    Die Variable "ms" muss dann beim reparieren wieder auf 0 gesetzt werden.


    - Ungetestet -


    258
    Create3DTextLabel("Bei Fragen wende dich an einen Supporter!:\n/admins!",0x008080FF,1480.8496,-1742.9053,13.5469,359.8109,40.0,0);
    return 1;


    Ich nehme mal an "359.8109" ist die zRotation. Die Rotation wird verständlicherweiße bei Create3DTextLabel nicht benötigt.
    Also:
    Create3DTextLabel("Bei Fragen wende dich an einen Supporter!:\n/admins!",0x008080FF,1480.8496,-1742.9053,13.5469,40.0,0);
    return 1;

    if(pickupid == Waffenpickup) // Waffenpickup in Waffenpickup[0] umändern.
    Waffenpickup[0] = CreatePickup(24,188.3342,1003.0313,275.5438,-1); // Model vom Pickup fehlt.

    Mit dem Zitat ist der Syntax von Create3DTextLabel gemeint.
    Das:
    //=========================Regeln Pickup===================================//
    regeln=CreatePickup(1239,2,1125.6677,-1613.8461,20.4727);
    Create3DTextLabel("Die\nRegeln",COLOR_GRÜN,1125.6677,-1613.8461,20.4727,0,0);
    In das z.B. ändern:
    //=========================Regeln Pickup===================================//
    regeln=CreatePickup(1239,2,1125.6677,-1613.8461,20.4727);
    Create3DTextLabel("Die\nRegeln",COLOR_GRÜN,1125.6677,-1613.8461,20.4727,50.0,0,0);

    ak = CreatePickup(355,24,X,Y,Z,-1);
    Den Pickup-Type 24 gibt es nicht (nach der Liste von der Wiki zu entnehmen).


    if(pickupid = ak)
    Kleiner Fehler. Folgt umändern:
    if(pickupid == ak)


    MfG Piranha.

    Osse:
    Dies muss er in diesem Fall normalerweiße nicht, da, wenn ich es richtig verstanden habe, er einfach nur will, dass dort Waffen-Pickup's stehen, wo man beim aufheben die Waffe bekommt und diese Pickup's das auf Grund des Models automatisch machen.


    @Topic:
    Unter welchem Public sind denn die Pickup's gepackt ?


    //Edit:
    Umformulierung


    new givecashamount = strval(inputtext[0]);


    Wenn du das einfügst in deinen Code, ist der "givecashamount" (so habe ich die Variable mal eben genannt) die Zahl, die im Dialog eingegeben wurde.
    Rest sollte ja nicht mehr schwer sein. ;)

    rpg ?? was das ich kann mir dazu nur rp gamemode vorstellen. und kann jemad mal soagen ob das gut ist mit dem dm server


    RPG = Roleplay-Game, RP = Roleplay.. also fast dasselbe.


    Zum Einsteigen finde ich DM ganz gut, vor allem, da in den Tutorials oft Sachen zu DM-Gamemodes erklärt werden.


    Kann ich z.B jedes Tor zum auf/zumachen nacher verwenden, oder gibt es da bestimmte?


    Generel kannst du dafür jedes Objekt nehmen, da die "Tore" von Servern eigentlich nur bewegende Objekte sind.



    Zitat


    2. Frage es gibt in MTA so viele Objecte. Gibt es irgendwie ne möglich, wenn ich z.B ein Zaun suche, dass ich das ganz schnell finde, ohne immer 20.000 objecte durchsuchen zumüssen?


    Erst einmal kann man die Kategorie auswählen, wo man dann z.B. nur noch Zäune, Tore und Mauern hat, anstatt alle Objekte. Als zweite Möglichkeit gibt es noch die englischen Begriffe für das Objekt in der Suche einzugeben, z.B. Zaun = Fence, also Fence in der Suche eingeben.