Thx, aber bringt nichts. Werde das Script mal in seine Einzelteile zerlegen bzw. neu anfangen um das Problem einzugrenzen...
Also kann geclosed werden.
Grüße, OahuProject
Thx, aber bringt nichts. Werde das Script mal in seine Einzelteile zerlegen bzw. neu anfangen um das Problem einzugrenzen...
Also kann geclosed werden.
Grüße, OahuProject
Sry für DP, wär wirklich nett wenn sich das nochmal jemand kurz angucken könnte.
Gruß
Hallo,
wie muss ich vorgehen wenn ich Pickup durch Abfahren, d.h. im Car auslösen möchte? Gibt es da etwas besonderes zu beachten? (Problem hier )
Grüße, OahuProject
SetVehicleHealth(GetPlayerVehicleID(playerid),1000);
Ja das habe ich übersehen, hatte das im SAMP Wiki nicht ganz verstanden und dann über
new vehicleid = GetPlayerVehicleID(playerid);
probiert, was natürlich nicht klappen wollte.
Das Pickup geht halt immer noch nicht wenn ich im Auto bin (Es wird aber eingesammelt und verschwindet)?!
new repairpickup;
new bool:PlayerInRepair[MAX_PLAYERS];
repairpickup = CreatePickup(3096, 14, 1137.3762,1815.1880,11.5258);
public FreezeTimer()
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(PlayerInRepair[i] == true)
{
TogglePlayerControllable(i,1);
PlayerInRepair[i] = false;
}
}
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == repairpickup)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Car in Repair. Wait 2 Seconds.");
SetVehicleHealth(GetPlayerVehicleID(playerid),1000);
//SetPlayerHealth(playerid,1);
TogglePlayerControllable(playerid,0);
PlayerInRepair[playerid] = true;
SetTimer("FreezeTimer",2000,0);
}
return 1;
}
Für die Zeile mit
public FreezeTimer()
kommt ein Warning: : warning 235: public function lacks forward declaration (symbol "FreezeTimer")
Nochmal Hilfe bitte.
Okey, vielen Dank auch dir Fat_Joe.
Das Freezen klappt, die Message kommt auch, zu Fuß eben. Nur passiert eben nix wenn ich mit dem Auto da reinfahr?! Liegts vielleicht doch an dem Pickup-typ 14?
Alles anzeigen
public FreezeTimer()
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(PlayerInRepair[i] == true)
{
TogglePlayerControllable(i,1);
PlayerInRepair[playerid] = false;
// Nachricht
}
}
}
Wow, vielen Dank für die Mühe.
Habe das alles direkt mal übernommen, allerdings produziert er einen Fehler in dieser Zeile:
PlayerInRepair[playerid] = false;
Fehler: error 017: undefined symbol "playerid"
Versteh das leider nicht?
Grüße, OahuProject
Hallo,
ich bin gerade dabei mein erstes eigenständiges Script umzusetzen und stosse auf ein kleines Problem beim setzen eines Reperatur Pickups für Autos.
Das Pickup soll beim Fahren aufgenommen werden und das Car reparieren. Setze ich die PickUp Art auf 14, wird es mit Auto aufgenommen aber die Nachricht wird nicht ausgegeben. Setze ich diese auf 2, wird es nur zu Fuß aufgenommen, und die Nachricht kommt. Aber dann wird es eben nicht repariert?!
Mein Code sieht so aus:
//Oben unter den Includes
new repairpickup;
// Bei OnGameModeInit
repairpickup = CreatePickup(3096, 14, 1137.3762,1815.1880,11.0458);
Hier bin ich mir der Pickup-Art unsicher, denn es soll ja aus dem Auto raus genutzt werden.
Zitat1 Not pickupable, exist everytime.
2 Pickupable, respawns after some time.
..
14 Pickupable, but only when in a vehicle. Falls through objects made with CreateObject, etc.
Geht das auch mit einem "normalem" Pickup?
//bei OnPlayerPickUpPickup
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == repairpickup)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Repariert.");
SetVehicleHealth(1,1000.0);
}
return 1;
}
So, bin dankbar für Hilfe. Wenn mir am Rande noch jemand erklären würde wie ich das Car das das PU aufnimmt, für 1-2 Sekunden freezen kann?!
Grüße, Oahuproject