Hallo Breadfish
Ich habe versucht ein medic Heal System zu scripten aber es funktioniert nicht.
Möchte es so haben dass ein Medic einen Spieler heilen kann wenn er sich in seiner Nähe befindet.
Er muss nicht im Krankenwagen sitzen. Ich freue mich auf eure Hilfe
if(strcmp(cmd, "/mheal", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pTot] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Tote können keine Befehle nutzen!");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /mheal [ID/NAME] [Preis]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 1000) { SendClientMessage(playerid, rot, "Der Preis darf nicht weniger als 1$ und höher als 100$ sein!"); return 1; }
if (giveplayerid == playerid)
{
SendClientMessage(playerid,rot, "Du kannst dich nicht selber Heilen!");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new giveambu = GetPlayerVehicleID(giveplayerid);
new playambu = GetPlayerVehicleID(playerid);
if(gTeam[playerid] == TEAM_CYAN||PlayerInfo[playerid][pMember]==4||PlayerInfo[playerid][pLeader]==4)//model
{
if (IsAnAmbulance(playambu) && playambu == giveambu)
{
new Float:tempheal;
GetPlayerHealth(giveplayerid,tempheal);
if(tempheal >= 99.0)
{
SendClientMessage(playerid,rot,"Dieser Spieler hat genug Leben.");
return 1;
}
format(string, sizeof(string), "~y~Geheilt $%d", giveplayer,moneys);
GameTextForPlayer(playerid, string, 2000, 1);
GivePlayerMoney(playerid,moneys);
GivePlayerMoney(giveplayerid,-moneys);
new hp = 0;
if(PlayerInfo[playerid][pPainPerk] > 0)
{
hp = 20 * PlayerInfo[playerid][pPainPerk]; hp += 100;
SetPlayerHealth(giveplayerid, hp);
}
else
{
hp = 100;
SetPlayerHealth(giveplayerid, 100);
}
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0);
format(string, sizeof(string), "Du wurdest für {009933}$%d {FFFFFF}geheilt.",moneys);
ClearAnimations(giveplayerid);
SendClientMessage(giveplayerid,COLOR_WHITE,string);
if(STDPlayer[giveplayerid] > 0)
{
STDPlayer[giveplayerid] = 0;
SendClientMessage(giveplayerid, COLOR_WHITE, "Du bist nun nicht mehr an Ebola erkrankt. Die Ärzte konnten dich retten!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nicht im Krankenwagen");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, " Du bist kein Medic Mitglied");
return 1;
}
}
}
else
{
format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}