Hallo User,
Ich suche, das z.b skinid 188 nur die cars benutzen können und wenn anderen skin sind z.b 100 dann muss er RemovePlayerFromVehicle(playerid); bekommen,
danke im voraus
mfg france
Auto nur für bestimmte skin
- Tyler_Capone
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
die gewünschten AUtos via for-Schleife herrasufiltern, dann bei
OnPlayerStateCHange abfraen, ob das Auto in das der Spieler einsteigt eines dieser Fahrzeuge ist, dann den Skin abfragen, wenn das nicht passt - Remove, ansonsten nichts.
-
hab so
Ongamemodeit....carskin = AddStaticVehicle(522,2494.4177,-1674.3195,12.8919,328.1621,3,8); // nrg-500
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(IsPlayerInVehicle(playerid,carskin))
{
if(GetPlayerSkin(playerid) == 188)
{
}
else
{
RemovePlayerFromVehicle(playerid);
}
}return 1;
}
aber das fehler wo liegt das ich kann mit jedem skin es fahrenEdit: was vergessen
-
Hey,
Wie geht es, dass nur eine Fraktion ein Auto fahren kann? -
//Ganz oben
new SkinAuto[4];
forward IsASkinAuto//Unter OnGameModeInit
SkinAuto[0] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[1] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[2] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[3] = AddStaticVehicle(CARID,XYZ...);public IsASkinAuto(carid)
{
for(new i = 0; i < sizeof(SkinAuto); i++)
{
if(carid == SkinAuto[i])
{
return 1;
}
}
return 0;
}//Unter OnPlayerStateChange
new newcar = GetPlayerVehicleID(playerid);if(IsASkinAuto(newcar))
{
new Skin[MAX_PLAYERS];
Skin = GetPlayerSkin(playerid);
if(!Skin[playerid] == SkinID)
{
SendClientMessage(playerid,farbe,"Du brauchst die Skinid: (Skinid)!.");
RemovePlayerFromVehicle(playerid);
}
return 1;
}Ungetestet!
@Dollar, schau dir das beispiel an.
Mfg
-
Wäre sowas richtig, wenn ich 2 Fraktionen hätte?
//Ganz oben
new SkinAuto[2];
forward IsASkinAuto//Unter OnGameModeInit
SkinAuto[1] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[2] = AddStaticVehicle(CARID,XYZ...);public IsASkinAuto(carid)
{
for(new i = 0; i < sizeof(SkinAuto); i++)
{
if(carid == SkinAuto[i])
{
return 1;
}
}
return 0;
} -
Nur noch unter OnPlayerStateChange
einbauen wie bei meinem ersten Post das die Nachricht kommt falls der Spieler nicht in der Fraktion ist,
bsp GF PlayerInfo[playerid][pMember] == Zahl) .
Nur halt für jede Fraktion musste des machen.Mfg
-
Mache selfmade. Habe da kein PlayerInfo
-
Wenn du Fraktionen erstellst hast,
musst du dort die abfrage einfügen.Mfg
-
so habe ich es gemacht:
Beispiel:#define fraktname0 "Zivilist"
#define zivispawn 1154.7126,-1768.8016,16.5938public OnPlayerSpawn(playerid)
{
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{SetPlayerPos(playerid,zivispawn}
}
return 1;
}public OnPlayerCommand.....
if(strcmp(cmdtext,"/stats",true)==0)
{
new string[128];
new frakname[64];
switch(GetPVarInt(playerid,"Fraktion"))
{
case 0:{frakname=fraktname0;}// usw...
Wo sollte ich dann ich abfrage einfügen? Habe die Fraktion in mehreren Orten erstellt^^
Habe erst vorgestern angefangen zu scripten :\
LG und danke für deine Hilfe!
-
man wieso antwortet ihr auf dollar frage und meine nicht?
-
@france:
Dir wurde doch deutlich beschrieben, was Du machen musst oO
//Ganz oben
new SkinAuto[4];
forward IsASkinAuto//Unter OnGameModeInit
SkinAuto[0] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[1] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[2] = AddStaticVehicle(CARID,XYZ...);
SkinAuto[3] = AddStaticVehicle(CARID,XYZ...);public IsASkinAuto(carid)
{
for(new i = 0; i < sizeof(SkinAuto); i++)
{
if(carid == SkinAuto[i])
{
return 1;
}
}
return 0;
}//Unter OnPlayerStateChange
new newcar = GetPlayerVehicleID(playerid);if(IsASkinAuto(newcar))
{
new Skin[MAX_PLAYERS];
Skin = GetPlayerSkin(playerid);
if(!Skin[playerid] == SkinID)
{
SendClientMessage(playerid,farbe,"Du brauchst die Skinid: (Skinid)!.");
RemovePlayerFromVehicle(playerid);
}
return 1;
}Er hat Dir gleich zuerst geantwortet..
Grüße,
tonyalva -
Wie soll ich es denn jetzt machen?
Soll ich ein new, ein forward und ein public machen?
Wenn ja. Könnt ihr mir bitte eins kurz machen? Lerne erst -
Bei OnPlayerStateChange solltet ihr den Change noch mit angeben
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
// Autoabfrage
// Skinabfrage etc.
}
return 1;
}EDIT: [pwn] vergessen <.<
-
breadfish.de
Hat das Thema geschlossen.