Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: c0x poslato Decembar 02, 2017, 18:03:01 POSLE PODNE

Naslov: Treba mi pomoc oko posao Lovac
Poruka od: c0x poslato Decembar 02, 2017, 18:03:01 POSLE PODNE
Skripta koju koristim: RG
Detaljan opis problema: Hteo sam napraviti posao lovca,ali sam samo napravio komandu lovi cisto da testiram pa bih posle dovrsio posao... Medjutim, kada ukucam komandu /lovi sve je u redu ali kada pogodim Srnu ne desava se nista...
Dio skripte: Komanda /lovi
CMD:lovi(playerid, params[])
{
if(hIgracUlogovan[playerid] == 0) return Error(playerid,"Moras se ulogovati da bi koristio komandu!");
if(IsPlayerInAnyVehicle(playerid)) return Error(playerid,"Ne mozes iz vozila!");
if(Lovi[playerid] == 1) return Error(playerid,"Vec lovis!");
new HighestPlayerId = GetPlayerPoolSize();
for(new i = 0; i <= HighestPlayerId; i++)
{
    if(IsPlayerConnected(i))
    {
        if(hIgracUlogovan[playerid] == 1)
        {
            if(Lovi[i] == 1)
            {
                Error(playerid,"Neko vec lovi!");
                return true;
            }
        }
    }
}
INFO(playerid,"Zapoceli ste lov na srne, imate 2 minuta da nadjete i upucate srnu.");
Lovi[playerid] = 1;
GivePlayerWeaponEx(playerid, 33, 2);
KillTimer_H(lovitimer[playerid]);
lovitimer[playerid] = SetTimerEx("LoviCovek", 121000, false, "i", playerid);
DestroyObject(Srna[playerid]);
new rand = random(sizeof(DeerPositions));
Srna[playerid] = CreateObject(19315, DeerPositions[rand][0], DeerPositions[rand][1], DeerPositions[rand][2], 0, 0, 0);
return 1;
}

public LoviCovek
forward LoviCovek(playerid);
public LoviCovek(playerid)
{
KillTimer_H(lovitimer[playerid]);
if(Lovi[playerid] == 1)
{
    ResetPlayerWeaponsEx(playerid);
Lovi[playerid] = 0;
DestroyObject(Srna[playerid]);
INFO(playerid,"Nazalost, niste na vreme uspeli da upucate srnu.");
}
return 1;
}

Deo skripte kada pogadja Srnu:
if(Lovi[playerid] > 0 && !IsPlayerInAnyVehicle(playerid))
{
    if(GetPlayerWeapon(playerid) == 33)
    {
        if(oldkeys & KEY_RIGHT && newkeys & KEY_FIRE)
        {
            if(hZamrznut[playerid] == 1)
            {
                if(IsPlayerAiming(playerid, Srna[playerid]))
                {
                    ResetPlayerWeaponsEx(playerid);
                    Lovi[playerid] = 0;
                    KillTimer_H(lovitimer[playerid]);
                    DestroyObject(Srna[playerid]);
                    new bonus = random(1000);
                    Plata(playerid, PosaoPlata[LovacPlata], bonus);
                    SacuvajIgraca(playerid);
                    INFO(playerid,"Upucali ste srnu.");
                    StopLoopingAnim(playerid);
                }
            }
        }
    }
}

IsPlayerAiming
IsPlayerAiming(playerid, aimid)
{
new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
GetPlayerPos(playerid, X1, Y1, Z1);
GetObjectPos(aimid, X2, Y2, Z2);
new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
if(Distance < 500)
{
new Float:A;
GetPlayerFacingAngle(playerid, A);
X1 += (Distance * floatsin(-A, degrees));
Y1 += (Distance * floatcos(-A, degrees));
Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
if(Distance < 0.5)
{
    return true;
}
}
return false;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Hvala unapred.
Naslov: Odg: Treba mi pomoc oko posao Lovac
Poruka od: Łuk@ poslato Decembar 02, 2017, 22:42:20 POSLE PODNE
Koristi OnPlayerShootDynamicObject(playerid, weaponid, objectid, Float:x, Float:y, Float:z)
i koristi objectid Srna