Schreiben obwohl er im Krankenhaus liegt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Schreiben obwohl er im Krankenhaus liegt

    Guten Tag liebe Scripter,

    Habe einen kleinen Bug, wobei ich keine Ahnung habe wie ich dieses Problem löse, deswegen ersuche ich Hilfe bei euch.

    [pwn]public OnPlayerText(playerid, text[]) {
    new Float:x, Float:y, Float:z, i;
    GetPlayerPos(playerid, x,y,z);
    if (GetPVarInt(playerid, "Tod") == 1) return SendClientMessage(playerid, ROT, "Du liegst im Koma du kannst nicht sprechen.");
    new chatstring[128];
    format(chatstring, sizeof(chatstring), "%s sagt: %s", SpielerName(playerid), text);
    for(i=0;i<GetMaxPlayers();i++) {
    if(IsPlayerInRangeOfPoint(i, 15.0, x, y, z)) {
    SendClientMessage(i, GRAU, chatstring);
    }
    }
    return 0;
    }[/pwn]

    Also es funktioniert auch das dies nicht aufgerufen wird, jedoch steht da anstatt "Du liegst im Koma du kannst nicht sprechen." "Spieler: Test".
    Also er schreibt wie ganz am Anfang ohne das sagt usw. Ich dachte durch das return 0 kommt jetzt gar nichts, aber leider kommt nun doch was. Würde mich freuen wenn dies jemand herausfinden kann.

    Weil wenn er wieder lebt steht dann "Spieler sagt: Test", also wieder ganz normal. :wacko:
    Schulprojekt RealLife Server scripten in Arbeit
    Selfmade garantiert von 0 angefangen
  • [pwn]public OnPlayerText(playerid, text[]){
    new Float:x,
    Float:y,
    Float:z,
    chatstring[128];
    GetPlayerPos(playerid, x,y,z);
    if(GetPVarInt(playerid, "Tod") == 0) {
    format(chatstring, sizeof(chatstring), "%s sagt: %s", SpielerName(playerid), text);
    for(i=0;i<GetMaxPlayers();i++) {
    if(IsPlayerInRangeOfPoint(i, 15.0, x, y, z)) {
    SendClientMessage(i, GRAU, chatstring);
    }
    }
    }
    else
    return SendClientMessage(playerid, ROT, "Du liegst im Krankenhaus und kannst nicht reden!");
    return 0;
    }[/pwn]
  • Was hat das für einen Sinn du hast nur mehr Codezeilen daraus gemacht die eigentlich unnötig sind weil es passiert genau das gleiche wie in meiner Version.

    Es wird ausgegeben:

    "Du liegst im Krankenhaus und kannst nicht reden!"
    "Spieler: test"

    Es soll aber nur der erste Satz kommen bei jedem anderem Befehl wie /s oder /fl funktionierts einwandfrei aber nur hier kommt diese Nachricht im globalen Chat. :S
    Schulprojekt RealLife Server scripten in Arbeit
    Selfmade garantiert von 0 angefangen
  • Das ist die Standard Methode von einer neuen PAWN-Datei. Ich verwende den eingegebenen Text in meinem chatstring damit ich ja den Text ausgebe mit

    z.B. ich gebe in mein Input-Feld Test3
    dann kommt immer in grau raus

    Spieler sagt: Test 3

    doch wenn er im Krakenhaus liegt soll eben der Satz kommen das er im Koma liegt, jedoch kommt dann die globale nachricht vom spieler

    Spieler: Test3
    Schulprojekt RealLife Server scripten in Arbeit
    Selfmade garantiert von 0 angefangen
  • [pwn]public OnPlayerText(playerid, text[]){
    new Float:x,
    Float:y,
    Float:z,
    chatstring[128];
    GetPlayerPos(playerid, x,y,z);
    if(GetPVarInt(playerid, "Tod") == 0) {
    format(chatstring, sizeof(chatstring), "%s sagt: %s", SpielerName(playerid), text);
    for(i=0;i<GetMaxPlayers();i++) {
    if(IsPlayerInRangeOfPoint(i, 15.0, x, y, z)) {
    SendClientMessage(i, GRAU, chatstring);
    }
    }
    }
    else
    return SendClientMessage(playerid, ROT, "Du liegst im Krankenhaus und kannst nicht reden!");
    return 0;
    }[/pwn]
    Damit sollte das denke ich machbar sein, ich lass hier mal Dragonas drüberfliegen.
  • so ich habe mal versucht die text-variable zu formatieren. leider ist das problem immernoch das gleiche. Jedoch wird nun überall egal was ich eingebe es nochmal ausgegeben also

    ich gebe ein "Test"

    kommt als Ausgabe im Chat

    Spieler sagt: Test
    Spieler: Test

    im Krankenhaus immernoch das gleiche Problem wie vorher
    Schulprojekt RealLife Server scripten in Arbeit
    Selfmade garantiert von 0 angefangen
  • Nach langer Zeit hab ich den Fehler gefunden. Eigentlich ein richtig dummer Fehler und dafür würde man sich schon schähmen, aber wir haben ihn alle übersehen^^

    Meine alte Version
    [pwn]if (GetPVarInt(playerid, "Tod") == 1) return SendClientMessage(playerid, ROT, "Du liegst im Koma du kannst nicht sprechen.");[/pwn]

    [pwn]if (GetPVarInt(playerid, "Tod") == 1) {
    SendClientMessage(playerid, ROT, "Du liegst im Koma du kannst nicht sprechen.");
    return 0;
    }[/pwn]

    Es funktioniert nun einwandfrei. Merkt ihr den Unterschied :D

    Bitte closen. Danke euch trotzdem für die Hilfe. Am besten lernt man wenn man seine eigenen Fehler selber ausbessert als sie ausbessern zu lassen :D
    Schulprojekt RealLife Server scripten in Arbeit
    Selfmade garantiert von 0 angefangen