Und offen ist noch wie ich das mit einem Befehl erstelle, was mir am wichtigsten ist weil das sonst jeder kann :l
Was soll der Befehl machen?
Und offen ist noch wie ich das mit einem Befehl erstelle, was mir am wichtigsten ist weil das sonst jeder kann :l
Was soll der Befehl machen?
Kleine Frage, wie kann ich abfragen ob einer in der nähe eines Fahrzeuges ist?
@[LnD]JustMe.77:
NPC Problem:
Hast du mal im Scriptfiles Ordner nachgeguckt? Dort kann es auch sein. Die pwn musst du aber selber erstellen.
Kleine Frage, wie kann ich abfragen ob einer in der nähe eines Fahrzeuges ist?
Hiermit:
stock IsAnyPlayerNearVehicle(vehicleid, Float:range) //©Jeffry
{
new Float:x, Float:y, Float:z;
GetVehiclePos(vehicleid, x, y, z);
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(GetPlayerDistanceFromPoint(i, x, y, z) <= range) return 1;
}
return 0;
}
Kleine Frage, wie kann ich abfragen ob einer in der nähe eines Fahrzeuges ist?
stock IsAnyPlayerNearVehicle(vehicleid, playerid, Float:range) //©Jeffry
{
new Float:x, Float:y, Float:z;
GetVehiclePos(vehicleid, x, y, z);
if(IsPlayerConnected(playerid))
{
if(GetPlayerDistanceFromPoint(playerid, x, y, z) <= range) return 1;
}
return 0;
}
Nur schnell modifiziert .Moersy: Falls du es für einen bestimmten Spieler wissen willst..
legend: Unterlasse bitte die Vollzitate, besonders in diesem Thread ist das extrem störend.
Außerdem muss die Funktion dann so aussehen, sonst bekommst du einen Error.
stock IsPlayerNearVehicle(playerid, vehicleid, Float:range) //©Jeffry
{
new Float:x, Float:y, Float:z;
GetVehiclePos(vehicleid, x, y, z);
if(IsPlayerConnected(playerid) && GetPlayerDistanceFromPoint(playerid, x, y, z) <= range) return 1;
return 0;
}
Man könnte auch noch abfragen, ob das Fahrzeug existiert, falls man das nicht schon davor macht.
stock IsPlayerNearVehicle(playerid, vehicleid, Float:range) //©Jeffry
{
new Float:x, Float:y, Float:z;
GetVehiclePos(vehicleid, x, y, z);
if(IsValidVehicle(vehicleid) && IsPlayerConnected(playerid) && GetPlayerDistanceFromPoint(playerid, x, y, z) <= range) return 1;
return 0;
}
@[LnD]JustMe.77:
NPC Problem:
Hast du mal im Scriptfiles Ordner nachgeguckt? Dort kann es auch sein. Die pwn musst du aber selber erstellen.
Ahh danke, habe die Dateien dort nicht erwartet..
____
Warum funktioniert meine Animation nicht?
ocmd:sit(playerid,params[])
{
ApplyAnimation(playerid, "Sitzen", "Sit_relaxed", 4.1, 0, 1, 1, 1, 1, 1);
return 1;
}
Ist die Library sicher richtig? "Sitzen"?
Wenn ja -> Hast du den Befehl schon ein zweites mal eingegeben? Es ist ein bekannter Bug, dass man ApplyAnimation immer zweimal aufrufen sollte..
Ist die Library sicher richtig? "Sitzen"?
Wenn ja -> Hast du den Befehl schon ein zweites mal eingegeben? Es ist ein bekannter Bug, dass man ApplyAnimation immer zweimal aufrufen sollte..
Nein diese Library habe ich von einem anderen Beispiel.
Wo finde ich denn diese Liste dafür?
ApplyAnimation(playerid, "LOWRIDER", "Sit_relaxed", 4.1, 1, 1, 1, 1, 1, 1);
https://wiki.sa-mp.com/wiki/Animations
Huhu,
wieso werden keine Team-Mitglieder angezeigt?
CMD:admins(playerid)
{
new string[128];
if(!IsLoggedIn(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
SendClientMessage(playerid,COLOR_GRAU,"Aktive Team-Mitglieder:");
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i) && Spieler[i][pLoggedIn] && Spieler[i][pAdmin] < 0)
{
format(string,sizeof(string),"%s: %s\n%s: %s",GetName(i),GetPlayerAdminName(i));
}
}
SendClientMessage(playerid,COLOR_GRAU,string);
return 1;
}
So:
CMD:admins(playerid)
{
if(!IsLoggedIn(playerid)) return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
new string[145];
SendClientMessage(playerid,COLOR_GRAU,"Aktive Team-Mitglieder:");
for(new i=0,j=GetMaxPlayers();i<j;i++)
{
if(IsPlayerConnected(i) && Spieler[i][pLoggedIn] && Spieler[i][pAdmin] > 0)
{
format(string,sizeof(string),"%s: %s",GetName(i),GetPlayerAdminName(i));
SendClientMessage(playerid,COLOR_GRAU,string);
}
}
return 1;
}
Wieso bekomme ich einen Error beim Destroy der Sirene?
DestroyObject(sirene[vehicleid]);
Erstellen tue ich diese so:
new sirene[vehicleid] = CreateObject(18646,0,0,-1000,0,0,0,100);
Mach das new weg, das hast du ja schon bei
new sirene[MAX_VEHICLES];
Versteh ich nicht, mein Befehl sieht so aus.
CMD:uclight(playerid)
{
if(!IsLoggedIn(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
if(Spieler[playerid][pFraktion] !=5)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Beamter.");
new vehicleid = GetPlayerVehicleID(playerid);
if(UCLight[vehicleid] == false)
{
UCLight[vehicleid] = true;
UCLight[vehicleid] = CreateObject(18646,0,0,-1000,0,0,0,100);
AttachObjectToVehicle(UCLight, GetPlayerVehicleID(playerid), -0.449999,0.225000,0.824999,0.000000,0.000000,0.000000);
GameTextForPlayer(playerid, "~w~Blaulicht~n~~g~eingeschaltet", 3000, 6);
}
else
{
DestroyObject(UCLight[vehicleid]);
UCLight[vehicleid] = false;
GameTextForPlayer(playerid, "~w~Blaulicht~n~~r~ausgeschaltet", 3000, 6);
}
return 1;
}
new bool:UCLight[MAX_VEHICLES];
Das kannst du so nicht machen, da musst du zwei Variablen verwenden, oder besser so:
CMD:uclight(playerid)
{
if(!IsLoggedIn(playerid))return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
if(Spieler[playerid][pFraktion] !=5)return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Beamter.");
new vehicleid = GetPlayerVehicleID(playerid);
if(UCLight[vehicleid] == -1)
{
UCLight[vehicleid] = CreateObject(18646,0,0,-1000,0,0,0,100);
AttachObjectToVehicle(UCLight[vehicleid], GetPlayerVehicleID(playerid), -0.449999,0.225000,0.824999,0.000000,0.000000,0.000000);
GameTextForPlayer(playerid, "~w~Blaulicht~n~~g~eingeschaltet", 3000, 6);
}
else
{
DestroyObject(UCLight[vehicleid]);
UCLight[vehicleid] = -1;
GameTextForPlayer(playerid, "~w~Blaulicht~n~~r~ausgeschaltet", 3000, 6);
}
return 1;
}
Und
new bool:UCLight[MAX_VEHICLES];
Zu
new UCLight[MAX_VEHICLES]={-1,...};
Bekomme einen Tag Mistach.
AttachObjectToVehicle(UCLight, GetPlayerVehicleID(playerid), -0.449999,0.225000,0.824999,0.000000,0.000000,0.000000);