public enticheat(playerid)
{
new health = GetPlayerHealth(playerid);
for(new i; i<MAX_PLAYERS; i++)
{
SetPlayerHealth(i, health-1 );
if (health == 100)
{
Kick(playerid);
}
return 1;
}
Würde das als Anti-Godmode gehen?
public enticheat(playerid)
{
new health = GetPlayerHealth(playerid);
for(new i; i<MAX_PLAYERS; i++)
{
SetPlayerHealth(i, health-1 );
if (health == 100)
{
Kick(playerid);
}
return 1;
}
Würde das als Anti-Godmode gehen?
Nein das geht nicht
Godmode wiedersetzt sich nicht gegen SetPlayerHealth
Wenn ich mich nicht irre hat Godmode 10000 hp
Wenns nicht stimmt verbessert mich
MFG
Wenn ich mich nicht irre hat Godmode 10000 hp
Wenns nicht stimmt verbessert mich
MFG
Godmode setzt nur die Leben wenn man sie durch Schaden verliert wieder auf 100
Also, ich will jetzt jede Sekunde dem Spieler 1Health abzeihen lassen und dann übverprüfen, wenn er dann immer noch 100HP hat, soll der Server ihn Kicken.
Wie mache ich des dann, damit der Server es merkt?
Im Grunde genommen müsste das klappen, allerdings ist s0beit dagegen selbst geschützt und lässt die Gesundheit vom Server manipulieren.
Am besten irgendwohin porten, sein Health auf 100 setzen (vorher das aktuelle speichern) und dann eine Explosion dort erstellen und kurze Zeit später das Health abchecken.
Geht das danna uch so:
public anticheat(playerid)
{
new health = GetPlayerHealth(playerid);
for(new i; i<MAX_PLAYERS; i++)
{
SetPlayerHealth(i, health-1 );
if (health == 100)
{
Kick(playerid);
}
new health = GetPlayerHealth(playerid);
for(new i; i<MAX_PLAYERS; i++)
{
SetPlayerHealth(i, health+1 );
return 1;
}
nein das geht eben nicht
Aber wie soll ich es amchen, dass er immer 1% vom Health abziet überprüft und dann wieder +1 Health dazu gibt.?
du setzt ihm 100 HP
du machst bei ihm CreateExplosion
nach einer sekunde+1millisekunde, frägst du ab ob er 100HP hat, wenn ja >>Godmode
Ein Beispiel:
if(strcmp(cmd, "/godmode", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Grau, "/godmode [Playerid]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(AdminDuty[giveplayerid] == 1)
{
SendClientMessage(playerid, COLOR_GRAD1, "An Admins im Admindienst kannst du keinen GM Check machen");
return 1;
}
if(IsPlayerConnected(giveplayerid))
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "AdmCMD: %s wurde auf Godmode getestet von %s",giveplayer, sendername);
AdminNachricht(COLOR_LIGHTRED,string,1);
new Float:boomx, Float:boomy, Float:boomz;
GetPlayerPos(giveplayerid,boomx, boomy, boomz);
SetPlayerHealth(giveplayerid, 100);
SetPlayerArmour(giveplayerid, 0);
CreateExplosion(boomx, boomy , boomz, 7, 10);
SetTimerEx("GodModeCheck", 1500, 0, "d", giveplayerid);
}
else
{
format(string, sizeof(string), "%d ist nicht online.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du kannst diesen Befehl nicht benutzen!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du musst eingelogt sein um den Befehl nutzen zu können!");
}
return 1;
}
Function GodModeCheck(playerid)
{
new Float:Leben2;
GetPlayerHealth(playerid, Leben2);
if(Leben2 >= 99)
{
HackShieldBan(playerid,"Godmode");
}
else
{
SetPlayerHealth(playerid,100);
}
return 1;
}
Habe etwas versucht:
dcmd_scan(playerid, params[])
{
#pragma unused params
if(Player[playerid][admin] < 2){
return SendClientMessage(playerid,COLOR_RED,"You must be a Admin or higher for this Command");
}
new idscan;
if(sscanf(params, "u", idscan)) return SendClientMessage(playerid, 0xFFFFFF, "/scan [ID]");
{
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new Float:boomx, Float:boomy, Float:boomz;
GetPlayerPos(giveplayerid,boomx, boomy, boomz);
SetPlayerHealth(giveplayerid, 100);
SetPlayerArmour(giveplayerid, 0);
CreateExplosion(boomx, boomy , boomz, 7, 10);
SetTimerEx("GodModeCheck", 1500, 0, "d", giveplayerid);
}
return 1;
}
Function GodModeCheck(playerid)
{
if(Leben2 >= 99)
{
Ban(playerid,"Godmode");
}
else
{
SetPlayerHealth(playerid,100);
}
return 1;
}
Da kommt aber das:
error 010: invalid function or declaration
error 010: invalid function or declaration
error 010: invalid function or declaration
error 021: symbol already defined: "JBC_SetPlayerHealth"
error 010: invalid function or declaration
warning 203: symbol is never used: "dcmd_scan"
warning 203: symbol is never used: "ret_memcpy"