[HILFE]anderen Spieler an eine Position porten :D

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
  • Heyho Community,


    ich bin gerade dabei ein Medic System zu "scripten", jedoch habe ich folgendes Problem:


    1) Spieler wird ins Auto gezogen und ist gefreezt
    2) Der Arzt fährt zur "Notaufnahme"
    (Das Problem) >>3) Dort angekommen soll der Arzt (FrakID: 4) den Spieler mit dem Befehl: "/beleben" in ein Zimmer porten und dann einen Timer starten. << (Das Problem)
    4) Nach einer Minute wird der Spieler vor das KH geportet und wieder unfreezt!


    Wie ihr oben sehen konntet ist mein Problem, dass ich keine Ahnung habe, wie ich einen anderen spieler und mich selbst in einen OP Raum porten kann.
    Mich selbst kann ich ja mit "SetPlayerPos..." hinporten, aber wie den anderen Spieler?


    Ich hoffe ihr könnt mir helfen


    lg Nicki

  • Ebenfalls mit SetPlayerPos. Kopier das erste SetPlayerPos, füg es drutner nochmal ein und änder playerid zu der Variable mit der der andere Spieler ausgewählt wird.


    Okay danke ist schonmal eine gute Hilfe ;)
    Jedoch woher weiss ich mit welcher Variable der andere geportet wird?
    da war irgendwas mit "i" oder so keine Ahnung bin ein totaler N003 in Sachen "scripten"
    ich fange gerade erst an ;)

  • Okay hier der /beleben befehl:


    if (strcmp(cmd, "/beleben", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    if(JobDuty[playerid] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10.0, 1143.0999755859, -1330.0999755859, 13.60000038147))
    {
    SetPlayerPos(playerid, x, y, z);
    SetPlayerPos(i, x, y, z);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind kein Arzt.");
    }
    }
    return 1;
    }


    Und hier der /hereinziehen Befehl:


    if(strcmp(cmd, "/hereinziehen", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /hereinziehen [ID]");
    return 1;
    }
    if(gTeam[playerid] == 4)
    {
    new person;
    person = strval(tmp);
    if(IsPlayerConnected(person))
    {
    if(person != INVALID_PLAYER_ID)
    {
    if(GetDistanceBetweenPlayers(playerid,person) <= 8)
    {
    if(IsPlayerInAnyVehicle(person))
    {
    SendClientMessage(playerid, COLOR_GREY, " Person befindet sich in einem Auto!");
    return 1;
    }
    if(person == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst hereinziehen!"); return 1; }
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2)
    {
    new playerVehicle = GetPlayerVehicleID(playerid);
    PutPlayerInVehicle(person, playerVehicle, 3);
    GetPlayerName(person, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du wurdest von %s ins Farzeug gezogen.", sendername);
    SendClientMessage(person, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du hast %s ins Fahrzeug gezogen. Fahre nun zur Notaufnahme!", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s hat %s ins Fahrzeug gezogen", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GameTextForPlayer(giveplayerid, "~r~Du wirst nun zum KH gebracht", 2500, 3);
    TogglePlayerControllable(person, 0);
    PlayerCuffed[person] = 2;
    PlayerCuffedTime[person] = 180;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du fährst kein Auto!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Spieler ist nicht in deiner Nähe!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Arzt!");
    }
    }
    return 1;
    }

  • Das sollte funktionieren:

    if (strcmp(cmd, "/beleben", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /beleben [ID]");
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    new person;
    person = strval(tmp);
    if(IsPlayerConnected(person))
    {
    if(JobDuty[playerid] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 10.0, 1143.0999755859, -1330.0999755859, 13.60000038147))
    {
    SetPlayerPos(playerid, x, y, z);
    SetPlayerPos(person, x, y, z);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Dieser Spieler existiert nicht.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind kein Arzt.");
    }
    }
    return 1;
    }

  • Danke werde es ausprobieren :D


    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\morphinc.inc(4) : Variable "x2" wurde mehrmals deklariert
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\morphinc.inc(4) : Variable "y2" wurde mehrmals deklariert
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\morphinc.inc(4) : Variable "z2" wurde mehrmals deklariert
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\M_Bot.inc(576) : warning 224: indeterminate array size in "sizeof" expression (symbol "")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(220) : warning 201: redefinition of constant/macro (symbol "PutPlayerInVehicle")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(221) : warning 201: redefinition of constant/macro (symbol "GivePlayerMoney")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(222) : warning 201: redefinition of constant/macro (symbol "ResetPlayerMoney")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(223) : warning 201: redefinition of constant/macro (symbol "GetPlayerMoney")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(224) : warning 201: redefinition of constant/macro (symbol "SetPlayerPos")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(225) : warning 201: redefinition of constant/macro (symbol "SetVehiclePos")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(226) : warning 201: redefinition of constant/macro (symbol "GivePlayerWeapon")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(227) : warning 201: redefinition of constant/macro (symbol "ResetPlayerWeapons")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(228) : warning 201: redefinition of constant/macro (symbol "SetPlayerHealth")
    C:\Users\Martin\Desktop\CTRREA~1\pawno\include\JunkBuster.inc(229) : warning 201: redefinition of constant/macro (symbol "SetPlayerArmour")
    Zeile (9152) : Die Anzahl der Parameter ist falsch
    Zeile (24698) : Die Anzahl der Parameter ist falsch
    Zeile (24775) : Die Anzahl der Parameter ist falsch
    Zeile (49402) : Variable "GetName" wurde mehrmals deklariert
    Zeile (51320) : Unbekannte Variable : "playerid"
    Zeile (51321) : Unbekannte Variable : "person"
    Zeile (51322) : Unbekannte Variable : "playerid"
    Zeile (51323) : Unbekannte Variable : "person"
    Zeile (51324) : Unbekannte Variable : "person"
    Zeile (51327) : Variable wird nie benutzt: "M_OnPlayerUpdate"


    5 Errors, 19 Warnungen
    Du hast Errors im Skript. Kompilierung abgebrochen


    PWNMod Compiler Version 1.2
    (c) Trooper[Y]
    In Kooperation mit GTA-Servers.de


    //edit (Fehler)

    Einmal editiert, zuletzt von Nickinator ()

  • Okay also ich habe halt einen timer gesetzt in dem der Spieler operiert wird:
    Das sind auch die Zeilen, in denen die errors vorkommen :D
    public beleben()
    {
    SetPlayerPos(playerid, 1178.5170,-1324.4663,14.1240);
    SetPlayerPos(person, 1177.9368,-1323.2548,14.0953);
    ClearAnimations(playerid);
    ClearAnimations(person);
    TogglePlayerControllable(person,1);
    return 1;
    }