Hey Leute, ich wollte mal fragen wie ich das mache?
wenn leute sich ins familien auto von anderen setzen das diese
gekickt werden und wenns richtige is ihre eigene familie das die drinne bleiben
also halt wenn denen nicht die cars gehören also andere familien id haben
werden die gekickt vom auto mit nachricht "Du bist kein mitglied von der Fraktion, der dieses fahrzeug gehört"
Das habe ich jetzt beim einen Fraktions Auto system gesehen:
public OnPlayerStateChange(playerid, newstate, oldstate){
if(newstate==PLAYER_STATE_DRIVER){
new Carid = GetPlayerVehicleID(playerid);
for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
if(Carid == FactionBuylist[fbl][fbCarid]){
if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
TogglePlayerControllable(playerid,false);
new fblText[256];
format(fblText,sizeof(fblText),"{FFFFFF}Möchtest du das Fahrzeug deiner Fraktion kaufen?\n\n{F3FF02}Fahrzeugname: %s\nPreis: $%d\n\n{FFFFFF}Um das Fahrzeug zu kaufen benutze den Button 'Ja', um es nicht zu kaufen den Button 'Nein'.",fCarName[FactionBuylist[fbl][fbVehid]-400],FactionBuylist[fbl][fbPrice]);
ShowPlayerDialog(playerid,DIALOG_FACTION_CAR_BUY,DIALOG_STYLE_MSGBOX,"{FFFFFF}Fraktionsautohaus:",fblText,"Nein","Ja");
}else{
SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
new Float:pPos[3];
GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
SetPlayerPos(playerid,pPos[0]+2.0,pPos[1]+2.0,pPos[2]);
}break;
}
}
for(new fc;fc<sizeof(FactionCars);fc++){
if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
if(FactionCars[fc][fCarid] == GetPlayerVehicleID(playerid)){
for(new f;f<5;f++){
if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL || GetPlayerFaction(playerid) == FactionCars[fc][fFaction][f])
return true;
}
SendClientMessage(playerid,FACTION_COL_GREY,"Du bestitzt für dieses Fahrzeug keine Schlüssel, du verlässt das Fahrzeug.");
RemovePlayerFromVehicle(playerid);
return true;
}
}
}
}return 1;
}
Brauche das halt nur ohne diese dialog von kaufen:D
Aber wie funkts bei meinen Script?
Hier ist z.B code von zu/auf schließen:
if(strcmp(cmd, "/lockfcar", true) == 0)
{
new sendername2[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, sendername2,MAX_PLAYER_NAME);
for(new fv=0;fv<MAX_FAMVEHICLES;fv++)
{
if(fVehicleInfo[fv][fvID] != 0 && IsPlayerInRangeOfPoint(playerid, 5.0, fVehicleInfo[fv][fvX], fVehicleInfo[fv][fvY], fVehicleInfo[fv][fvZ]))
{
if(PlayerInfo[playerid][pFMember] == fVehicleInfo[fv][fvFam])
{
if(fVehicleInfo[fv][fvLocked] != 0)
{
fVehicleInfo[fv][fvLocked] = 0;
UnLockCar(fVehicleInfo[fv][fvID]);
format(string, sizeof(string), "* %s hat das Auto der Familie geöffnet.", sendername2);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
if(fVehicleInfo[fv][fvLocked] == 0)
{
fVehicleInfo[fv][fvLocked] = 1;
LockCar(fVehicleInfo[fv][fvID]);
format(string, sizeof(string), "* %s hat das Auto der Familie geschlossen.", sendername2);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
}
else
{
return SendClientMessage(playerid, COLOR_GREY,"Du bist nicht in der Familie der dieses Auto gehört!");
}
}
else
{
if(fv != MAX_FAMVEHICLES-1)
{
continue;
}
else
{
return SendClientMessage(playerid, COLOR_GREY,"Du bist nicht in der Nähe von einem Familienauto !");
}
}
}
return 1;
}
GANZE ENUM VON MEINEN:
enum fvInfo
{
fvModel,
Float:fvX,
Float:fvY,
Float:fvZ,
Float:fvRot,
fvCol1,
fvCol2,
fvFam,
fvLocked,
fvID
};
Kann mir das jemand anpassen iwi klappts das net ich weis net was ich dahin machen muss damit bei meinen klappt..