Beiträge von KleinerTeufel

    Indirekt...
    Er will ja blos das Spieler auf seinen Plätzen sichtbar sind.
    Da brauch er keinen Spieler spectaten.
    Da müsste eigentlich TogglePlayerSpectating ausreichen.
    Und dann evtl. mit SetPlayerCameraPos ne Position setzen...


    Nein er muss weder mit TogglePlayerSpectating noch mit PlayerSpectatePlayer arbeiten. TogglePlayerSpectating aktiviert nur das Spectating.
    Er muss nur den Spieler in die Nähe von der Kamera setzten. :)



    Note: Players stream out if they are more than 150 meters away (see server.cfg - stream_distance)




    Er will das auf die Position wo die Kamera zeigt die Leute zu sehen sind.
    Du musst den Spieler der die Live Ansicht sehen soll auch in die nähe der Kamera Position setzten, weil sonst die Spieler nicht gestreamt werden.


    gr. KleinerTeufel

    Hallo,


    mein Problem liegt darin das ich eine Variable habe: dialog_info[10][512]
    Und unter OnDialogResponse formatiere ich diese Variable:


    new dialog_line = DialogState[line];
    format(dialog_info[dialog_line], sizeof(dialog_info), "%s", inputtext);


    Das Problem ist jetzt das in der Variable dialog_info nur die ersten 9 Zeichen von inputtext übernommen werden.
    Ich habe mir mal inputtext und dialog_info im chat ausgeben lassen:


    inputtext = 0123456789
    dialog_info = 012345678


    Ich hoffe ihr könnt mir helfen und sagen woran es liegt.
    Danke


    MFG KleinerTeufel

    Du hast die Fahrzeuge denke ich mal im Script erstellt. AddStaticVehicle || AddStaticVehicleEx oder CreateVehicle.


    Jetzt gehts du hin und fügst die Fahrzeuge die zu der Fraktion gehören einer Variable hinzu.


    new fCars[30];
    fCars[0] = AddStaticVehicle(...)
    fCars[1] = AddStaticVehicle(...)
    fCars[2] = AddStaticVehicle(...)


    Und dann am besten mit einer schleife allen Fraktions Cars die gewünschte HP geben.


    for(new i = 0; i < sizeof(fCars); i++)
    {
    SetVehicleHealth(fCars[i], 9000);
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmd, "/corpse", true))
    {
    if(PlayerInfo[playerid][pJob] == 36)
    {
    new str[240], string[512];
    for(new i2 = 0; i2 < MAX_BESTATTER; i2++)
    {
    new Float:X1 = BestatterInfo[i2][Todx], Float:X2 = BestatterInfo[i2][Tody], Float:X3 = BestatterInfo[i2][Todz];


    if(IsPlayerInRangeOfPoint(playerid, 200.0, X1, X2, X3) && BestatterInfo[i2][Angenommen] == 0)
    {
    format(str, sizeof(str), "Verstorbener: %s\n", BestatterInfo[i2][Opfer]);
    strcat(string, str);
    }
    else
    {
    format(str, sizeof(str), "Slot nicht in Nutzung\n");
    strcat(string, str);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_CORPSE, DIALOG_STYLE_LIST, "Aufträge von Pixel Roleplay", string, "Auswählen", "Beenden");
    return 1;
    }
    return SendClientMessage(playerid, WHITE, "Du bist kein Bestatter!");
    }
    return 0;
    }

    Dann mach es halt so das der Timer nur dann ausgeführt wird wenn er in einem Fahrzeug ist.


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    carColorTimer[playerid] = SetTimerEx("publicname", 2000, true, "d", vehicleid);
    }
    if(oldstate == PLAYER_STATE_DRIVER)
    {
    KillTimer(carColorTimer[playerid]);
    }
    return 1;
    }

    Wozu ein Timer verwenden wenn es OnPlayerTakeDamage gibt?


    ocmd:godmode(playerid, params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    if(GetPVarInt(playerid, "GodModeEnagle") == 0)
    {
    SetPVarInt(playerid, "GodModeEnable", 1);
    }
    else
    {
    SetPVarInt(playerid, "GodModeEnable", 0);
    }
    return 1;
    }
    return 1;
    }


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    if(GetPVarInt(playerid, "GodModeEnable") == 1)
    {
    SetPlayerHealth(playerid, 100);
    return 1;
    }
    return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmd,"/corpse",true))
    {
    if(PlayerInfo[playerid][pJob] == 36)
    {
    for(new i2 = 0; i2 < MAX_BESTATTER; i2++)
    {
    new Float:X1 = BestatterInfo[i2][Todx], Float:X2 = BestatterInfo[i2][Tody], Float:X3 = BestatterInfo[i2][Todz], str[240];


    if(IsPlayerInRangeOfPoint(playerid,200.0,X1,X2,X3) && BestatterInfo[i2][Angenommen] == 0)
    {
    format(str,sizeof(str),"Verstorbener: %s\n",BestatterInfo[i2][Opfer]);
    strcat(str, string);
    }
    else
    {
    format(str,sizeof(str),"Slot nicht in Nutzung\n");
    strcat(str, string);
    }
    }
    ShowPlayerDialog(playerid,DIALOG_CORPSE,DIALOG_STYLE_LIST,"Aufträge von Pixel Roleplay",string,"Auswählen","Beenden");
    return 1;
    }
    return SendClientMessage(playerid,WHITE,"Du bist kein Bestatter!");
    }
    return 0;
    }

    new string[128];
    format(string,sizeof(string),"Werbung: %s ",inputtext); //du hast mit strval (inputtext) das ganze in ein integer(Zahl) umgewandelt.
    SendClientMessageToAll(WERBUNG,string);
    SetTimerEx("Werbungtimer",10000,0,"i",playerid);
    GivePlayerMoney(playerid,-50);
    Werbung[playerid] = 1;

    Du kannst keine Leeren Strings in einem Dialog anzeigen lassen.


    format(string, MAX_PLAYERS ^ 2, ""); // -> Leerer String
    ShowPlayerDialog ( playerid , ADACDialog , DIALOG_STYLE_LIST , "Folgende Spieler benötigen einen ADAC" , string, "Ok", "Abbruch");


    Ich denke mal das du dich einfach nur verschrieben hast, also benutze den string


    format ( astring , sizeof astring , "%s\n%s" , astring , pName );
    ShowPlayerDialog ( playerid , ADACDialog , DIALOG_STYLE_LIST , "Folgende Spieler benötigen einen ADAC" , astring, "Ok", "Abbruch");

    Bei TextDrawFont musst du als zweiter Parameter 4 angeben.


    Also TextDrawFont(Beispiel_TD, 4);


    Dann TextDrawCreate(x, y, "LOADSUK:loadsc8")


    Das LOADSUK steht für die Datei in deinem GTA San Andreas Ordner (models\txd\LOADSUK.txd)
    Das :loadsc8 für das Bild was in der Datei LOADSUK ist.


    Das ist übrigens das Bild auf deinem Foto.


    Mit TXD Workshop kannst du diese Dateien öffnen.

    Der einzige Grund wieso das in Weiß sein könnte wäre das du die Farbe die du definiert hast, komplett Transparent gemacht hast.


    Und ich habe irgendwie das Gefühl das du uns gerade hier ein bisschen verarschen willst oder?