Beiträge von InternetInk aka Benjamin

    WARNUNG
    Dieses Tutorial ist Outdated!
    Funktionstüchtigkeit nicht garantiert!
    Benutzung nicht empfohlen.


    Aloha,
    Heute zeig ich euch das NachTot > Krankenhaus System das ich mal gemacht hab.
    Ich würde mich freuen wenn ihr mich im /credits cmd vermerken würdet,muss aber nicht ;)


    [>] Nach Tot Ins Krankenhaus
    Hinweis: "SuFu" im Script mit STRG+F


    SuFu nach enum pInfo und setzt folgende Variabeln ein:
    Hinweis: Fügt sie als letzte ein!
    p???, //Das komma bei der zuvor letzten Variable nicht vergessen!
    pTot,
    Float:pTx,
    Float:pTy,
    Float:pTz
    };//Klammer nicht doppelt einfügen ;)  
    Wo wir schonmal oben im Script sind added unter den ganzen anderen new's das:

    new TotenKopf[MAX_PLAYERS];
    new pIstTot[MAX_PLAYERS];
    forward TOTTimer();


    SuFu nach OnPlayerConnect und diesen Code einfügen
    Hinweis: einfach hinter die ganzen anderen

    PlayerInfo[playerid][pTot] = 0;
    PlayerInfo[playerid][pTx] = 0;
    PlayerInfo[playerid][pTy] = 0;
    PlayerInfo[playerid][pTz] = 0;
    pIstTot[playerid] = 0;


    Als nächstes SuFu nach onplayerdisconnect und das einfügen:

    public OnPlayerDisconnect(playerid)
    {
    DestroyPickup(TotenKopf[playerid]);

    Nun SuFu nach public SetPlayerSpawn und es so einfügen
    Hinweis: muss direkt ganz oben sein...

    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {//Sollte schon da stehen fügt den code einfach danach ein
    if(PlayerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Durch deine schweren Verletzungen liegst du im Koma");
    TogglePlayerControllable(playerid, 0);
    ResetPlayerWeapons(playerid);
    SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
    SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
    SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
    SetPlayerInterior(playerid, 0);
    return 1;
    }
    // Rest Code 
    Weiter gehts,SuFu nach public OnPlayerDeath und diesen Code einfügen,wo ist egal aber am besten ebenfalls am Anfang
    PlayerInfo[playerid][pTot] = 1;
    new Float:pX,Float:pY,Float:pZ;
    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; 
    SuFu nach public OnPlayerSpawn und diese Code am besten zuletzt einfügen!
    if(PlayerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_LIGHTRED, " ");
    SendClientMessage(playerid, COLOR_YELLOW, "|________ Am Krankenhaus ________|");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Durch deine schweren Verletzungen liegst du im Koma!");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Sie sind fü 2-3 Minuten im Krankenhaus! In 2-3 Minuten kommen Sie wieder raus, da Sie gearde behandelt werden!");
    ResetPlayerWeapons(playerid);
    return 1;
    }
    return 1;//schon vorhanden NICHT doppelt reinmachen!
    }//schon vorhanden NICHT doppelt reinmachen! 
    Nun Machen wir den Timer,
    Bein OngamemodeInit:
    SetTimer("TOTTimer",60000,1); 
    Unten Ins Script
    public TOTTimer()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pTot] == 1)
    {
    pIstTot[i] += 1;
    }
    if(PlayerInfo[i][pTot] == 1 && pIstTot[i] == 8)//die 8 ändern in die anzahl der minuten die ihr im KH sein wollt
    {
    PlayerInfo[i][pTot] = 0;
    pIstTot[i] = 0;
    SetPlayerVirtualWorld(i,0);
    SetPlayerSpawn(i);
    SpawnPlayer(i);
    SendClientMessage(i, COLOR_LIGHTGREEN, "Du bist aus dem Krankenhaus entlassen!");
    DestroyPickup(TotenKopf[i]);
    }
    }
    }

    So das wars,ich hoffe ich hab da nichts vergessen :D Nun zum /Wiederbeleben cmd:

    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!",pname);
    SendClientMessage(playerid, COLOR_LIGHTGREEN, string);
    GetPlayerName(playerid, pname, 256);
    format(string, 256, "Arzt %s hat dich wiederbelebt!",pname);
    SendClientMessage(i, COLOR_LIGHTGREEN, string);
    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;
    }


    So das wars,ich hoffe ich hab nix vergessen,wenn Errors kommen postet sie einfach allerdings sollte es funzen,der Wiederbelben cmd ist ohne ID sofern der Arzt 5m bei nem totenkopf Symbol ist wieder der Spieler dorthin gehohlt.
    Lob und Kritik dürfen gerne sein drum Postets in dieses Tehma rein :D
    mfg Benjamin
    © 2009-2010 by Benjamin aka InternetInk

    aha und was ist das?
    GunPrice[0][0]/100*mod,GunPrice[1][0]/100*mod,GunPrice[2][0]/100*mod,GunPrice[4][0]/100*mod,GunPrice[5][0]/100*mod,GunPrice[6][0]/100*mod,GunPrice[3][0]/100*mod);
    alle ändern in nmod,wo is das problem :pinch:

    Editier bzw Push nicht ganze zeit :pinch:
    1. respawnzeit ändern, oben isn script
    #define never 999999999999999
    und dann bei AddStaticVehicleEx hinten never reinschreiben statt-1 oder 60000
    2.Ohne Gegenleistung würd das sicher keiner machen da ich denke das das recht aufwändig ist...
    Im übrigen kann ein Nummernschild nur MAX 7 zeichen haben