Szerző Téma: hogy lehet olyat hogy az autó nem robban fel?  (Megtekintve 893 alkalommal)

Nem elérhető buci11

  • 502
    • Profil megtekintése
hogy lehet olyat hogy az autó nem robban fel?
« Dátum: 2011. november 28. - 20:55:50 »
0 Show voters
pl w t nyomom és akkor folyton megjavúl a verda
[
« Utoljára szerkesztve: 2011. november 28. - 21:08:10 írta buci11 »

Nem elérhető .:Secur:.

  • 2430
  • GTA Hero
    • Profil megtekintése
hogy lehet olyat hogy az autó nem robban fel?
« Válasz #1 Dátum: 2011. november 28. - 22:05:26 »
0 Show voters
Valahonann elõtúrom :P
Ez nem olyan, de így sem sebzõdik szinte a kocsi.
[pawn]forward Javitas();
public Javitas() for(new i=0; i < GetMaxPlayers(); i++) if(IsPlayerConnected(i)) if(IsPlayerInAnyVehicle(i)) RepairVehicle(GetPlayerVehicleID(i));
public OnGameModeInit()
{
SetTimer(\"Javitas\", 2000, 1);
return 1;
}[/pawn]
Vagy itt egy ugyan ilyen komplett script-be.
[pawn]#include <a_samp>
forward AutoRepair(playerid);
new RepairTimer;
public OnFilterScriptInit()
{
print(\" Auto Reapir by Matrix\");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
RepairTimer = SetTimer(\"AutoRepair\",1000,1);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
KillTimer(RepairTimer);
return 1;
}
public AutoRepair(playerid)
{
RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}[/pawn]
« Utoljára szerkesztve: 2011. november 28. - 22:12:35 írta .:Secur:. »

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
hogy lehet olyat hogy az autó nem robban fel?
« Válasz #2 Dátum: 2011. november 28. - 22:20:54 »
0 Show voters
A másikat ne használd!
Nem fog tökéletesen mûködni egy idõ után.
Mivel az EnterVehicle akkor hívódik meg, amikor az F-et lenyomod.
Lenyomod 150x az F-et, 150 timert létrehoz.
Azthiszem ugyanúgy van az ExitVehicle-vel is, szóval ez így ezért nem a legjobb megoldás.
Az elsõ megoldást ajánlom mindeképp.


A második verzió így jobban menne:
[pawn]
new
RepairTimer = -1;
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(RepairTimer != -1)
{
   KillTimer(RepairTimer)
}
RepairTimer = SetTimer(\"AutoRepair\",1000,1);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(RepairTimer != -1)
{
   KillTimer(RepairTimer);
   RepairTimer = -1;
}
return 1;
}
public AutoRepair(playerid)
{
new
    vID = GetPlayerVehicleID(playerid);
if(vID)
{
   RepairVehicle(vID);
}
return 1;
}
[/pawn]
« Utoljára szerkesztve: 2011. november 28. - 22:25:41 írta kurta999 »

hogy lehet olyat hogy az autó nem robban fel?
« Válasz #3 Dátum: 2011. november 28. - 22:39:23 »
0 Show voters
[pawn]public
    OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
    if(GetVehicleHealth(vehicleid) < 500)
    {
          RepairVehicle(vehicleid);
    }
    return 1;
}[/pawn]
Ez automatikusan meghívásra kerül ha a jármû sérül.
Ha 500-nál kevesebb a jármû élete akkor megjavítja a jármûvet. Írd át arra ami neked jó. (Olyan 200 körül kezd el égni a jármû)

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
hogy lehet olyat hogy az autó nem robban fel?
« Válasz #4 Dátum: 2011. november 29. - 13:51:36 »
0 Show voters
Bocs, hogy belekötök, de ez a callback csak akkor hívódik meg, amikor a jármû sérül, nem pedig amikor megváltozik az élete.
Én is ezt a megoldást használtam 0.3a idején és nem mûködött rendesen, mivel amikor már felgyúlt a motorom, akkor már nem javította meg és felrobbant.
 

Note: This does not include vehicle health changes
 
[/quote]
OFF: LoL, már tényleg hülye vagyok xD
« Utoljára szerkesztve: 2011. november 29. - 15:54:21 írta kurta999 »

hogy lehet olyat hogy az autó nem robban fel?
« Válasz #5 Dátum: 2011. november 29. - 14:47:32 »
+1 Show voters
Idézetet írta: kurta999 date=1322571096\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"13797\" data-ipsquote-contentclass=\"forums_Topic
Bocs, hogy belekötök, de ez a callback csak akkor hívódik meg, amikor a jármû sérül, nem pedig amikor megváltozik az élete.
Én is ezt a megoldást használtam 0.3a idején és nem mûködött rendesen, mivel amikor már felgyúlt a motorom, akkor már nem javította meg és felrobbant.
 

Note: This does not include vehicle health changes
 

[/quote]
Túl kevésre állítottad az ellenõrzésben a jármû élet határát.
(Nálam 280-ra van állítva 0.3a óta és tökéletesen mûködik)
 
[pawn]      new
      Float:health;
   GetVehicleHealth(vehicleid, health);
   if(health < 280) {[/pawn]
[/quote]
Persze hogy nem javította meg a jármûvet, mikor már ég, ez csak akkor kerül meghívásra ha a jármû sérül, ha már elkezd égni a jármû akkor a jármû élete kezd el csökkenni, nincs sérülés.
Ezért ez a megoldás tökéletes olyan 300 jármûéletig, alatta már lehetnek gondok.
És amúgy lefordítva:
 
Megjegyzés: Ez nem tartalmazza a gépjármû egészségügyi változásait.[/quote]
Másképp: nincs olyan paramétere hogy Float:health.

Nem elérhető Mike.

  • 720
    • Profil megtekintése
hogy lehet olyat hogy az autó nem robban fel?
« Válasz #6 Dátum: 2011. november 29. - 15:50:31 »
0 Show voters
Én ezt használom!
Készítõ: Pedró
[pawn]public OnPlayerUpdate(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
RepairVehicle(GetPlayerVehicleID(playerid));
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
}
return 1;
}[/pawn]

]XziBiT[

  • Vendég
hogy lehet olyat hogy az autó nem robban fel?
« Válasz #7 Dátum: 2011. november 30. - 12:35:58 »
0 Show voters
Én ezt használom!
Készítõ: Pedró
 
public OnPlayerUpdate(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
RepairVehicle(GetPlayerVehicleID(playerid));
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
}
return 1;
}

 
[/quote]
Ezt én is használtam régen, de panaszkodtak mert pár playernek nem javította a jármûvet.

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
hogy lehet olyat hogy az autó nem robban fel?
« Válasz #8 Dátum: 2011. december 05. - 19:57:58 »
0 Show voters
Téma alapvetõ kérdése megválaszoltatott.
[mod]Zárok[/mod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal