Das Anklicken eines "NPC's"

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
  • Moin!


    Ich habe eine Frage bezüglich des Anklickens eines NPCS.


    Sprich: Ich Drücke ALT, die Maus wird freigegeben, sprich ich kann im Spiel rumklicken. Klicke ich nun auf einen "NPC" sollte z.B. eine Nachricht als Test kommen.
    Ist das möglich? Habe sowas schon gesehen :o


    Danke!


    //E => Gehts auch mit gemappten Skins,Npcs?

  • Gut, nehmen wir an ich Mappe jetzt sozusagen ein "NPC", was ja ein Objekt ist.


    Nun mache ich folgendes:

    SelectObject(playerid);


    public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
    {
    if(type == SELECT_OBJECT_GLOBAL_OBJECT)
    {
    SendClientMessage(playerid,FARBE,"TEST");
    }
    return 1;
    }

    Wäre das irgendwie so richtig ?

  • SelectObject(playerid);


    public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
    {
    if(type == SELECT_OBJECT_GLOBAL_OBJECT)
    {
    new Float:x, Float:y, Float:z;
    GetObjectPos(13, x, y, z); // Object id 13
    if(IsValidObject(13)) // Object id 13
    {
    SendClientMessage(playerid,FARBE,"TEST");
    }
    return 1;
    }


    Geht das so ?^^

  • public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
    {
    if(type == SELECT_OBJECT_GLOBAL_OBJECT)
    {
    if(objectid == 13) // Object id 13
    {
    SendClientMessage(playerid,FARBE,"TEST");
    }
    }
    return 1;
    }
    so, aber testen muss du es schon selbst ^^

  • Funktioniert leider nicht :/



    Code:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) // Das Funktioniert ja soweit er öffnet den Zeiger.
    {
    if(newkeys == KEY_FIRE)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    SelectObject(playerid);
    }
    }
    }
    return 1;
    }


    public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
    {
    if(type == SELECT_OBJECT_GLOBAL_OBJECT)
    {
    if(objectid == 792)
    {
    SendClientMessage(playerid,0x3366FFFF,"TEST");
    }
    }
    return 1;
    }