Beiträge von MrPCHilfeDeutsch

    Hilfe, irgendwie spinnt das rum?! Wenn ich in der nähe vom LS flughafen bin steht da SF Airport, wenn ich in der nähe des sf flughafen bin steht da ls airport und wenn ich in der nähe des lv flughafen bin steht da wieder ls airport.. Kann mir jemand hälfen?


    new Float:ls = GetPlayerDistanceFromPoint(i,1757.5824,-2539.8655,13.5469);
    new Float:sf = GetPlayerDistanceFromPoint(i,-1123.5011,365.7859,14.2500);
    new Float:lv1 = GetPlayerDistanceFromPoint(i,1674.2509,1447.7494,10.7831);
    new Float:lv2 = GetPlayerDistanceFromPoint(i,396.9097,2501.4666,16.4844);

    if(ls >= sf || ls >= lv1 || ls >= lv2)
    {
    format(Tachostring5, sizeof(Tachostring5), "LS Airport");
    }else if(sf >= ls || sf >= lv1 || sf >= lv2)
    {
    format(Tachostring5, sizeof(Tachostring5), "SF Airport");
    }else if(lv1 >= ls || lv1 >= sf || lv1 >= lv2)
    {
    format(Tachostring5, sizeof(Tachostring5), "LV Airport");
    }else if(lv2 >= ls || lv2 >= sf || lv2 >= lv1)
    {
    format(Tachostring5, sizeof(Tachostring5), "AA Airport");
    }
    TextDrawSetString(HydraAirport, Tachostring5);

    Hi, ich wollte fragen ob es irgendwie geht, das man ein limit für die Hydra Raketen macht z.B. eine Hydra hat 10 Raketen. Wen alle Raketen abgeschossen wurden und er nochmal versucht zu schießen kommt im Chat die Meldung: "Die Hydra hat keine Raketen mehr!". Es soll dan auch keine Rakete geschossen werden.

    habe es jetzt so:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    PlayerInfo[playerid][luftschlag] = 0;
    PlayerInfo[killerid][luftschlag] += 1;
    if(PlayerInfo[killerid][luftschlag] == 3)
    {
    SCM(killerid,GRÜN,"Luftschlag aktiviert! Markiere eine Stelle auf deiner Karte!");
    return 1;
    }
    return 1;
    }



    public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
    {
    if(PlayerInfo[playerid][luftschlag] >= 3)
    {
    luftschlagbombe[playerid] = CreateObject(3786,fX,fY,250,0.0000,-90.0000,0.0000);
    MapAndreas_FindAverageZ(fX,fY,fZ);
    MoveObject(luftschlagbombe[playerid],fX,fY,fZ,50.0,0.0000,-90.0000,0.0000);
    PlayerInfo[playerid][luftschlag] = 0;
    }
    return 1;
    }



    public OnObjectMoved(objectid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsObjectMoving(luftschlagbombe))
    {
    GetObjectPos(luftschlagbombe,x,y,z);
    DestroyObject(luftschlagbombe);
    CreateExplosion(x,y,z,7,100);
    CreateExplosion(x+5,y,z,7,100);
    CreateExplosion(x-5,y,z,7,100);
    CreateExplosion(x,y+5,z,7,100);
    CreateExplosion(x,y-5,z,7,100);
    CreateExplosion(x+5,y+5,z,7,100);
    CreateExplosion(x-5,y-5,z,7,100);
    CreateExplosion(x+5,y-5,z,7,100);
    CreateExplosion(x-5,y+5,z,7,100);
    return 1;
    }
    }
    return 1;
    }

    Hi, ich wollte machen wenn ein Spieler 3 Spieler killt ohne zu sterben, bekommt er eine sonderfertigkeit (luftschlag). Problem ist, wenn ein Spieler 3 mal gekillt wird ohne jemand andreres zu töten bekommt er den luftschlag.


    pwn code:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    PlayerInfo[playerid][luftschlag] = 0;
    PlayerInfo[killerid][luftschlag] = PlayerInfo[killerid][luftschlag]+1;
    if(PlayerInfo[killerid][luftschlag] == 3)
    {
    SCM(killerid,GRÜN,"Luftschlag aktiviert! Markiere eine Stelle auf deiner Karte!");
    return 1;
    }
    return 1;
    }

    Hi, ich wollte fragen wie ich es machen kann, da ich mit /shootrocket eine Rakete schießen kann die da hin fliegt wo ich hin kucke und explodiert wenn sie auf den Boden auf kommt. Ich kann schon mit /shootrocket eine Rakete da hin schießen wo ich hin kucke, aber ich weiß nicht wie ich mit mapandreas scripte, das die Rakete dort anhält wo der boden ist. Bei OnObjectMoved habe ich schon, das das Object gelöscht wird und dort eine Explosion erscheint, wenn es anhält.


    Command:


    ocmd:shootrocket(playerid,params[])
    {
    GetPlayerCameraPos(playerid,x,y,z);
    bombebb[playerid] = CreateObject(3790,x,y,z,0.0000,0.0000,0.0000);
    new
    Float:fPX, Float:fPY, Float:fPZ,
    Float:fVX, Float:fVY, Float:fVZ,
    Float:object_x, Float:object_y, Float:object_z;


    // Change me to change the scale you want. A larger scale increases the distance from the camera.
    // A negative scale will inverse the vectors and make them face in the opposite direction.
    const
    Float:fScale = 5.0;
    GetPlayerCameraPos(playerid, fPX, fPY, fPZ);
    GetPlayerCameraFrontVector(playerid, fVX, fVY, fVZ);
    object_x = fPX + floatmul(fVX, fScale) *10000;
    object_y = fPY + floatmul(fVY, fScale) *10000;
    object_z = fPZ + floatmul(fVZ, fScale) *10000;
    MoveObject(bombebb[playerid], object_x, object_y, object_z, 50.0);
    return 1;
    }

    So hier ich hab mal ein Command für dich /Nicht von mir


    Pastebin
    Selber einrücken :)

    danke! ich habe den befehl ungeschrieben:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[128];
    if(PlayerInfo[playerid][Adminlevel] < 3) // Ersetzt du mir deinem Admin Level das diesen Befehl nutzen Darf.
    {
    SendClientMessage(playerid, ROT, "Befehl konnte nicht gefunden werden!");
    return 1;
    }
    new bool:unwanted[MAX_VEHICLES];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 0; car < MAX_VEHICLES; car++)
    {
    if(!unwanted[car])
    {
    SetVehicleToRespawn(car);
    Tank[car] = 100;
    Motorschadenparams[car] = false;
    SetVehicleHealth(car,1000);
    }
    }
    for(new gekauftcar = 0; gekauftcar < 52; gekauftcar++)
    {
    if(Autos[playerid][gekauftcar][Abgeschlossen] == 1)
    {
    Autos[playerid][gekauftcar][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][gekauftcar],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][gekauftcar],engine,lights,alarm,1,bonnet,boot,objective);
    return 1;
    }
    if(Autos[playerid][gekauftcar][ParkkralleObj] == 1)
    {
    Autos[playerid][gekauftcar][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][gekauftcar]] = true;
    return 1;
    }
    }
    new sendername[64];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Achtung! Alle Autos wurden von %s respawnt.", sendername);
    SCMTA(ROT,string);
    new log[128];
    format(log,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(log);
    return 1;
    }
    }
    SendClientMessage(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    return 1;
    }

    Könnt ihr mir bei diesem Thema helfen? Danke
    mapandreas und moveobject?

    MrPCHilfeDeutsch aber solang kannst du den befehl nutzen bis jemand die Lösung weiß


    LG

    das problem ist ja das das nich geht.. selbst wenn ich den text "Befehl konnte nicht gefunden werden!" ändere in zB. "Test" kommt trodstem "Befehl konnte nicht gefunden werden!" obwoll ich das geändert. also dieser ganze befehl buggt rum :( ich brauch eine lösung dafür.. früher ging das noch

    MrPCHilfeDeutsch log dich mal mit RCON ein ^^

    wenn da IsPlayerAdmin(playerid) stehen würde müsste man sich mit rcon einloggen, aber ich habe da IsPlayerAnAdmin(playerid,4)) stehen..


    stock code:



    stock IsPlayerAnAdmin(playerid,level)
    {
    if(PlayerInfo[playerid][Adminlevel]>=level)return 1;
    return 0;
    }


    so wie es bei mir ist ist es richtig.. if(PlayerInfo[playerid][Adminlevel]==level) = "wenn der spieler das level hat oder höher ist dann.."

    geht immer noch nich ;( ;( ;(
    ne frage: kann es sein das [pwn] verbuggt ist in diesem forum? bei mir kommt an dauernt der code in eine zeile..

    Nope, geht nich.. Wenn ich SCM(playerid, ROT, "Befehl konnte nicht gefunden werden!"); in SCM(playerid, ROT, "Error"); ändere, kommt immer noch Befehl konnte nicht gefunden werden!.



    Hier OnPlayerCommandText:




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    SendClientMessage(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    return 1;
    }

    klappt immer noch nicht ;(