Hallo,
wir im titel schon angegeben suche ich eine funktion die in autos nach spieler id sucht wenn es eins findet dann die id des driver und der passagiere ausgibt.
gibt es bereits so eine funktion oder muss ich so eine funktion suchen?
Hallo,
wir im titel schon angegeben suche ich eine funktion die in autos nach spieler id sucht wenn es eins findet dann die id des driver und der passagiere ausgibt.
gibt es bereits so eine funktion oder muss ich so eine funktion suchen?
Soweit ich weiß, kannst du das nur mit IsPlayerInAnyVehicle machen..
@[GFSVB]RedDragon
Das gilt nur für einen selbst (playerid) hast du eine idee wie ich es auf allen in dem auto benutzen kann?
@Kruegii
Ja das möchte ich ja gerade benutzter aber erst soll man scheckenob jemand im auto ist
Ich hoffe du meinst, das man sehen soll wer in dem Fahrzeug ist und welche ID das Fahrzeug hat D:
if(strcmp(cmd, "/carinfo", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /carinfo [Spielerid/Spielername]");
return 1;
}
new plo;
plo = ReturnUser(tmp);
if(IsPlayerConnected(plo))
{
new Auto12 = GetPlayerVehicleID(plo);
new name[MAX_PLAYER_NAME];
GetPlayerName(plo, name, sizeof(name));
new SpielerID = GetPlayerID(name);
format(string,sizeof string,"Name: %s, SpielerID: %d",name,SpielerID);
SendClientMessage(playerid, TEAM_ORANGE_COLOR, string);
if(Auto12 == 0)
{
SendClientMessage(playerid, TEAM_ORANGE_COLOR, "Spieler sitzt in keinem Fahrzeug!");
}else{
format(string,sizeof string,"Fahrzeug ID: %d",Auto12);
SendClientMessage(playerid, TEAM_ORANGE_COLOR, string);
}
}
}
}
return 1;
}
Mit einer Schleife + einem Array was die Daten zwischen speichert.
#define MAX_PLAYERS_PER_CAR 4
new Passenger[MAX_VEHICLES][MAX_PLAYERS_PER_CAR];
stock GetPlayersInCar(vehicleid)
{
new passengers;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i,vehicleid) && passengers < MAX_PLAYERS_PER_CAR)
{
Passenger[vehicleid][passengers] = i;
passengers++;
}
}
}
Dann kannst du die Daten ganz einfach aus dem Array abfragen.
/opt/sa-mp/pawno/stuntserver.pwn(1149) : warning 209: function "GetPlayersInCar" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Warning.
== Letzte Zeile ==
stock GetPlayersInCar(vehicleid)
{
new passengers;
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerInVehicle(i,vehicleid) && passengers < MAX_PLAYERS_PER_CAR) {
Passenger[vehicleid][passengers] = i;
passengers++;
}
}
}
Einfach vor die letzte } Klammer das:return 1;
BTW: Kennen wir uns nich irgendwoher?
lol jetzt hat noch mehr fehler
/opt/sa-mp/pawno/stuntserver.pwn(2120) : error 029: invalid expression, assumed zero
/opt/sa-mp/pawno/stuntserver.pwn(2121) : error 029: invalid expression, assumed zero
/opt/sa-mp/pawno/stuntserver.pwn(2121) : warning 215: expression has no effect
/opt/sa-mp/pawno/stuntserver.pwn(2121) : error 001: expected token: ";", but found "if"
/opt/sa-mp/pawno/stuntserver.pwn(2121) : error 029: invalid expression, assumed zero
/opt/sa-mp/pawno/stuntserver.pwn(2121) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
das ist die ganze zeile
if(IsPlayerInVehicle(i,vehicleid) && passengers < MAX_PLAYERS_PER_CAR) {
Passenger[vehicleid][passengers] = i;
mhh, ich weiß nicht sag mir dein name oder woher wir uns kennen O.o aber ich glaub du irrst dich
€dit: hat sich geklärt müsste
heißen