Spieler wird Message nicht angezeigt!

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 möchte einen Spieler eine Nachricht anzeigen lassen das er vom Hitman getötet wurde nur er bekommt keine Nachricht...
    if(PlayerInfo[giveplayers][pHeadValue] > 0)
    {
    SendClientMessage(giveplayers,COLOR_YELLOW,"Du bist nun für 5 Minuten auf dem Friedhof weil ein Contract auf dich ausgesetzt war!");
    }


    Der Contract Befehl



    if(strcmp(cmd, "/contract", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 5000 || moneys > 500000) { SendClientMessage(playerid, COLOR_GREY, " Die Vertragssumme muß mindestens $5000-, aber nicht mehr als $500000 betragen!"); return 1; }
    if(PlayerInfo[playerid][pLevel] < 2)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du mußt mindestens Level 2 haben um einen Vertrag zu erstellen.");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    return 1;
    }
    else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    return 1;
    }
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!"); return 1; }
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = GetPlayerMoney(playerid);
    if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst diesen Spieler nicht unter /contract nehmen da er Verbugt ist !");
    return 1;
    }
    else
    {
    if (moneys > 0 && playermoney >= moneys)
    {
    GivePlayerMoney(playerid, (0 - moneys));
    PlayerInfo[giveplayerid][pHeadValue]+=moneys;
    format(string, sizeof(string), "%s möchte das ein Hitman die Zielperson: %s für $%d tötet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für $%d erteilt.",giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht genug Geld auf der Hand.");
    }
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,
    rndy

  • Steht das unter OnPlayerDeath?
    Wenn ja:


    if(PlayerInfo[playerid][pHeadValue] > 0)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun für 5 Minuten auf dem Friedhof weil ein Contract auf dich ausgesetzt war!");
    }


    Du solltest auch prüfen, ob du nicht zuvor die pHeadValue auf 0 gesetzt hast.

  • Wo setzt du die "HeadValue" denn wieder auf 0?..
    Das müsste nämlich auch nach der Message gemacht werden, da der Contract dann ja nie endet..


    Spoiler anzeigen
    if(strcmp(cmd, "/contract", true) == 0){
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))return SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))return SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /contract [playerid] [Betrag]");
    moneys = strval(tmp);
    if(moneys < 5000 || moneys > 500000)return SendClientMessage(playerid, COLOR_GREY, " Die Vertragssumme muss mindestens $5000-, aber nicht mehr als $500000 betragen!");
    if(PlayerInfo[playerid][pLevel] < 2)return SendClientMessage(playerid, COLOR_GRAD1, "Du musst mindestens Level 2 haben, um einen Vertrag zu erstellen.");
    if (!IsPlayerConnected(giveplayerid))return format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid),SendClientMessage(playerid, COLOR_GRAD1, string);
    if(giveplayerid == INVALID_PLAYER_ID)return 1;
    if(PlayerInfo[giveplayerid][pMember] == 8 && PlayerInfo[playerid][pLeader] == 8)return SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    else if(PlayerInfo[giveplayerid][pLeader] == 8 && PlayerInfo[playerid][pMember] == 8)return SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Verträge mit deiner eigenen Agentur abschließen!");
    if(giveplayerid == playerid)return SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selber unter Vertrag nehmen!");
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[giveplayerid][pMember] == 8||PlayerInfo[giveplayerid][pLeader] == 8)return SendClientMessage(playerid, COLOR_GREY, " Du kannst diesen Spieler nicht unter /contract nehmen, da er verbuggt ist !");
    if(GetPlayerMoney(playerid) >= moneys){
    GivePlayerMoney(playerid,-moneys);
    PlayerInfo[giveplayerid][pHeadValue]+=moneys;
    format(string, sizeof(string), "%s möchte, dass ein Hitman die Zielperson %s für $%d tötet.",sendername, giveplayer, moneys);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string, sizeof(string), "* Du hast einem Hitman den Auftrag zur Beseitigung von %s für $%d erteilt.",giveplayer, moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    }
    else return SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht genug Geld auf der Hand.");
    }

  • if(PlayerInfo[playerid][pHeadValue] > 0)
    {
    if(IsPlayerConnected(killerid))
    {
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    if(GoChase[killerid] == playerid)
    {
    ConsumingMoney[killerid] = 1;
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    new fkasse = PlayerInfo[playerid][pHeadValue];
    FraktionsKasse[8] += fkasse;
    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
    GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und erhält: $%d >>",killer,giveplayer,PlayerInfo[playerid][pHeadValue]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und erhält: $%d >>",killer,giveplayer,PlayerInfo[playerid][pHeadValue]);
    Log("Auftrag.txt",string);
    PlayerInfo[playerid][pHeadValue] = 0; // hier wirds auf 0 gesetzt
    GotHit[playerid] = 0;
    GetChased[playerid] = 999;
    GoChase[killerid] = 999;
    }
    }
    }
    }


    if(PlayerInfo[playerid][pHeadValue] > 0)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun auf dem Friedhof weil ein Contract auf dich ausgesetzt war!");
    }

    Mit freundlichen Grüßen,
    rndy

  • if(PlayerInfo[playerid][pHeadValue] > 0){
    if(IsPlayerConnected(killerid)){
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8){
    if(GoChase[killerid] == playerid)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun auf dem Friedhof weil ein Contract auf dich ausgesetzt war!");
    ConsumingMoney[killerid] = 1;
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    new fkasse = PlayerInfo[playerid][pHeadValue];
    FraktionsKasse[8] += fkasse;
    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
    GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und erhält: $%d >>",killer,giveplayer,PlayerInfo[playerid][pHeadValue]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    Log("Auftrag.txt",string);
    PlayerInfo[playerid][pHeadValue] = 0;
    GotHit[playerid] = 0;
    GetChased[playerid] = 999;
    GoChase[killerid] = 999;
    }
    }
    }
    }


    Oder soll die Nachricht erst kommen, wenn er auf dem Friedhof spawnt?..

  • @toniyo: Achso, na dann..


    Code
    if(PlayerInfo[playerid][pHeadValue] > 0){
    if(IsPlayerConnected(killerid)){
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8){
    if(GoChase[killerid] == playerid){
    ConsumingMoney[killerid] = 1;
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    new fkasse = PlayerInfo[playerid][pHeadValue];
    FraktionsKasse[8] += fkasse;
    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
    GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und erhält: $%d >>",killer,giveplayer,PlayerInfo[playerid][pHeadValue]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    Log("Auftrag.txt",string);
    GotHit[playerid] = 0;
    GetChased[playerid] = 999;
    GoChase[killerid] = 999;
    }
    }
    }
    }

    Code
    if(PlayerInfo[playerid][pHeadValue] > 0){
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun auf dem Friedhof weil ein Contract auf dich ausgesetzt war!");
    PlayerInfo[playerid][pHeadValue] = 0;
    }


    Der Fehler ist.. Dass du bei OnPlayerDeath schon den "HeadValue"- Wert auf 0 setzt.. Und wenn er dann spawnt, ist die "HeadValue" ja 0, also nicht größer als 0 ;)

    Mit freundlichen Grüßen
    ErikSon



    Scripte kleine Systeme auf Anfrage umsonst!
    Per PN könnt ihr mir gerne Scriptingfragen stellen.

    Einmal editiert, zuletzt von ErikSon ()