Szerző Téma: Csapattárs ölés tiltása  (Megtekintve 1630 alkalommal)

Nem elérhető AweFM

  • 205
    • Profil megtekintése
Csapattárs ölés tiltása
« Dátum: 2016. december 17. - 20:56:20 »
0 Show voters
Sziasztok. Van egy haverom, akivel egy /antitk parancsot akarunk csinálni (vagyis inkább ő akar, csak ő épp fürdik és ezért én írom ki), de hiába kapcsoljuk be valamiért ugyanúgy megtudjuk ölni a csapattársunkat. Mi lehet a kódban a hiba?
 

if(ServerInfo[antiTK] == 1) {
new Float:HP;
    if(GetPlayerTeam(playerid) == GetPlayerTeam(issuerid))
    {
        GetPlayerHealth(issuerid, HP);
        SetPlayerHealth(issuerid, HP-0);
    }
}

 
 

Nem elérhető TwisT3R

  • 576
  • Küklopsz
  • Discord: TwisT3R#7833
    • Profil megtekintése
    • Firing Squad Clan
Csapattárs ölés tiltása
« Válasz #1 Dátum: 2016. december 17. - 21:13:31 »
+2 Show voters
melyik callback alatt van?

Csapattárs ölés tiltása
« Válasz #2 Dátum: 2016. december 17. - 21:17:44 »
0 Show voters
OnPlayerTakeDamage
 
 

Nem elérhető wRt

Csapattárs ölés tiltása
« Válasz #3 Dátum: 2016. december 17. - 21:26:21 »
+1 Show voters
Mert a sebzést kiosztó személy életét kéred le, valamint változtatod, ez pedig sebzést szenvedéskor hívódik meg, ezért playerid életerejét kéne lekérned, valamint az ő életerejét kéne állítanod, ugyanis ő szenvedi el a sebzést.

Csapattárs ölés tiltása
« Válasz #4 Dátum: 2016. december 17. - 21:52:09 »
0 Show voters
Nem megy, ugyan úgy meg tudom ölni a csapattársam! Valami más ötlet?
Na egy kicsit tesztelgetve, most az van, hogy mi ugye 10 hp-val toljuk, de most first killezni akartam, akkor meg működik, leugrik 3 hp-ra de utána meg vissza teszi tízre. Valakinek van valami ötlete erre?
Na még egy kis szerkesztés: Ha öljük folyamatosan 100 hp-val egymást, el kezd lefele menni, néha visszatölt, de egy idő után meg tudjuk ölni egymást.
« Utoljára szerkesztve: 2016. december 17. - 22:04:02 írta folnoraa »

Nem elérhető AweFM

  • 205
    • Profil megtekintése
Csapattárs ölés tiltása
« Válasz #5 Dátum: 2016. december 17. - 22:06:22 »
0 Show voters
Hogy érthetőbb legyen ugye az ököl kevesebb hp-t vesz le, így van ideje visszatölteni a hp-t, de ha m4-el lövünk pl akkor az ugye nagyobbat sebez, ezáltal nem tudja visszatölteni időben és meghal

Nem elérhető wRt

Csapattárs ölés tiltása
« Válasz #6 Dátum: 2016. december 17. - 22:52:55 »
0 Show voters

#include <a_samp>
new TK;
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
new Team1 = GetPlayerTeam(playerid);
new Team2 = GetPlayerTeam(issuerid);

if(TK == 1 && Team1 == Team2 && weaponid >= 0)
{
   amount = 0;
}
    return 1;
}

 
Ilyen formában?

Nem elérhető AweFM

  • 205
    • Profil megtekintése
Csapattárs ölés tiltása
« Válasz #7 Dátum: 2016. december 17. - 23:14:51 »
0 Show voters
Már annyira sem megy, mint eddig. :(

Nem elérhető wRt

Csapattárs ölés tiltása
« Válasz #8 Dátum: 2016. december 17. - 23:19:53 »
0 Show voters
Biztos hogy egy csapatban van a két játékos?
 



   
      Players can not damage/kill players on the same team unless they use a knife to slit their throat.
   

[/quote]
 
 

Csapattárs ölés tiltása
« Válasz #9 Dátum: 2016. december 17. - 23:23:16 »
0 Show voters
Biztos!

Csapattárs ölés tiltása
« Válasz #10 Dátum: 2016. december 17. - 23:41:06 »
0 Show voters
Mególdódott a probléma! :) Köszönöm a segítséged, de így sikerült: 
 
 

public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
     if(hittype==BULLET_HIT_TYPE_PLAYER)
               if(GetPlayerTeam(playerid)==GetPlayerTeam(hitid))
                           return 0;
     return 1;
}  

 
Még egyszer, köszönöm, hogy próbáltál segíteni! :) Jó éjt!
« Utoljára szerkesztve: 2016. december 17. - 23:41:32 írta folnoraa »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal