Stimmt doch überein? warum meckert der da rum
In welcher Zeile ist das denn?
Stimmt doch überein? warum meckert der da rum
In welcher Zeile ist das denn?
Ja mein Browser oder so spinnt schon wider -_-
Hier die Zeile:
vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, siren);
vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, false, siren);
vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, false, siren);
tatsächlich nutzt das nichts wen ich false reinbaue wird das ein warning mehr.
Es heisst auch CreateVehicleEx...
Was meinst du den jetzt genau?
Verstehe nicht was du jetz damit meinst??
Habe versucht alles zu ändern aber scheinbar will er garnicht
Lass den Code mal so wie du ihn hattest.
Und dann update mal deine SA:MP Includes
Habe mir jetzt den 0.3.7 Windows Server gedownloadet und habe mal alle includes aktualisiert es besteht trd der fehler...
Sicher, dass du dann auch das richtige Pawno öffenst?
OK, vermutlich mein Fehler. Ich bin davon ausgegangen, Du willst Deine Funktion aufrufen die Du "CreateVehicleEx" nanntest. Wie dem auch sei, wie is das native CreateVehicle in a_vehicles.inc definiert?
Habe das jetzt bisschen umstruktuiert.
Habe jetzt mit den Zuügen gleich eingebaut jetzt klappt es sonst spawnen die Züge ohne Tank
Aber ich danke für eure hilfe
//E:
Kann mir einer sagen warum das nicht klappt wen ich H Drücke das die Sirene an geht?
//=============================================================================//
//=============================================================================//
public OnVehicleSirenStateChange(playerid, vehicleid, newstate)
{
new fV = IsAFraktionsVeh(vehicleid);
if(IsAFraktionsVeh(vehicleid))
{
if(fVehicle[fV][vehSiren] == 1)
{
if(newstate)
{
FlashTime[vehicleid] = SetTimerEx("OnLightFlash", flashtime, true, "d", vehicleid);
fVehicle[fV][vehSiren1] = CreateObject(19419,0,0,-1000,0,0,0,100);
AttachObjectToVehicle(fVehicle[fV][vehSiren1], fVehicle[fV][vehID], 0.015000,0.000000,0.820000,0.000000,0.000000,0.000000);
GameTextForPlayer(playerid, "~w~Sirene ~g~an", 3000, 1);
}
if(!newstate)
{
new panels, tuer, licht, reifen;
KillTimer(FlashTime[vehicleid]);
GetVehicleDamageStatus(vehicleid, panels, tuer, licht, reifen);
UpdateVehicleDamageStatus(vehicleid, panels, tuer, 0, reifen);
DestroyObject(fVehicle[fV][vehSiren1]);
GameTextForPlayer(playerid, "~w~Sirene ~r~aus", 3000, 1);
}
}
}
return 1;
}
//=============================================================================//
//=============================================================================//
forward OnLightFlash(vehicleid);
public OnLightFlash(vehicleid)
{
new panels, tuer, licht, reifen;
new fV = IsAFraktionsVeh(vehicleid);
GetVehicleDamageStatus(vehicleid, panels, tuer, licht, reifen);
if(IsAFraktionsVeh(vehicleid))
{
if(fVehicle[fV][vehSiren] == 1)
{
switch(Flash[vehicleid])
{
case 0: UpdateVehicleDamageStatus(vehicleid, panels, tuer, 2, reifen);
case 1: UpdateVehicleDamageStatus(vehicleid, panels, tuer, 5, reifen);
case 2: UpdateVehicleDamageStatus(vehicleid, panels, tuer, 2, reifen);
case 3: UpdateVehicleDamageStatus(vehicleid, panels, tuer, 4, reifen);
case 4: UpdateVehicleDamageStatus(vehicleid, panels, tuer, 5, reifen);
case 5: UpdateVehicleDamageStatus(vehicleid, panels, tuer, 4, reifen);
}
if(Flash[vehicleid] >=5) Flash[vehicleid] = 0;
else Flash[vehicleid] ++;
}
}
return 1;
}
//=============================================================================//
//=============================================================================//
Alles anzeigen
#define flashtime 200
new Flash[MAX_VEHICLES];
new FlashTime[MAX_VEHICLES];
Danke Kaliber das du mir das mit deinem Include gezeigt hast nur hatte ich das jetzt so schon fertig...
So wie ich das gemacht habe ist es mega kompliziert und es geht nichtmal nur die ersten beiden Checkpoints gehen
public OnPlayerEnterCheckpoint(playerid)
{
if(aCheckpoint[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1181.7915,-1732.3220,12.9952,5.0);
aCheckpoint[playerid] = 2;
}
if(aCheckpoint[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1181.7915,-1732.3220,12.9952,5.0);
aCheckpoint[playerid] = 3;
}
if(aCheckpoint[playerid] == 3)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1277.3103,-1714.6207,12.9802,5.0);
aCheckpoint[playerid] = 4;
}
if(aCheckpoint[playerid] == 4)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1324.9828,-1734.1974,12.9781,5.0);
aCheckpoint[playerid] = 5;
}
if(aCheckpoint[playerid] == 6)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1432.0132,-1702.2429,12.9766,5.0);
aCheckpoint[playerid] = 7;
}
if(aCheckpoint[playerid] == 7)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1432.1726,-1607.1235,12.9783,5.0);
aCheckpoint[playerid] = 8;
}
if(aCheckpoint[playerid] == 8)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1443.0463,-1524.3309,12.9781,5.0);
aCheckpoint[playerid] = 9;
}
if(aCheckpoint[playerid] == 9)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1443.4373,-1438.6735,12.9782,5.0);
aCheckpoint[playerid] = 3;
}
if(aCheckpoint[playerid] == 10)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1371.8442,-1397.6431,12.9854,5.0);
aCheckpoint[playerid] = 11;
}
if(aCheckpoint[playerid] == 11)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1276.6720,-1397.6189,12.6545,5.0);
aCheckpoint[playerid] = 12;
}
if(aCheckpoint[playerid] == 12)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1193.7233,-1419.8304,12.8224,5.0);
aCheckpoint[playerid] = 13;
}
if(aCheckpoint[playerid] == 13)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1193.7649,-1555.5295,12.9803,5.0);
aCheckpoint[playerid] = 14;
}
if(aCheckpoint[playerid] == 14)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1165.2489,-1569.5559,12.8909,5.0);
aCheckpoint[playerid] = 15;
}
if(aCheckpoint[playerid] == 15)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1147.9670,-1635.4734,13.3786,5.0);
aCheckpoint[playerid] = 16;
}
if(aCheckpoint[playerid] == 16)
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1173.0352,-1725.9763,13.1830,5.0); //1108.7813,-1737.9895,13.1086
aCheckpoint[playerid] = 17;
}
if(aCheckpoint[playerid] == 17)
{
SetPlayerCheckpoint(playerid,1108.7813,-1737.9895,13.1086,5.0);
DisablePlayerCheckpoint(playerid);
aCheckpoint[playerid] = 18;
}
if(aCheckpoint[playerid] == 18)
{
DisablePlayerCheckpoint(playerid);
aCheckpoint[playerid] = 0;
}
return 1;
}
Alles anzeigen
Aber ist doch schnell für meinen Code angepasst
Musst nur die Koordinaten von den Punkten in das struct packen und fertig
Dein Code geht glaube ich nicht, weil du da 2x die selben Koordinaten irgendwie hast
Danke, habe mich dazu entschlossen es so wie du zu machen glaube da spart man auch ordentlich Ressourcen als wenn ich so 90 mal abfrage ob der in einem Checkpoint ist
//edit
Komisch jetzt verstehe ich ja nichts bei dem Include @Kaliber kannst du deine Zauberhand anlegen?
public OnPlayerEnterCheckpoint(playerid)
{
switch(IsInCheckpoint(playerid,FS_Points<FAHRSCHUL_ROUTE>))
{
case FINAL_CHECKPOINT:
{
SendClientMessage(playerid,0xFF0000FF,!"Du hast den Auto-Führerschein bestanden! ");
ClearCheckpoint<FAHRSCHUL_ROUTE>(playerid);
}
case NORMAL_CHECKPOINT: NextCheckpoint(playerid, FS_Points<FAHRSCHUL_ROUTE>, 5.0);
}
return 1;
}
Alles anzeigen
(2129) : error 003: declaration of a local variable must appear in a compound block
(2129) : error 029: invalid expression, assumed zero
(2129) : warning 215: expression has no effect
(2129) : error 017: undefined symbol "_@t"
(2129) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Alles anzeigen
//Edit:
Also die Fehler kommen, weil beim case ein Klammerblock hin muss (in diesem speziellem Fall) um das NextCheckpoint
Hei,
Habe mein Fahrschul-System fertig nur man startet die Prüfung und man muss die Checkpoints abfahren das übliche halt, aber ich könnte mich theoretisch in ein Fahrrad setzten und die Checkpoints abfahren,
Wie frage ich ab ob der Spieler in einem der Fahrschulautos ist?
Glaube bei dieser Frage kann mir nur @Kaliber helfen weil ich sein Include benutzt habe.
public OnPlayerEnterCheckpoint(playerid)
{
switch(IsInCheckpoint(playerid,FS_Points<FAHRSCHUL_ROUTE>))
{
case FINAL_CHECKPOINT:
{
SendClientMessage(playerid,0xFF0000FF,!"Du hast den Auto-Führerschein bestanden! ");
ClearCheckpoint<FAHRSCHUL_ROUTE>(playerid);
}
case NORMAL_CHECKPOINT: {
NextCheckpoint(playerid, FS_Points<FAHRSCHUL_ROUTE>, 5.0);
}
}
return 1;
}
Alles anzeigen
Meine zweite Frage ist das wenn der Spieler das Fahrschulauto verlässt das, dass Auto entfernt wird aber da wieder spawnt wo er es her hat. Da stehen ja mehrere.
Und natürlich das beim letzten Checkpoint das Fahrzeug entfernt wird und wieder spawnt
Das sind halt Sachen die noch unklar für mich sind, hoffe einer hat einen Plan
Verstehe nicht, was das mit meinem Include zu tun hat, aber okay...
Wie frage ich ab ob der Spieler in einem der Fahrschulautos ist?
Zum Beispiel so:
stock isPlayerInFSCar(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 0;
for(new i; i<sizeof(Fahrschulauto); i++)
{
if(IsPlayerInVehicle(playerid, Fahrschulauto[i])) return 1;
}
return 0;
}
Und dann einfach sowas:
public OnPlayerEnterCheckpoint(playerid)
{
switch(IsInCheckpoint(playerid,FS_Points<FAHRSCHUL_ROUTE>))
{
case FINAL_CHECKPOINT:
{
if(isPlayerInFSCar(playerid))
{
SendClientMessage(playerid,0xFF0000FF, "Du hast den Auto-Führerschein bestanden! ");
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
ClearCheckpoint<FAHRSCHUL_ROUTE>(playerid);
}
else SendClientMessage(playerid,-1,"* Du bist in keinem FS Auto!");
}
case NORMAL_CHECKPOINT:
{
if(isPlayerInFSCar(playerid))
{
NextCheckpoint(playerid, FS_Points<FAHRSCHUL_ROUTE>, 5.0);
}
else SendClientMessage(playerid,-1,"* Du bist in keinem FS Auto!");
}
}
return 1;
}
Alles anzeigen
//Edit:
In der Funktion sollte schon sicher gestellt werden, dass der Spieler auch wirklich der Fahrer ist
Wie kann ich ein "Glücksrad" machen? Bisher nur 2 Sachen
also wenn jemand /drehen schreibt soll entweder 100k als gewinn kommen oder sethp 0.
Danke im Voraus.
Wie kann ich ein "Glücksrad" machen?
Inwiefern soll das denn angezeigt werden?
Als Objekt oder als TextDraw?
Hast du das Objekt bereits erstellt?
also wenn jemand /drehen schreibt soll entweder 100k als gewinn kommen oder sethp 0.
Soll er dazu in der Nähe sein + in der Nähe bleiben?
Wie soll die Chancen sein, dass das eine kommt oder das andere? (50/50?)
Inwiefern soll das denn angezeigt werden?
Als Objekt oder als TextDraw?
Hast du das Objekt bereits erstellt?
Soll er dazu in der Nähe sein + in der Nähe bleiben?Wie soll die Chancen sein, dass das eine kommt oder das andere? (50/50?)
ich mach das danach selbst erstmal egal wo er steht kann sich auch frei bewegen, und ja alles soll die Chance 50% sein
//Edit : Erstmal nur als Befehl