Jump to content

script 0.3d Anti-Godmode


ffredyk

Recommended Posts

  • Majitel

Absolutně vypne godmód..

Žádný kontroly, žádný bany, prostě a jedonduše cheaterovi nebude fungovat godmód :)

 

#define MP 50 //Počet hráčů

new HP[MP];

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
HP[playerid] -= amount; //Zjištění zdraví
if(HP <= 0) SetPlayerHealth(playerid,0); //Zabití hráče
   return 1;
}

public OnPlayerSpawn(playerid)
{
HP[playerid] = 100; //Hodnota zdraví
}

 

//Kód vylepšen, není šance na obelhaní

 

Edit by QWER

 

Odporúčam ešte

stock SetPlayerHealthEx(playerid,Float:hp){
new Float:a;
GetPlayerArmour(playerid,a);
SetPlayerHealth(playerid,hp);
HP[playerid] = floatround(hp, floatround_ceil)+floatround(a, floatround_ceil);
}

stock SetPlayerArmourEx(playerid,Float:hp){
new Float:a;
GetPlayerHealth(playerid,a);
SetPlayerArmour(playerid,hp);
HP[playerid] = floatround(hp, floatround_ceil)+floatround(a, floatround_ceil);
}

a miesto SetPlayerHealth používať SetPlayerHealthEx ;) tak by sa nemala stať žiadna chyba

Link to comment
Share on other sites

  • Majitel
Nó jeto dobrý ale zase když skočím ze vzduchu (menší budovy)

Tak bymito ubralo pulku života,ale když dám do GM tohle tak okamžitá smrt.

 

Nauč se pawn a pak kritizuj :d

Link to comment
Share on other sites

Nó jeto dobrý ale zase když skočím ze vzduchu (menší budovy)

Tak bymito ubralo pulku života,ale když dám do GM tohle tak okamžitá smrt.

 

Nauč se pawn a pak kritizuj :d

Ale nó,poslal jsemto jen kazlikovi

 

Ale co,jeto pravda.TakeDamage -smrt(ale když ho někdo střelí)

Link to comment
Share on other sites

ツOnO97★ vieš vlastne pawn ? Nič také tam není

 

 

btw Ffredyk ? skúšal si to ? niesom si istý ale podľa mňa sa ten public nevyvolá ak má hráč god mod (freeznuty health) lebo mu neubudne health

Link to comment
Share on other sites

ツOnO97★ vieš vlastne pawn ? Nič také tam není

 

 

btw Ffredyk ? skúšal si to ? niesom si istý ale podľa mňa sa ten public nevyvolá ak má hráč god mod (freeznuty health) lebo mu neubudne health

Ale tam je: Float:amount, weaponid

Čiže získá id zbrane kterou byl postřelen-ale níže se píše: if(HP <= 0) SetPlayerHealth(playerid,0); //Zabití hráče

A jestly správně chápu tak

Má život 0 nebo méňe NastavitHráčiŽivot(playerid,0);

 

Nmh toje divny...

Vysvetlite mi nékdo co dělá

if(HP <= 0)

Získá život a získá jestly je 0nebo menší ne?

Link to comment
Share on other sites

  • Majitel
ツOnO97★ vieš vlastne pawn ? Nič také tam není

 

 

btw Ffredyk ? skúšal si to ? niesom si istý ale podľa mňa sa ten public nevyvolá ak má hráč god mod (freeznuty health) lebo mu neubudne health

Ale tam je: Float:amount, weaponid

Čiže získá id zbrane kterou byl postřelen-ale níže se píše: if(HP <= 0) SetPlayerHealth(playerid,0); //Zabití hráče

A jestly správně chápu tak

Má život 0 nebo méňe NastavitHráčiŽivot(playerid,0);

 

Nmh toje divny...

Vysvetlite mi nékdo co dělá

if(HP <= 0)

Získá život a získá jestly je 0nebo menší ne?

 

Je tam proměnná.. Která se resetuje na 100 při každém spawnutí hráče.. Při každém dmg způsobeném hráči, se způsobený dmg odečte od HP proměnné.. Čímž, jakmile má hráč umřít a neumřel, tak ho script donutí..

 

QWER jo funguje to..

