[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Kleine Frage, wie kann ich abfragen ob einer in der nähe eines Fahrzeuges ist? :whistling:


    Hiermit:
    stock IsAnyPlayerNearVehicle(vehicleid, Float:range) //©Jeffry
    {
    new Float:x, Float:y, Float:z;
    GetVehiclePos(vehicleid, x, y, z);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerDistanceFromPoint(i, x, y, z) <= range) return 1;
    }
    return 0;
    }

  • Kleine Frage, wie kann ich abfragen ob einer in der nähe eines Fahrzeuges ist? :whistling:



    stock IsAnyPlayerNearVehicle(vehicleid, playerid, Float:range) //©Jeffry
    {
    new Float:x, Float:y, Float:z;
    GetVehiclePos(vehicleid, x, y, z);
    if(IsPlayerConnected(playerid))
    {
    if(GetPlayerDistanceFromPoint(playerid, x, y, z) <= range) return 1;
    }
    return 0;
    }


    Nur schnell modifiziert .Moersy: Falls du es für einen bestimmten Spieler wissen willst..

  • legend: Unterlasse bitte die Vollzitate, besonders in diesem Thread ist das extrem störend.
    Außerdem muss die Funktion dann so aussehen, sonst bekommst du einen Error.


    stock IsPlayerNearVehicle(playerid, vehicleid, Float:range) //©Jeffry
    {
    new Float:x, Float:y, Float:z;
    GetVehiclePos(vehicleid, x, y, z);
    if(IsPlayerConnected(playerid) && GetPlayerDistanceFromPoint(playerid, x, y, z) <= range) return 1;
    return 0;
    }


    Man könnte auch noch abfragen, ob das Fahrzeug existiert, falls man das nicht schon davor macht.
    stock IsPlayerNearVehicle(playerid, vehicleid, Float:range) //©Jeffry
    {
    new Float:x, Float:y, Float:z;
    GetVehiclePos(vehicleid, x, y, z);
    if(IsValidVehicle(vehicleid) && IsPlayerConnected(playerid) && GetPlayerDistanceFromPoint(playerid, x, y, z) <= range) return 1;
    return 0;
    }

  • Beitrag von Kinimod ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • @[LnD]JustMe.77:
    NPC Problem:
    Hast du mal im Scriptfiles Ordner nachgeguckt? Dort kann es auch sein. Die pwn musst du aber selber erstellen.


    Ahh danke, habe die Dateien dort nicht erwartet.. 8o


    ____


    Warum funktioniert meine Animation nicht?



    ocmd:sit(playerid,params[])
    {
    ApplyAnimation(playerid, "Sitzen", "Sit_relaxed", 4.1, 0, 1, 1, 1, 1, 1);
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ist die Library sicher richtig? "Sitzen"?


    Wenn ja -> Hast du den Befehl schon ein zweites mal eingegeben? Es ist ein bekannter Bug, dass man ApplyAnimation immer zweimal aufrufen sollte..


    Nein diese Library habe ich von einem anderen Beispiel.


    Wo finde ich denn diese Liste dafür?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Beitrag von legend ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Huhu,


    wieso werden keine Team-Mitglieder angezeigt?
    CMD:admins(playerid)
    {
    new string[128];
    if(!IsLoggedIn(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    SendClientMessage(playerid,COLOR_GRAU,"Aktive Team-Mitglieder:");
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && Spieler[i][pLoggedIn] && Spieler[i][pAdmin] < 0)
    {
    format(string,sizeof(string),"%s: %s\n%s: %s",GetName(i),GetPlayerAdminName(i));
    }
    }
    SendClientMessage(playerid,COLOR_GRAU,string);
    return 1;
    }

  • So:
    CMD:admins(playerid)
    {
    if(!IsLoggedIn(playerid)) return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    new string[145];
    SendClientMessage(playerid,COLOR_GRAU,"Aktive Team-Mitglieder:");
    for(new i=0,j=GetMaxPlayers();i<j;i++)
    {
    if(IsPlayerConnected(i) && Spieler[i][pLoggedIn] && Spieler[i][pAdmin] > 0)
    {
    format(string,sizeof(string),"%s: %s",GetName(i),GetPlayerAdminName(i));
    SendClientMessage(playerid,COLOR_GRAU,string);
    }
    }
    return 1;
    }

  • Versteh ich nicht, mein Befehl sieht so aus.
    CMD:uclight(playerid)
    {
    if(!IsLoggedIn(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    if(Spieler[playerid][pFraktion] !=5)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Beamter.");
    new vehicleid = GetPlayerVehicleID(playerid);
    if(UCLight[vehicleid] == false)
    {
    UCLight[vehicleid] = true;
    UCLight[vehicleid] = CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(UCLight, GetPlayerVehicleID(playerid), -0.449999,0.225000,0.824999,0.000000,0.000000,0.000000);
    GameTextForPlayer(playerid, "~w~Blaulicht~n~~g~eingeschaltet", 3000, 6);
    }
    else
    {
    DestroyObject(UCLight[vehicleid]);
    UCLight[vehicleid] = false;
    GameTextForPlayer(playerid, "~w~Blaulicht~n~~r~ausgeschaltet", 3000, 6);
    }
    return 1;
    }


    new bool:UCLight[MAX_VEHICLES];

  • Das kannst du so nicht machen, da musst du zwei Variablen verwenden, oder besser so:
    CMD:uclight(playerid)
    {
    if(!IsLoggedIn(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    if(Spieler[playerid][pFraktion] !=5)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Beamter.");
    new vehicleid = GetPlayerVehicleID(playerid);
    if(UCLight[vehicleid] == -1)
    {
    UCLight[vehicleid] = CreateObject(18646,0,0,-1000,0,0,0,100);
    AttachObjectToVehicle(UCLight[vehicleid], GetPlayerVehicleID(playerid), -0.449999,0.225000,0.824999,0.000000,0.000000,0.000000);
    GameTextForPlayer(playerid, "~w~Blaulicht~n~~g~eingeschaltet", 3000, 6);
    }
    else
    {
    DestroyObject(UCLight[vehicleid]);
    UCLight[vehicleid] = -1;
    GameTextForPlayer(playerid, "~w~Blaulicht~n~~r~ausgeschaltet", 3000, 6);
    }
    return 1;
    }


    Und
    new bool:UCLight[MAX_VEHICLES];
    Zu
    new UCLight[MAX_VEHICLES]={-1,...};

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen