Wiederbeleben System [Frage]

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
  • Schönen guten abend,


    ich bin gerade dabei ein /wiederbeleben zu scripten.


    Dieses hier habe ich schon hinbekommen und es Funktioniert.


    if (strcmp(cmd, "/wiederbeleben", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pTot] == 1 && PlayerToPoint(5.0,playerid,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]))
    {
    new pname[256];
    GetPlayerName(i, pname, 256);
    format(string, 256, "Du hast %s, wiederbelebt! Du bekommst 150$",pname);
    SendClientMessage(playerid, COLOR_GREEN, string);
    GivePlayerMoney(playerid,150);
    GetPlayerName(playerid, pname, 256);
    format(string, 256, "Arzt %s hat dich wiederbelebt! Du zahlst 150$",pname);
    SendClientMessage(i, COLOR_GREEN, string);
    GivePlayerMoney(i,-150);
    PlayerInfo[i][pTot] = 0;
    pIstTot[i] = 0;
    SetPlayerPos(i,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz]);
    SetCameraBehindPlayer(i);
    DestroyPickup(TotenKopf[i]);
    TogglePlayerControllable(i,1);
    PlayerInfo[i][pTx] = 0.0;
    PlayerInfo[i][pTy] = 0.0;
    PlayerInfo[i][pTz] = 0.0;
    new Float:tempheal;
    GetPlayerHealth(i,tempheal);
    SetPlayerHealth(i,15.0);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Arzt!");
    }
    }
    return 1;
    }


    Meine Frage nun. Wie bekomme ich es hin das der Spieler nach dem Tot eine Meldung an die Medics Sendet mit seiner Aktuellen Dead Position.


    Ich habe es zurzeit nur so das wenn der tote /service Medic macht er eine Nachricht zwar schickt aber der Marker nicht an seiner Dead position spawnt.


    Fehlen sachen Bitte schreibt es.


    PS: Wahrscheinlich is es unter OnPlayerSpawn hier die zeilen


    if(PlayerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid, ROT, "==============================================================================================================");
    SendClientMessage(playerid, 0xFEFEFEFF, "Du hattest nochmal Glück und bist noch einmal mit ein paar Kratzern davon gekommen. Bitte warte hier");
    SendClientMessage(playerid, 0xFEFEFEFF, "bis ein Arzt dich wiederbelebt oder bis die 3 Minuten Krankenhaus Zeit Abgelaufen ist. Sollte ein");
    SendClientMessage(playerid, 0xFEFEFEFF, "Arzt dich Wiederbeleben spawnst du da wo du gestorben bist. Sollte die 3 Minute Abgelaufen sein");
    SendClientMessage(playerid, 0xFEFEFEFF, "Wirst du hier vorm Krankenhaus spawnen.");
    SendClientMessage(playerid, ROT, "==============================================================================================================");
    SendClientMessage(playerid, ROT,"" );
    ResetPlayerWeapons(playerid);
    }



    //edit


    Mit dem DeathIcon habe ich es hinbekommen. Is es zufällig gleich ?


    new TotenKopf[MAX_PLAYERS]


    PlayerInfo[playerid][pTot] = 1;
    GetPlayerPos(playerid, pX, pY, pZ);
    TotenKopf[playerid] = CreatePickup(1254,1, pX, pY, pZ);
    PlayerInfo[playerid][pTx] = pX;
    PlayerInfo[playerid][pTy] = pY;
    PlayerInfo[playerid][pTz] = pZ;

  • //edit


    Nein ich meine Natürlich einen Checkpoint.


    Pickup habe ich hinbekommen ich meine nur, das wenn der spieler stirbt das dort wo er Gestorben ein Marker gesetzt wird und bei den Medics z.b : Person blabla ist Gestorben. Alle Freien Einheiten zum Marker XY

  • 2 Schreib fehler :)
    if(PlayerInfo[playerid][pTot] == 1) {
    SendClientMessage(playerid, ROT, "==============================================================================================================");
    SendClientMessage(playerid, 0xFEFEFEFF, "Du hattest nochmal Glück und bist noch einmal mit ein paar Kratzern davon gekommen. Bitte warte hier");
    SendClientMessage(playerid, 0xFEFEFEFF, "bis ein Arzt dich wiederbelebt oder bis die 3 Minuten Krankenhaus Zeit Abgelaufen ist. Sollte ein");
    SendClientMessage(playerid, 0xFEFEFEFF, "Arzt dich Wiederbeleben spawnst du da wo du gestorben bist. Sollte_ die 3 Minute_ Abgelaufen sein");
    SendClientMessage(playerid, 0xFEFEFEFF, "Wirst du hier vorm Krankenhaus spawnen.");
    SendClientMessage(playerid, ROT, "==============================================================================================================");
    SendClientMessage(playerid, ROT,"" );
    ResetPlayerWeapons(playerid); }

    Mit Freundlichen Grüßen <3
    6108919468.png

  • new Float:p[3],str[128];
    GetPlayerPos(playerid,p[0],p[1],p[2]);
    format(str,sizeof(str)," [MEDIC] %s ist gestorben!", spielerName..);
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(player[i][p_frak] != 1)continue;
    SetPlayerCheckpoint(i,p[0],p[1],p[2],3);
    SendClientMessage(i,-1,str);
    }


    "player[i] .." musst du natürlich mit deiner Fraktions-Abfrage ersetzen.
    "SpielerName.." ebenso