Silenced pistol


Započeo Neckiy, Novembar 08, 2021, 15:31:08 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Jel neko moze da mi objasni kako funkcionise ono da pistolj sa prigusivacem ne moze npr da ubija nego da bude tazer ili da moze samo npc-eve da ubija i to. Ako ima neki callback ili plugin posto nmg da nadjem na netu
Deo skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Poslednja Izmena: Novembar 10, 2021, 15:36:30 POSLE PODNE od M Ө M Σ N Z I
Mnogo ljudi mi govori da sam autistican.
U pravu su...

promenis u
OnPlayerDamage// OnPlayerTakeDamage moze da ti bude

da ne tazuje igraca vec samo npc-eve da ubija

Nista komplikovano, to funkcionise za bilo koje oruzije.

Ako ces da neko oruzije ne deluje damage na igraca, samo vratis 0

Evo par primera :

public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {

	if(weaponid == WEAPON_SILENCED) return 0; //Ukoliko igrac upuca bilo koga sa silenced pistoljem, nece mu naneti damage

	if(bodypart == 9) { //Jos jedan primer ako ga upuca u glavu

		SendClientMessage(playerid, -1, "Ne smes da pucas igrace u glavu!"); //izbaci poruku
		return 0; //vratimo 0 da ne bi dilalo damage na igraca
	}

	return 1;
}


Primer za tazer bi bio nesto na ovaj fazon :

public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {

	//Uzecemo za primer da je organizacija policija ID 1

	if(PlayerInfo[playerid][xClan] == 1 && PlayerInfo[damagedid][xClan] != 1 && damagedid != INVALID_PLAYER_ID) {

		//Ovde iznad smo napravili proveru ako je ovaj sto daje dmg u pd-u i ako ovaj sto prima dmg nije
		if(PlayerInfo[damagedid][xWanted] >= 1 && GetPlayerWeapon(playerid) == WEAPON_SILENCED) { //Ako ima wanted ovaj sto prima dmg i ako ovaj ima silenced pistolj

			TogglePlayerControllable(damagedid, false); //Freezamo igraca koji prima dmg
			SendClientMessage(playerid, -1, "Tazovao si igraca!");
			SendClientMessage(damagedid, -1, "Igrac te je tazovao!");

			//Izbaci poruke, postavi promenljive ili sta vec hoces

			return 0; //Da ne prima dmg
		}
	}

	return 1;
}


A sto se npc-a tice ili actora, u zavisnosti sta koristis drugacije je :

Za actora koristis OnPlayerGiveDamageActor ili OnPlayerGiveDamageDynamicActor ( ovaj primer imas u Balkan Evolution modu koji je objavljen ovde )

Za NPC-a ako koristis FCNPC include, sto je moja topla preporuka, koristis FCNPC_OnTakeDamage ( ovaj primer sam radio u Miami Street modu sto imas negde na forumu ovom )