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 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
mfg Benjamin
© 2009-2010 by Benjamin aka InternetInk