[Off] Sistema CRAFT Ayuda
#1

Hola compaсeros de samp forums necesito ayuda con un sistema de craft que e estado haciendo con ayuda de samp forums lo que es estado haciendo e puesto una variable de vida objeto = 100
para cuando dispares se disminuya la vida con (random) pero tengo complicaciones
Estoy intentando solucionar el problema QUE NO DETECTA AL OBJETO QUE ESTOY DISPARANDO por mientras que contestan no se si contestaran pero lo intentare
siempre ha pasado asi aveces lo soluciono otras veces necesito ayuda . a ver si tengo suerte.
Код:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
	if(hittype == BULLET_HIT_TYPE_PLAYER_OBJECT) {
	if(IsValidPlayerObject(playerid, hitid)) {
 	if(PlayerObjectDamage[playerid][hitid] == true) {
	PlayerObjectHP[playerid][hitid] -= random(50) + 1;
	if(PlayerObjectHP[playerid][hitid] >= 0) {
 	new str[128];
  	format(str, sizeof(str), "~G~DAMAGE:!~N~~Y~OBJECT ID ~W~: ~R~ %d~N~~Y~HP~W~: ~R~ %d", hitid, PlayerObjectHP[playerid][hitid]);
   	GameTextForPlayer(playerid, str, 1800, 3);
	}
	if(PlayerObjectHP[playerid][hitid] <= 0) {
 	DestroyPlayerObject(playerid, hitid);
	}
	}
	}
	}
	return 1;
}
Код:
	for(new i; i< MAX_MUEBLES; i++) {
	    if(!IsValidPlayerObject(playerid, i)) continue;
	    PlayerObjectHP[playerid][i] = 100; 
    }
	return 1;
}
Код:
stock CrearMueble(playerid, idm, ObjectoHP, Float:xs, Float:ys, Float:zs, Float:rotax, Float:rotay, Float:rotaz)
{
	if(ConteoMuebles <= MAX_MUEBLES)
	{
        Datamuebles[ConteoMuebles][idmuebless] = CreateObject(idm, xs, ys, zs, rotax, rotay, rotaz);
        Datamuebles[ConteoMuebles][idma] = idm;
        Datamuebles[ConteoMuebles][posx] = xs;
        Datamuebles[ConteoMuebles][posy] = ys;
        Datamuebles[ConteoMuebles][posz] = zs;
        Datamuebles[ConteoMuebles][rotx] = rotax;
        Datamuebles[ConteoMuebles][roty] = rotay;
        Datamuebles[ConteoMuebles][rotz] = rotaz;
        Datamuebles[ConteoMuebles][ObjectHP] = ObjectoHP;
        strmid(Datamuebles[ConteoMuebles][Nombre], PlayerName(playerid), 0, strlen(PlayerName(playerid)));
        SendClientMessage(playerid, -1, "Mueble creado exitosamente!");
	}
	else return SendClientMessage(playerid, -1, "Hubo un error al crear el mueble.");
	return 1;
}


Reply
#2

Код:
if(IsValidPlayerObject(playerid, hitid)) {
Los muebles que tu usas no son playerobjects, sino objects.
Reply
#3

IsValidObject(objecid,hitid tendre problemas en onplayershot
Reply
#4

https://sampwiki.blast.hk/wiki/BulletHitTypes
https://sampwiki.blast.hk/wiki/IsValidObject

Tu array "PlayerObjectHP" solo aplica para los objectos del jugador, no para los objetos creados con "CreateObject".
https://sampforum.blast.hk/showthread.php?tid=488317

Te dejo un tutorial, esta en ingles, pero sirve para lo que quieres hacer.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)