PlayerToPoint Problem

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 da ein PlayerToPoint Problem


    Also da ich PlayerToPoint in meinem Fs benötige würde ich mich über jede hilfe freuen.


    mein Problem :


    C:\Dokumente und Einstellungen\Tobias\Desktop\a.pwn(120) : error 004: function "PlayerToPoint" is not implemented
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Also wäre sehr nett von euch wennn ihr mir helfen könntet

    Ich wurde angesteckt:


    o.o
    o-o
    8|
    ^^


    So nun steckt euch auch an::

  • hab mal bei mir wegen sowas das hier eingefügt, teste es einfach
    forward PlayerToPointStripped(Float:radi, playerid, Float:x, Float:y, Float:z, Float:curx, Float:cury, Float:curz);

  • hab mal bei mir wegen sowas das hier eingefügt, teste es einfach
    forward PlayerToPointStripped(Float:radi, playerid, Float:x, Float:y, Float:z, Float:curx, Float:cury, Float:curz);


    Dien Code ist falsch laut der fehlermeldung von ihm fehlt ein Forward namens PlayerToPoint


    Nimm dieses

    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);


  • forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);// hab ich ihm vor 30 min gesagt er hats rein dann gabs 5 errors weniger doppelt gemoppelt hält besser ge?


  • Also brauch er einen Forward PlayerToPoint...
    und nicht PlayerToPointStripped ...

  • Hier hastes ( brauchst bei stock kein forward) :
    stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){
    if(IsPlayerConnected(playerid)){
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

  • Also das klappt jetzt einigermaßen habe es oben mit eingefügt und die PlayerToPoint Zeile auch eingefügt. Aber mann kann diesen Befehl immer noch von überall aus nutzen.


    2. wie kann ich dass so machen dass z.b wenn er zuweit weg ist (und da es ja dann nicht gehen soll),dass da dann Text bei dem steht.
    Also ich weiß es geht mit SendClientMessage aber wie mache ich ,dass das er es nur sieht wenn der Befehl nicht geht.


    wäre sehr nett, wenn ihr mir helfen würdet

    Ich wurde angesteckt:


    o.o
    o-o
    8|
    ^^


    So nun steckt euch auch an::

    Einmal editiert, zuletzt von Tobsen ()

  • warte hhir:


    das ganz oben:


    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);


    und Das nach ganz unten
    stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

  • Was ist daran falsch ?????



    Ganz oben steht:
    new tor1;
    new tor2;
    new tor3;
    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);


    Dies steht unter OnFilterscriptInit:

    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" BSN Parken am Bsn");
    print("--------------------------------------\n");


    tor1 = CreateObject(5152, 1076.627930, -926.375610, 41.919266, 0.0000, 23.2048, 93.4377);
    tor2 = CreateObject(5152, 1078.779053, -926.242676, 41.919266, 0.0000, 23.2048, 93.4377);
    tor3 = CreateObject(5152, 1077.836670, -929.514954, 41.919266, 0.0000, 23.2048, 3.4377);


    CreateObject(2773, 1075.041382, -925.449036, 42.696915, 0.0000, 0.0000, 183.4377);
    CreateObject(2773, 1075.162720, -927.364136, 42.696915, 0.0000, 0.0000, 183.4377);
    CreateObject(2773, 1080.267700, -925.299011, 42.699425, 0.0000, 0.0000, 183.4377);
    CreateObject(2773, 1080.385986, -927.216675, 42.699425, 0.0000, 0.0000, 183.4377);



    return 1;
    }


    public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }


    Und unter OnPlayerCommand steht:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/parkenstart", true)==0)
    {
    if(PlayerToPoint(25.0,playerid,1231.730469, -917.573853, 43.156441))
    {
    GivePlayerMoney(playerid, -10);
    MoveObject(tor1,1076.617554, -926.414856, 47.527859,3);
    MoveObject(tor2,1078.773560, -926.274414, 47.527859,3);
    MoveObject(tor3,1077.821533, -929.529358, 47.527859,3);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, "Das Parken hier kostet dich 10$.");
    }
    return 1;
    }


    if (strcmp(cmdtext, "/Parkenstop", true)==0)
    {
    if(PlayerToPoint (25.0,playerid,1231.730469, -917.573853, 49.527859))
    {
    MoveObject(tor1,1076.627930, -926.375610, 41.919266, 3);
    MoveObject(tor2,1078.779053, -926.242676, 41.919266, 3);
    MoveObject(tor3,1077.836670, -929.514954, 41.919266, 3);
    }
    return 1;
    }
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }



    Es kommen keine Errors aber den Befehl kann man überall auf der map nutzen und beim wieder schließen bewegt sich das 1. der 3 Tore nicht.

    Ich wurde angesteckt:


    o.o
    o-o
    8|
    ^^


    So nun steckt euch auch an::

    Einmal editiert, zuletzt von Tobsen ()

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(IsPlayerConnected(playerid))
    {
    if (strcmp(cmdtext, "/parkenstart", true)==0)
    {
    if(PlayerToPoint(25.0,playerid,1231.730469, -917.573853, 43.156441))
    {
    GivePlayerMoney(playerid, -10);
    MoveObject(tor1,1076.617554, -926.414856, 47.527859,3);
    MoveObject(tor2,1078.773560, -926.274414, 47.527859,3);
    MoveObject(tor3,1077.821533, -929.529358, 47.527859,3);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, "Das Parken hier kostet dich 10$.");
    }
    return 1;
    }


    if (strcmp(cmdtext, "/Parkenstop", true)==0)
    {
    if(PlayerToPoint (25.0,playerid,1231.730469, -917.573853, 49.527859))
    {
    MoveObject(tor1,1076.627930, -926.375610, 41.919266, 3);
    MoveObject(tor2,1078.779053, -926.242676, 41.919266, 3);
    MoveObject(tor3,1077.836670, -929.514954, 41.919266, 3);
    }
    return 1;
    }
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }