GetXYInFrontOfPlayer geht 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
  • was habe ich nur falsch gemacht ? :S
    also ich wollte machen das wen man /wand macht das man ne wand vor sich her schibt
    es hat auch kurtz zeitig geklaput doch jetz nicht mehr


    der Command
    if (strcmp("/wand", cmdtext, true, 10) == 0)
    {
    if(lulu[playerid] == 0)
    {
    new Float:angleP,Float:xP,Float:yP,Float:zP;
    GetPlayerFacingAngle(playerid,angleP);
    GetPlayerPos(playerid, xP, yP, zP);
    GetXYInFrontOfPlayer(playerid, xP, yP, 10);
    lutscher = CreateObject(3095, xP, yP, zP, 0.0, 90, angleP);
    lulu[playerid]=1;
    SendClientMessage(playerid, 0xDEEE20FF, "* AN");
    }
    else if(lulu[playerid] == 1)
    {
    lulu[playerid]=0;
    DestroyObject(lutscher);
    SendClientMessage(playerid, 0xDEEE20FF, "* AUS");
    }
    return 1;
    }


    Im Timer (SetTimer("TIMER",100,1); )


    if(lulu[playerid] == 1)
    {
    new Float:angleP,Float:xP,Float:yP,Float:zP;
    GetPlayerFacingAngle(playerid,angleP);
    GetPlayerPos(playerid, xP, yP, zP);
    GetXYInFrontOfPlayer(playerid, xP, yP, 10);
    SetObjectPos(lutscher, xP, yP, zP);
    SetObjectRot(lutscher, 90, 0, angleP);
    }


    Stock


    stock GetXYInFrontOfPlayer(playerid, &Float:xP, &Float:yP, Float:distance)
    {
    new Float:aP;
    GetPlayerPos(playerid, xP, yP, aP);
    if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), aP);
    else GetPlayerFacingAngle(playerid, aP);
    xP += (distance * floatsin(-aP, degrees));
    yP += (distance * floatcos(-aP, degrees));
    return 1;
    }



    Was habe ich falsch gemacht das object entsteht zwar wird aber nicht bewegt


    Danke schonmal für die antworten

  • in wie fern geändert ? also ich hab es genau so hier gepotet wie ich es im script habe also am anfang ging es dan hab ich die rotazion geändert


    sprich aus
    lutscher = CreateObject(3095, xP, yP, zP, 0.0, 90, angleP);
    SetObjectRot(lutscher, 0, 90, angleP);
    hab ich
    lutscher = CreateObject(3095, xP, yP, zP, 90, 0.0, angleP);
    SetObjectRot(lutscher, 90, 0, angleP);
    gemacht

  • Hmm. SIeht man das object überhaupt von allen seiten? kann ja sein dass man es nur von einer seite sieht, und du deswegen denkst es erscheint kein object^^


    EDIT: Mach Ma AttachObjectToPlayer ^^ dann brauchst die timer nimmer :)


    MFG, Robdeflop®

  • bin ja nicht doof :D natürlcih siht man es von allen seiten es entsteht ja aber wird nicht bewegt es bleibt an der stelle bis ich es wider aus mache dan ist es weg



    AttachObjectToPlayer kenn ich garnicht und das macht mein streamer glaub nicht mit :D
    und der timer ist ja so oder so da habs nur dazu geschriben ;)




    Tante edit:
    if (strcmp("/wand", cmdtext, true, 10) == 0)
    {
    if(lulu[playerid] == 0)
    {
    new Float:angleP,Float:xP,Float:yP,Float:zP;
    GetPlayerFacingAngle(playerid,angleP);
    GetPlayerPos(playerid, xP, yP, zP);
    GetXYInFrontOfPlayer(playerid, xP, yP, 10);
    lutscher = CreateObject(3095, xP, yP, zP, 90, 0.0, angleP);
    AttachObjectToPlayer(lutscher,playerid,xP, yP, zP,90,0,angleP);
    lulu[playerid]=1;
    SendClientMessage(playerid, 0xDEEE20FF, "* AN");
    }
    else if(lulu[playerid] == 1)
    {
    lulu[playerid]=0;
    DestroyObject(lutscher);
    SendClientMessage(playerid, 0xDEEE20FF, "* AUS");
    }
    return 1;
    }

    habs mal so gemach ich teste es mal eben ^^



    onkel edit: ne geht immer noch net das object entsteht zwar aber bewegt sich einfach nicht


    3 Mal editiert, zuletzt von db-master ()

  • hab jetz mal nen FS gemacht jetz taucht das object kurtz auf und bekommt dan nach nr kurtzen zeit nen winkel 0 und ist dan plötzlich weg


    #include <a_samp>
    #pragma tabsize 0
    #define SERVER 0x33CCFFAA
    new lulu[MAX_PLAYERS];
    new lutscher;
    new bla;
    forward tiimer(playerid);
    public OnFilterScriptInit()
    {
    return 1;
    }
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/wand", cmdtext, true, 10) == 0)
    {
    if(lulu[playerid] == 0)
    {
    new Float:angleP,Float:xP,Float:yP,Float:zP;
    GetPlayerFacingAngle(playerid,angleP);
    GetPlayerPos(playerid, xP, yP, zP);
    GetXYInFrontOfPlayer(playerid, xP, yP, 10);
    lutscher = CreateObject(3095, xP, yP, zP, 90, 0, angleP);
    // AttachObjectToPlayer(lutscher,playerid,xP, yP, zP,90,0,angleP);
    lulu[playerid]=1;
    bla = SetTimer("tiimer",100,1);
    SendClientMessage(playerid, 0xDEEE20FF, "* AN");
    }
    else if(lulu[playerid] == 1)
    {
    lulu[playerid]=0;
    SendClientMessage(playerid, 0xDEEE20FF, "* AUS");
    KillTimer(bla);
    DestroyObject(lutscher);
    }
    return 1;
    }


    return 0;
    }
    public tiimer(playerid)
    {
    SendClientMessage(playerid,SERVER,"lala");
    new Float:angleP,Float:xP,Float:yP,Float:zP;
    GetPlayerFacingAngle(playerid,angleP);
    GetPlayerPos(playerid, xP, yP, zP);
    GetXYInFrontOfPlayer(playerid, xP, yP, 10);
    // DestroyObject(lutscher);
    // lutscher = CreateObject(3095, xP, yP, zP, 90, 0, angleP);
    // SetObjectPos(lutscher, xP, yP, zP);
    SetObjectRot(lutscher, 90, 0, angleP);
    return 1;
    }



    public OnPlayerConnect(playerid)
    {
    lulu[playerid]=0;
    return 1;
    }



    stock GetXYInFrontOfPlayer(playerid, &Float:xP, &Float:yP, Float:distance)
    {
    new Float:aP;
    GetPlayerPos(playerid, xP, yP, aP);
    if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), aP);
    else GetPlayerFacingAngle(playerid, aP);
    xP += (distance * floatsin(-aP, degrees));
    yP += (distance * floatcos(-aP, degrees));
    return 1;
    }

    ?
    ich raff einfach nicht was da falsch sein soll kenn mir dan nicht jemand von euch schreiben ? ist ja nicht viel arbeit (danke)