[Duda]Aumentar el daсo de un arma.
#1

Buenas, chicos quisiera saber como hacer que al pegarle a alguien con una katana enves de quitarle 10 de hp al jugador le quite 100, osea que lo mate de un solo katanaso .-. pero que esto no funcione con los de tu equipo ejemplo:

Supongamos que Juan, Pedro y Pancho estan jugando en mi sv, pero Juan y Pedro estan en el equipo policias y Pancho en el equipo Groove, Juan se compro una katana que mata de un solo golpe pero como el es muy troll comienza a pegarle a Pedro con la katana (Pedro esta en el mismo equipo que Juan) y lo mata con la katana(algo que no deberia suceder). Lo que quiero llegar a entender con esto es que no quiero que Juan mate a Pedro con la katana por la razon de que estan en el mismo equipo pero quiero que mate a Pancho ya que el esta en otro equipo.

espero que me puedan ayudar y perdon por la redundancia
Reply
#2

Es fбcil, ahora, їquй es lo que querйs exactamente? їquerйs que se le quite completamente la vida (es decir, establecerle йsta a un valor de 0), o bien, que se le quite 100 de vida o chaleco (por ejemplo, si tiene 78 de chaleco y 100 de vida, al quitarle 100 en total, se le quitarнa los 78 del chaleco mбs el resto, que serнan 22 para la vida, con lo que quedarнa en 78 )? Tenй en cuenta que en la segunda opciуn, si por alguna razуn hay una forma de conseguir mбs de 100 de vida, al tener por ejemplo 120 de vida, al restarle 100 le quedarнa la misma en 20.

Especificб eso y yo te ayudo.

De igual forma, tenйs que usar la callback OnPlayerTakeDamage, y ahн utilizar las funciones SetPlayerHealth y GetPlayerHealth, SetPlayerArmour y GetPlayerArmour, y un condicional que involucre las variables de equipo.
Reply
#3

Quote:
Originally Posted by DeadSkyTkb
Посмотреть сообщение
Es fбcil, ahora, їquй es lo que querйs exactamente? їquerйs que se le quite completamente la vida (es decir, establecerle йsta a un valor de 0), o bien, que se le quite 100 de vida o chaleco (por ejemplo, si tiene 78 de chaleco y 100 de vida, al quitarle 100 en total, se le quitarнa los 78 del chaleco mбs el resto, que serнan 22 para la vida, con lo que quedarнa en 78 )? Tenй en cuenta que en la segunda opciуn, si por alguna razуn hay una forma de conseguir mбs de 100 de vida, al tener por ejemplo 120 de vida, al restarle 100 le quedarнa la misma en 20.

Especificб eso y yo te ayudo.

De igual forma, tenйs que usar la callback OnPlayerTakeDamage, y ahн utilizar las funciones SetPlayerHealth y GetPlayerHealth, SetPlayerArmour y GetPlayerArmour, y un condicional que involucre las variables de equipo.
Tambiйn podrнa usar OnPlayerWeaponShot.
Reply
#4

Quote:
Originally Posted by DeadSkyTkb
Посмотреть сообщение
Es fбcil, ahora, їquй es lo que querйs exactamente? їquerйs que se le quite completamente la vida (es decir, establecerle йsta a un valor de 0), o bien, que se le quite 100 de vida o chaleco (por ejemplo, si tiene 78 de chaleco y 100 de vida, al quitarle 100 en total, se le quitarнa los 78 del chaleco mбs el resto, que serнan 22 para la vida, con lo que quedarнa en 78 )? Tenй en cuenta que en la segunda opciуn, si por alguna razуn hay una forma de conseguir mбs de 100 de vida, al tener por ejemplo 120 de vida, al restarle 100 le quedarнa la misma en 20.

Especificб eso y yo te ayudo.

De igual forma, tenйs que usar la callback OnPlayerTakeDamage, y ahн utilizar las funciones SetPlayerHealth y GetPlayerHealth, SetPlayerArmour y GetPlayerArmour, y un condicional que involucre las variables de equipo.
mmm me diste otra forma de verlo pero me quedo que al darle con la katana no tome en cuenta el chaleco que si el jugador tiene 100 de chaleco y 100 de hp que igual muera de un solo golpe osea quedaria con 100 de chaleco y 0 de hp xd
Reply
#5

їQuй variables de equipo tenйs?
Reply
#6

Quote:
Originally Posted by DeadSkyTkb
Посмотреть сообщение
їQuй variables de equipo tenйs?
para identificar a un equipo uso gTeam .-.
Reply
#7

Te envio el codigo en mensaje privado.
Reply
#8

Ya se como modificar el daсo de una arma, pero me falta que alguien de mi mismo equipo no reciba el daсo modificado.

Quien me explica como hacer esto se lo agradecerнa mucho.
Reply
#9

Si usбs OnPlayerTakeDamage:

playerid: El jugador que recibe el daсo.
issuerid: El jugador que produce el daсo.

Tenйs que crear una condicional que compare si el playerid tiene el mismo equipo que el issuerid (mismo valor de la variable gTeam), y, de ser asн, que el daсo no se efectъe. Es simple.

Te dejo mi sistema de daсos, que si bien no es especнficamente lo que necesitбs, te puede servir para experimentar otras cosas quieras hacer usando esa callback (si es que la usaste) ya que es bastante extenso.

https://sampforum.blast.hk/showthread.php?tid=503642
Reply
#10

Es mucho mas sencillo poner esto en OnPlayerSpawn

pawn Код:
SetPlayerTeam(playerid, gTeam[playerid]);
Luego basate en el sistema de daсos de DeadSkyTkb

Edit:lo que hace esa funcion es un antiteamkill para que no se maten entre si los de un mismo team
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)