Todespickup

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


    Irgendwas stimmt nicht mit meinem Totenkopf und dem 3DTextLabel. Könntet ihr mal drüber blicken? Er wird erstellt aber verschwindet dann iwie sofort :(


    Oben im Script

    new TodesPickup[MAX_PLAYERS];
    new Text3D:Todes3DText[MAX_PLAYERS];
    forward CheckKH();


    OnGameModeIniti

    SetTimer("CheckKH", 1000,1);


    OnPlayerDeath

    SetPVarInt(playerid,"Krankenhaus",175);
    GivePlayerMoney(playerid,-600);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    TodesPickup[playerid] = CreatePickup(1254, 1, X, Y, Z, 0);
    new name[MAX_PLAYERS], tstring[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(tstring,sizeof(tstring),"%s\nGestorben",name);
    Todes3DText[playerid] = Create3DTextLabel(tstring, 0xD2D2D2FF, X, Y, Z, 20.0, 0, 0);



    public CheckKH()

    public CheckKH()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(GetPVarInt(i,"Krankenhaus") == 0)
    {
    TogglePlayerControllable(i,1);
    SetPVarInt(i,"Krankenhaus",-1);
    SetCameraBehindPlayer(i);
    DestroyPickup(TodesPickup[i]);
    Delete3DTextLabel(Todes3DText[i]);
    SetPVarInt(i,"Krankenhaus",-1);
    switch(pInfo[i][Fraktion])
    {
    case 0:{
    SetPlayerPos(i,noobspawn);
    }
    case 1:{
    SetPlayerPos(i,lspdspawn);
    }
    case 2:{
    SetPlayerPos(i,lsvspawn);
    }
    case 3:{
    SetPlayerPos(i,medicspawn);
    }
    }
    }
    if(GetPVarInt(i,"Krankenhaus") > 0) SetPVarInt(i,"Krankenhaus",GetPVarInt(i,"Krankenhaus")-1);
    }
    return 1;
    }


    #Edit: OnPlayerSpawn

    if(GetPVarInt(playerid,"Krankenhaus") > 0 )
    {
    TogglePlayerControllable(playerid, 0);
    SetPlayerPos(playerid,1165.7139, -1332.1963, 15.9905);
    SetPlayerFacingAngle(playerid,90);
    SetPlayerCameraPos(playerid, 1217.9348, -1363.9851, 51.3236);
    SetPlayerCameraLookAt(playerid, 1217.1332, -1363.3783, 50.7735);
    }

    Einmal editiert, zuletzt von TheFirstRush () aus folgendem Grund: Edit :O Hab OnPlayerSpawn Vergessen

  • xD Der spammt... Da stimmt irgendwas nicht ^^


    Hab bei CheckKH:



    printf("Todespickup wurde gelöscht");
    new Hour, Minute, Second;
    gettime(Hour, Minute, Second);
    printf("%02d:%02d:%02d", Hour, Minute, Second);


    Also er spammt beim Serverstart schon:


    "Todespickup wurde gelöscht
    Zeit"



    #Edit - Ok er Spammt nur wenn ich nicht auf dem Server bin.


    Ansonsten gibt er auch folgendes aus:

    Todespickup erstellt. Position: X, Y, Z, Zeit
    TheFirstRush Gestorben
    Todes3DText erstellt. Position: X, Y, Z, Zeit


    #Edit 2: Er schickt mich aber nicht ins Krankenhaus... Also macht direkt CheckKH, löscht die Texte usw. aber weiterhin...


    #Edit 3: Hier das Bild: http://epvpimg.com/o6Q6b
    Folgendes kommt beim Spawn nicht:

    new string[128];
    format(string,sizeof(string),"Spieler %i im Krankenhaus",playerid);
    new Hour, Minute, Second;
    gettime(Hour, Minute, Second);
    printf("%02d:%02d:%02d", Hour, Minute, Second);
    printf(string);

    3 Mal editiert, zuletzt von TheFirstRush () aus folgendem Grund: Edit 3

  • public CheckKH()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && GetPVarInt(i,"Krankenhaus") == 0) //IsPlayerConnected Abfrage!!
    {
    TogglePlayerControllable(i,1);
    SetPVarInt(i,"Krankenhaus",-1);
    SetCameraBehindPlayer(i);
    DestroyPickup(TodesPickup[i]);
    Delete3DTextLabel(Todes3DText[i]);
    SetPVarInt(i,"Krankenhaus",-1);
    switch(pInfo[i][Fraktion])
    {
    case 0:
    {
    SetPlayerPos(i,noobspawn);
    }
    case 1:
    {
    SetPlayerPos(i,lspdspawn);
    }
    case 2:
    {
    SetPlayerPos(i,lsvspawn);
    }
    case 3:
    {
    SetPlayerPos(i,medicspawn);
    }
    }
    }
    if(GetPVarInt(i,"Krankenhaus") > 0) SetPVarInt(i,"Krankenhaus",GetPVarInt(i,"Krankenhaus")-1);
    }
    return 1;
    }


    Und bei OnPlayerConnect:
    SetPVarInt(playerid,"Krankenhaus",-1);


    Es können natürlich noch mehr Fehler an anderen Stellen sein.