Szerző Téma: /kirak parancs  (Megtekintve 821 alkalommal)

/kirak parancs
« Dátum: 2012. március 15. - 17:34:46 »
0 Show voters
Csá all.
Kéne egy olyan,hogy beirja az admin/rendõr,hogy /kirak és az útra kirak egy szöges drótot.
Ha átmegy rajta az autó akkor defektes legyen a gumija.
Köszönöm...

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
/kirak parancs
« Válasz #1 Dátum: 2012. március 15. - 17:42:44 »
+1 Show voters
Mi a szögesdrót object idje?

Nem elérhető JackBronson

  • 1499
  • ??
    • Profil megtekintése
/kirak parancs
« Válasz #2 Dátum: 2012. március 15. - 17:48:07 »
0 Show voters
Én ugy tudom,hogy  az objektes szöges drót-tól nem lesz defektes a kocsi de nem biztos.

/kirak parancs
« Válasz #3 Dátum: 2012. március 15. - 17:50:01 »
0 Show voters
Cannonn mindjárt mondom.
JaCk igen úgy nem lehet,de valahogy meglehet,hogy a gumit defektelje,mert már láttam egy szerón ilyent.

Dupla hozzászólás automatikusan összefûzve. ( 2012. március 15. - 17:50:37 )

Object id:
2892

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
/kirak parancs
« Válasz #4 Dátum: 2012. március 15. - 17:56:07 »
+1 Show voters
Ötletem van a megvalósításra, de kedvem nincs hozzá.
Egyszerre csak 1et lehet lerakni megoldás.
Ha leraksz egy szögesdrótot egy boolean változó értékét igazra állítod. Elindítasz egy timert, ami az összes csatlakozott játékossal lefuttatja, hogy a szögesdrótnál van-e. ( IsPlayerInRangeOfPoint ) Ha ott van, akkor UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15);.
Remélem azért valamennyit segítettem.
Edit:
Mégis megírtam, mûködik, tessék.
Parancsok: /kirak, /berak
 

#include a_samp
#include zcmd
new bool:szogesdrot, drot, timer, Float:x, Float:y, Float:z, Float:Fordulas;
forward szogestimer();
CMD:kirak(playerid, params[])
{
if(szogesdrot == true) return SendClientMessage(playerid,0xff0000AA,\"Figyelem.Már raktak le szögesdrótot, ha leraksz még egyet, a régit nem lehet felvenni.\"), szogesdrot = false;
szogesdrot = true;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Fordulas);
timer = SetTimer(\"szogestimer\", 1000, true);
DestroyObject(drot);
drot = CreateObject(2892, x-1, y, z-1, 0.0, 0.0, Fordulas);
SendClientMessage(playerid,0x009924AA,\"Leraktál egy szögesdrótot. Felvenni a /berak paranccsal tudod.\");
return 1;
}
CMD:berak(playerid, params[])
{
szogesdrot = false;
DestroyObject(drot);
KillTimer(timer);
SendClientMessage(playerid,0x009924AA,\"Felszedtél egy szögesdrótot.\");
return 1;
}
public OnPlayerUpdate(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new panels, doors, lights, tires;
GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
if(szogesdrot == true && IsPlayerInRangeOfPoint(playerid, 4.0, x, y, z) && IsPlayerInAnyVehicle(playerid)) UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15);
return 1;
}
« Utoljára szerkesztve: 2012. március 15. - 18:29:03 írta Cannonn »

Nem elérhető nyE

  • 1745
    • Profil megtekintése
/kirak parancs
« Válasz #5 Dátum: 2012. március 15. - 18:15:59 »
0 Show voters

/kirak parancs
« Válasz #6 Dátum: 2012. március 15. - 18:28:30 »
0 Show voters
Köszönöm Cannonn! és persze Antonyo -nak is,hogy linkelt.
Már értem mi ez a bool változó...

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal