Szerző Téma: nagyobb sebzés script probléma  (Megtekintve 1096 alkalommal)

nagyobb sebzés script probléma
« Dátum: 2015. október 19. - 19:00:25 »
0 Show voters
Sziasztok! A segítségeteket szeretném kérni, hogy,hogyan lehetne ezt megoldani,ezt a scriptet,hogy működdjön? Elnézést kérek a rossz spoilerért, nem tudtam megoldani :S
Alul van, valahogy megoldottam.

Dupla hozzászólás automatikusan összefûzve. ( [time]2015. október 19. 19:02:03[/time] )


Sziasztok! A segítségeteket szeretném kérni, hogy,hogyan lehetne ezt megoldani,ezt a scriptet,hogy működdjön? Elnézést kérek a rossz spoilerért, nem tudtam megoldani :S
 
}
public OnPlayerGiveDamage( playerid, damagedid, Float:amount, weaponid, bodypart )
{
if( weaponid == 0 ) return 0;
if( bodypart == 9 && !IsPlayerInAnyVehicle( damagedid ) ) // HEAD
    SetPlayerHealth( damagedid, 0 );
if( bodypart == 7 || bodypart == 8 ) // LEGS
   new Float:armour;
GetPlayerArmour(damagedid, armour);
if(armour <= 0)
{
   new Float:health;
   GetPlayerHealth(damagedid,health);
   SetPlayerHealth(damagedid, health-10.0);
}
}
if( bodypart == 3 ) // TORSO/CHEST
{
        new Float:armour;
GetPlayerArmour(damagedid, armour);
if(armour <= 0)
{
   new Float:health;
   GetPlayerHealth(damagedid,health);
   SetPlayerHealth(damagedid, health-20.0);
}
}
return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(IsPlayerInRangeOfPoint(issuerid, 5.0, 2984.7747,1535.7643,43.0559) && GetPlayerInterior(issuerid) == 5)
{
if(pInfo[issuerid][pBorton] > 0)
{
   pInfo[issuerid][pBorton] += 60;
   SendClientMessage(issuerid, PIROS, \"Börtönben/kórházban nem verekszel! +1p\");
}
}
if(amount >= 5)
{
SendClientMessage(playerid, NARANCS, \"(( Megsebeztek! ))\");
SendClientMessage(issuerid, NARANCS, \"(( Megsebezted! ))\");

 
[/quote]
« Utoljára szerkesztve: 2015. október 19. - 19:03:10 írta Spitfire »

nagyobb sebzés script probléma
« Válasz #1 Dátum: 2015. október 20. - 13:11:00 »
0 Show voters
a public végén használj
 return 0

-t, igy a szerver az eredetileg kapott sebzést nem dolgozza fel.
egy hirtelen példa:
 
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
if(weaponid == 4)
{
new float:HP;
GetPlayerHealth(playerid,HP);
SetPlayerHealth(playerid,HP-20);
}
return 0;
}

 
A kódot nem teszteltem!
A scriptnek elvileg úgy kéne működnie, hogy ha valaki sebzést kap késsel, akkor az eredeti sebzés értékét nem vonja le, csak a 20 HP-t.
realisztikusabb, ha a sebzés mértéke véletlenszerű és csak a maximumot határozod meg, kb igy:
 

if(weaponid == 4)
{
new float:HP;
GetPlayerHealth(playerid,HP);
SetPlayerHealth(playerid,HP-random(20));
//a 19 lesz a maximum, amit adhatsz a késsel
// a random az első 20 szám közt(0-19) fog sorsolni.
}

 
remélem a kérdésre válaszoltam és segitettem!
« Utoljára szerkesztve: 2015. október 20. - 13:14:32 írta bencarter007 »

nagyobb sebzés script probléma
« Válasz #2 Dátum: 2015. október 20. - 17:59:14 »
0 Show voters
Szia, értem mire gondolsz, de sajnos  nem tudom megcsinálni. :S Ha valaki megtenné,hogy átcsinálja, megköszönném! Sajnos még nem igazán tudok scriptelni.

nagyobb sebzés script probléma
« Válasz #3 Dátum: 2015. október 20. - 20:11:55 »
0 Show voters
irj PÜ-t, megcsinálom neked...

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal