new Locked[MAX_VEHICLES] = 0;
Zu
new Locked[MAX_VEHICLES];
Beiträge von Jeffry
-
-
Diese Funktion sollte dir helfen:
stock SetPlayerLookAt(playerid, Float:X, Float:Y)
{
new Float:Px, Float:Py, Float: Pa;
GetPlayerPos(playerid, Px, Py, Pa);
Pa = floatabs(atan((Y-Py)/(X-Px)));
if (X <= Px && Y >= Py) Pa = floatsub(180, Pa);
else if (X < Px && Y < Py) Pa = floatadd(Pa, 180);
else if (X >= Px && Y <= Py) Pa = floatsub(360.0, Pa);
Pa = floatsub(Pa, 90.0);
if (Pa >= 360.0) Pa = floatsub(Pa, 360.0);
SetPlayerFacingAngle(playerid, Pa);
}
http://forum.sa-mp.com/showpost.php?p=3266453&postcount=4 -
Nein, ich würde es dir dann so vorschlagen:
for(new w=0; w < sizeof(Weizen); w++)
{
if(Weizen[w][w_Z] == 0.0)
{
//Objekt erstellen
return 1;
}
}
//Maximum erreichtUnd wenn du das Objekt entfernst, setzt du w_Z wieder auf 0.
-
if(Anzahl_Der_Erstellten_Weizen >= sizeof(Weizen))
{
//Maximum erreicht
} -
Weizen[w][besitzer] = playerid;
Genau so.
-
Du weißt der Variable engine nie einen Wert zu, das musst du noch machen, zum Beispiel mit GetVehicleParamsEx.
-
Eigentlich schon, ja. Es würde reichen, wenn du einen enum Wert anlegst, der Besitzer oder so heißt, und dort die playerid zuweist.
-
Dann kannst du ja dort:
new stern = WantedLevel[i];
zu:
new stern = GetPlayerWantedLevel(i);
machen, oder du erhöhst bei OnPlayerDeath die Variable "WantedLevel[playerid]" entsprechend.Oder, alternativ, du entfernst das SetPlayerWantedLevel aus dem Timer.
-
Nutzt du irgendwo anders noch SetPlayerWantedLevel (vielleicht in einem Timer), oder hast du einen Anti-Cheat, der das vielleicht verursacht?
Normalerweise verringern die Wanteds nicht von selbst. -
Ich verstehe nicht ganz was du abfragen willst.
Du erstellst das Objekt als Player-Objekt und im Array hast du die playerid. Was genau willst du abfragen? Der Spieler selbst kann ja nur seine Pflanzen sehen. -
Du musst beim LoginPlayer den Wert aus den Daten laden (wie zum Beispiel die Kills oder das Geld) und dann abfragen:
if(sInfo[playerid][timeban] > gettime())
{
//Spieler noch gebannt.
} -
Das ist korrekt, das ist der Wert des Timestamps 5 Minuten nach dem Ban.
-
Dann kannst du es so machen:
ocmd:fulock(playerid)
{
if(!IsPlayerInFrakt(playerid,1)&&!IsPlayerInFrakt(playerid,16)&&!IsPlayerInFrakt(playerid,6)&&!IsPlayerInFrakt(playerid,13)&&!IsPlayerInFrakt(playerid,12))return 1;
new vehicleid;
if(!IsPlayerInAnyVehicle(playerid))
{
vehicleid=GetNearestVehicle(playerid,6,true);
}
else
{
vehicleid=GetPlayerVehicleID(playerid);
}
for(new i=1; i<sizeof(FraktAuto); i++)
{
if(vehicleid == FraktAuto[i][id_x])
{
if(!IsPlayerInFrakt(playerid,FraktAuto[i][besitzer]))
{
SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht in der Fraktion dieses Fahrzeugs.");
return 1;
}
if(!isVehicleLocked(vehicleid))
{
lockVehicle(vehicleid);
GameTextForPlayer(playerid,"~w~Fahrzeug ~r~abgeschlossen",1500,3);
}
else
{
unlockVehicle(vehicleid);
GameTextForPlayer(playerid,"~w~Fahrzeug ~g~aufgeschlossen",1500,3);
}
break;
}
}
return 1;
} -
Ja, nur musst du schauen, welche Werte die großen sind, und welche die kleinen.
IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
Dazu dann:
AddPlayerClass(26,-1191.2891,-930.9543,129.2188,186.3133,0,0,0,0,0,0); //
AddPlayerClass(26,-1007.6477,-1060.6648,129.2188,1.9405,0,0,0,0,0,0); //Die können auch bei anderen saves anderherum sein, das kommt drauf an, in welchen beiden Ecken du die save's machst.
-
Willkommen zurück
Hoffentlich hattest einen schönen Urlaub !Dankeschön, ja hatte ich!

Ich weiß jetzt zwar wie ich die Autohäuser definiere was schon mal ein guter Anfang ist, aber nicht wie ich das ganze eben auf mein altes System überschreibe.
Inwiefern soll das mit dem "alten System" verbunden werden, und was ist das alte System?
-
Wie weist du dem Fahrzeug die Fraktion zu? Beim erstellen? Poste gegebenenfalls mal den Code, mit dem du das machst.
-
Versuche mal, den Filterscript in der server.cfg bei "filterscripts" an erste Stelle zu schreiben.
-
Die Interior ID trägst du bei SetPlayerInterior ein.
Die x, y, z, a trägst du im Array DeagleSpawns ein (von /save).
-
Dann musst du zu diesem Befehl noch ein SetPlayerInterior hinzufügen.
SetPlayerInterior(playerid, NUMMER_HIER);
Dort trägst du die Interior ID ein, die du haben willst. Die kannst du im Spiel mit /Interior herausfinden.
Gegebenenfalls musst du die Koordinaten zu denen im Caligulas anpassen, falls das nicht diese sind (/save).
-
if(IsPlayerInArea(playerid,-1191.2891,-930.9543,-1007.6477,-1060.6648))
Zu
if(IsPlayerInArea(playerid,-1191.2891,-1060.6648,-1007.6477,-930.9543))Da -1060 kleiner ist als -930.