?

Mehr Infos wie
Größe
Was für Bilder sollten verwendet werden
Soll eine Farbe bevorzugt werden (vllt um sich mit restlichen Desing zu verschmelzen oderso xD)
Halt mehr infos
bzw Ich mach dir keinen hatte nur Lust das jez zu posten ![]()
?

Mehr Infos wie
Größe
Was für Bilder sollten verwendet werden
Soll eine Farbe bevorzugt werden (vllt um sich mit restlichen Desing zu verschmelzen oderso xD)
Halt mehr infos
bzw Ich mach dir keinen hatte nur Lust das jez zu posten ![]()
Ich bevorzuge auch Variante Nr.1 ![]()
Jo meinte damit das man z.B anch login stirbt um das zu verhindern den code so ändern wie ichs gepsotet hab ![]()
Ersetz die PlayerInfo Variabeln durch neue
ganz oben z.B
pTot[MAX_PLAYERS];
pTx[MAX_PLAYERS];
pTy[MAX_PLAYERS];
//usw
und dann halt
if(bla..
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
ptx[playerid] = pX;
pty[playerid] = pY;
ptZ[playerid] = pZ;
pTot[playerid] = 1;So in etwa,bei onplayerconnect alles auf 0 setzen...
@ AlexandA Joa hatte keine Lust alles zu erklären
Aber hat recht gehört mehr in Showroom ![]()
Zum Speichern,kann man eigentlich auch selbst drauf kommen...
OnPlayerRegister:
format(var, 64, "IstTot=%d\n",PlayerInfo[playerid][pTot]);fwrite(hFile, var);
OnPlayerLogin:
if( strcmp( key , "Ist Tot" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTot] = strval( val ); }
OnPlayerUpdate:
format(var, 32, "Ist Tot=%d\n",PlayerInfo[playerid][pTot]);fwrite(hFile, var);
So und das man direkt am Anfang Stirbt:
Ganz Oben ins Script
new FirstSpawn[MAX_PLAYERS];
Und Bei OnPlayerConnect
FirstSpawn[playerid] = 1;
Bei OnPlayerdeath das alte mit dem ersetzen:
if(PlayerInfo[playerid][pTut] == 1 && FirstSpawn[playerid] == 0)
{
PlayerInfo[playerid][pTot] = 1;
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
TotenKopf[playerid][0] = CreatePickup(1254,1, pX, pY, pZ);
PlayerInfo[playerid][pTx] = pX;
PlayerInfo[playerid][pTy] = pY;
PlayerInfo[playerid][pTz] = pZ;
}
if(FirstSpawn[playerid] == 1)
{
FirstSpawn[playerid] = 0;
}
Haste das vergessen?
Ganz oben ins script:
forward TOTTimer();
Hab die Probleme nich...
Nur die Speicherfunktion fehlt noch sprich wenn einer Einfach während seinem Tot raus geht und dann wieder Server joint
Joa hatte ich keine Lust zu ![]()
hm normalerweise müste das gehn guck ma obs so geht...
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 Verletzungnen 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;
}
else if(PlayerInfo[playerid][pTot] == 0)
{
DestroyPickup(TotenKopf[playerid][0]);
}
return 1;//schon vorhanden NICHT doppelt reinmachen!
}//schon vorhanden NICHT doppelt reinmachen!
ah jo, machst einfach:
public OnPlayerDisconnect(playerid)
{
DestroyPickup(TotenKopf[playerid][0]);
Äh, nein? Das hab ich komplett selbst gescriptet ![]()
Haste kurz Teamviewer?
keine zeit sry,musste einfach nur einfügen...
@ Alle anderen, danke ![]()
HAste ne klammer vergessen oder zu viel gemacht ![]()
wie haste es denn eingefügt?
Geht alles Perfekt habe keine errors aber habe noch ne Frage.
Der Spawnt während dem Tod bei mir im Himmel aber wie mache ich das wenn er versucht abzuhauen und zuweit weggeht das er mit diesem "World Bounse" oder wie das heißt zurück geschleudert wird wie so ne Gummi mauerOder das er zurück geportet wird nach nehm bestimmten Radius.
MFG Alex
SetPlayerWorldBounds(playerid,max x,min x,max y,min y);
Musste mit/save und den X und Y werten ein viereck bzw rechteck bilden
um wieder zu reseten
SetPlayerWorldBounds(playerid,20000.0000,-20000.0000,20000.0000,-20000.0000); //Reset world to player
so is gepostet muss nurnoch freigeschaltet werden ![]()
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