Hey, Ich habe ein server seid neustem und fuchse mich gerade bischen rein und suche gerade ein adminbefehl um jemanden wieder zu beleben wenn jemand gestorben ist
Danke schonmal
EDIT: ist jetzt drin
Hey, Ich habe ein server seid neustem und fuchse mich gerade bischen rein und suche gerade ein adminbefehl um jemanden wieder zu beleben wenn jemand gestorben ist
Danke schonmal
EDIT: ist jetzt drin
Zeig uns mal den public OnPlayerDeath. Ohne Code kann dir keiner helfen.
Einfach einen Befehl erstellen, in dem nach dem Adminrang fragst und du die "Toten" Variable wieder auf Standard (vermutlich 0) setzt, dann den Spieler neu spawnen lassen.
Beispielweise so:
ocmd:respawn(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, -1, "Du bist kein Admin!");
new pid;
if(sscanf(params, "u", pid)) return SendClientMessage(playerid, -1, "Benutze: /respawn [Name/ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, -1, "Der Angegebene Spieler konnte nicht gefunden werden!");
Tot[pid] = 0;
SpawnPlayer(pid);
return 1;
}
Mir werden diese Errors nun Angezeigt und danke erstmal für die mühe
C:\Users\User\Desktop\SFVERSION\DRP v.1.2\gamemodes\DRP.pwn(56892) : error 017: undefined symbol "Tot"
C:\Users\User\Desktop\SFVERSION\DRP v.1.2\gamemodes\DRP.pwn(56892) : error 001: expected token: ";", but found "]"
C:\Users\User\Desktop\SFVERSION\DRP v.1.2\gamemodes\DRP.pwn(56892) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\SFVERSION\DRP v.1.2\gamemodes\DRP.pwn(56892) : fatal error 107: too many error messages on one line[/pwn]
nur die zeile 56892 ist irgendwie immer error kp was ich machen kann
Du muss auch die variable nahen die zu deinem System gehört!
Guck an besten wie es unter OnPlayerDeth heißt und ersetze Tot[pid] = 0; zu das was variable[playerid] = 1; setzt
Hey, Ich habe ein server seid neustem und fuchse mich gerade bischen rein und suche gerade ein adminbefehl um jemanden wieder zu beleben wenn jemand gestorben ist
Danke schonmal
EDIT: ist jetzt drin
Dein Bild zeigt nur die Hälfte von OnPlayerDeath, nutze doch - wenn der Code solang ist - Pastebin, um uns deinen Quellcode zu zeigen, dann können wir dir auch sagen, wie die Variable bei dir heißt.
Function OnPlayerDeath(playerid, killerid, reason)
{
GW_OnPlayerDeath(playerid, killerid, reason);
M_OnPlayerDeath(playerid,killerid,reason);
new name[MAX_PLAYER_NAME];
new string[256];
PlayerInfo[playerid][pInvWeapon] = 0;
PlayerInfo[playerid][pInvAmmo] = 0;
PlayerInfo[playerid][pInvWeapon2] = 0;
PlayerInfo[playerid][pInvAmmo2] = 0;
if(OnDuty[playerid] == 1){ OnDuty[playerid] = 0; }
PlayerInfo[playerid][pHarndrang] = 0;
PlayerInfo[playerid][pHunger] = 0;
new playercash;
new victimteam;
new killerteam;
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(GetPlayerWeapon(playerid) == 30){ //ak47
Ak47Drop= CreatePickup(355,4,x,y,z);
}
else if(GetPlayerWeapon(playerid) == 31){ //m4
M4Drop= CreatePickup(356,4,x,y,z);
}
else if(GetPlayerWeapon(playerid) == 24) { //Deagle
DeagleDrop = CreatePickup(348,4,x,y,z);
}
else if(GetPlayerWeapon(playerid) == 29) { //Mp5
Mp5Drop = CreatePickup(353,4,x,y,z);
}
if(PlayerInfo[playerid][pLevel] > 1 && KHSperre[playerid] == 0 && PlayerInfo[playerid][pJailed] == 0 && PlayerInfo[playerid][pGangJailed] == 0 && PlayerPaintballing[playerid] == 0)
{
PlayerInfo[playerid][pTot] = 1;
}
if(gPlayerUsingLoopingAnim[playerid])
{
gPlayerUsingLoopingAnim[playerid] = 0;
// TextDrawHideForPlayer(playerid,txtAnimHelper);
}
if(BlindFold[playerid] == 1)
{
BlindFold[playerid] = 0;
}
if(PlayerInfo[playerid][pMauled] == 1)
{
PlayerInfo[playerid][pMauled] = 0;
}
InCargo[playerid] = 0; InLevi[playerid] = 0; InEnfo[playerid] = 0;
if(FirstSpawn[playerid] == 1)
{
FirstSpawn[playerid] = 0;
}
if(IsBlacklist[playerid]==1)
{
ClearBlack(playerid);
IsBlacklist[playerid]=0;
}
if(IsPlayerConnected(killerid) && !isFight[killerid])
{
new playerfaction = GetPlayerFaction(playerid);
new killerfaction = GetPlayerFaction(killerid);
for(new war;war<MAX_WARS;war++)
{
if(WarInfo[killerfaction][war] && WarInfo[killerfaction][war] == playerfaction)
{
GameTextForPlayer(killerid,"~g~GANGWAR - KILL",4444,3);
GameTextForPlayer(playerid,"~r~GANGWAR - KILL",4444,3);
isFight[killerid] = 2;
break;
}
if(WarInfo[playerfaction][war] && WarInfo[playerfaction][war] == killerfaction)
{
GameTextForPlayer(killerid,"~g~GANGWAR - KILL",4444,3);
GameTextForPlayer(playerid,"~r~GANGWAR - KILL",4444,3);
isFight[killerid] = 2;
break;
}
}
Im Befehl:
Tot[pid] = 0;
zu
PlayerInfo[pid][pTot] = 0;
Danke der /respawn befehl klappt jetzt nur man ist gefreezt wenn man wiederbelebt wurde kann man das ändern das man automatisch endfreezt wird?
Danke der /respawn befehl klappt jetzt nur man ist gefreezt wenn man wiederbelebt wurde kann man das ändern das man automatisch endfreezt wird?
TogglePlayerControllable(target, 1);
Oder so ähnlich halt. So kannst du jemanden entfreezen.
er erkennt das wort target nicht
Ist ja klar, du musst es auch an deinen Respawn Befehl anpassen.
Wenn du den Befehl von oben benutzt, ersetz target mit pid.
TogglePlayerControllable(pID, 1);
ocmd:respawn(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, -1, "Du bist kein Admin!");
new pid;
if(sscanf(params, "u", pid)) return SendClientMessage(playerid, -1, "Benutze: /respawn [Name/ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, -1, "Der Angegebene Spieler konnte nicht gefunden werden!");
PlayerInfo[pid][pTot] = 0;
TogglePlayerControllable(pID, 1);
SpawnPlayer(pid);
return 1;
}
Danke jetzt klappt alles