Sistema CRAFT Ayuda -
MAST3R - 04.08.2017
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;
}
Re: Sistema CRAFT Ayuda -
pabloalber84ban - 05.08.2017
Код:
if(IsValidPlayerObject(playerid, hitid)) {
Los muebles que tu usas no son playerobjects, sino objects.
Respuesta: Sistema CRAFT Ayuda -
MAST3R - 13.08.2017
IsValidObject(objecid,hitid tendre problemas en onplayershot
Re: Sistema CRAFT Ayuda -
pabloalber84ban - 13.08.2017
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.