Link to comment
Share on other sites

ツOnO97★ vieš vlastne pawn ? Nič také tam není

 

 

btw Ffredyk ? skúšal si to ? niesom si istý ale podľa mňa sa ten public nevyvolá ak má hráč god mod (freeznuty health) lebo mu neubudne health

Ale tam je: Float:amount, weaponid

Čiže získá id zbrane kterou byl postřelen-ale níže se píše: if(HP <= 0) SetPlayerHealth(playerid,0); //Zabití hráče

A jestly správně chápu tak

Má život 0 nebo méňe NastavitHráčiŽivot(playerid,0);

 

Nmh toje divny...

Vysvetlite mi nékdo co dělá

if(HP <= 0)

Získá život a získá jestly je 0nebo menší ne?

 

Je tam proměnná.. Která se resetuje na 100 při každém spawnutí hráče.. Při každém dmg způsobeném hráči, se způsobený dmg odečte od HP proměnné.. Čímž, jakmile má hráč umřít a neumřel, tak ho script donutí..

 

QWER jo funguje to..

To vím co délá to spawnutý ale neznamena

if(HP <= 0) že když má hp 0 nebo menší tak smrt?

Link to comment
Share on other sites

keď je premena menšia alebo rovná 0 zabije hráča omfg

 

Predstav si to takto, máš deagle a teraz má niekto god mod (spawnol sa, takže má premena "HP[idhraca]" hodnotu 100) a ty do neho 2x strelíš, jemu nevezme health, ale premenu mu vezme, a strelíš 3x (1 výystrel deagle = -40% cca) a potom keď má premenu menšiu ako 0, tak ho to zabije omfg...

Link to comment
Share on other sites

keď je premena menšia alebo rovná 0 zabije hráča omfg

 

Predstav si to takto, máš deagle a teraz má niekto god mod (spawnol sa, takže má premena "HP[idhraca]" hodnotu 100) a ty do neho 2x strelíš, jemu nevezme health, ale premenu mu vezme, a strelíš 3x (1 výystrel deagle = -40% cca) a potom keď má premenu menšiu ako 0, tak ho to zabije omfg...

 

´Dekujem,pochopil som.

Link to comment
Share on other sites

HP[playerid] = floatsub(HP[playerid],amount);

by som spravil

 

HP[playerid] -= amount;

A zabudol si

 

stock SetPlayerHealthEx(playerid,Float:hp){

new float:a;

GetPlayerArmour(playerid,a);

SetPlayerHealth(playerid,hp);

HP[playerid] = floatround(hp, floatround_ceil)+floatround(a, floatround_ceil);

}

&

stock SetPlayerArmourEx(playerid,Float:hp){

new float:a;

GetPlayerHealth(playerid,a);

SetPlayerArmour(playerid,hp);

HP[playerid] = floatround(hp, floatround_ceil)+floatround(a, floatround_ceil);

}

takže ak máte na spawne že dá hráčovy vestu musíte mať

HP[playerid] = 200;

a nie 100...

Link to comment
Share on other sites

  • 4 months later...

Blbost jednoduše si udělám funkci na přidávání hp pod vlastní proměnou a pokud aktuální stav hp bude vyšší než odebrané hp nastavíme hodnotu s proměnou odebrané hp

a automaticky budeme kontrolovat hodnotu právého hp které si ukládáme do proměné tak při hodnotě 0 budeme usmrcovat hráče

Link to comment
Share on other sites

  • Majitel
niesom si dva krát istý, že tam sa vyvolá ale možno časom vyskúšam

 

Musí, jelikož ten public je vyvolaný hráčem, který střílel.

Link to comment
Share on other sites

ale sobeit god mod nepridáva HP, iba ho freezne...

 

 

právě proto nastavujeme hp do proměnné a kontrolujeme zda není hodnota mensí než 0.1 pokud ano je hráč 100% usmrcen protože mu v tu chvíli nastavíme hp na 0.0 a hráč umře

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Pokud ma hrac GodMod tak se OnPlayerTakeDamage vubec nevyvola...


Stačí předělat na OnPlayerGiveDamage

Neměl by to být žádný problém :)

Tak treba problem se synchronizaci :d

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...