forward paydaydraw(playerid);
public paydaydraw(playerid)
{
new paydaystring[100];
format(paydaystring, sizeof(paydaystring),"{0091FF}Payday: {FEFEFE}%d{0091FF}/60 Minuten", SpielerInfo[playerid][Paytime]);
PlayerTextDrawSetString(playerid, paydayzeit[playerid], paydaystring);
return 1;
}
Beiträge von Jeffry
-
-
switch(pInfo[playerid][Member])
Zu
switch(PlayerInfo[playerid][Member]) -
Steht im Server Log wenn du den Server startest.
-
Hast du es mit einem der Editoren versucht, ob du da was siehst?
Alternativ, hast du es mit einem anderen Objekt versucht (ebenfalls mit dem Editor)? -
new Float:x, Float:y, Float:z;
GetPosVorVeh(vID, -5.0, x, y, z);
//Checkpoint an x, y, z erstellen.Mit:
stock GetPosVorVeh(vehicleid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
{
new Float:a;
GetVehicleZAngle(vehicleid, a);
GetVehiclePos(vehicleid, x, y, z);
x += (dist * floatsin(-a, degrees));
y += (dist * floatcos(-a, degrees));
return true;
}Negative Distanz nach vorne = Distanz nach hinten.
Man kann die Funktion auch umschreiben, aber warum zwei Funktionen machen, wenn es auch so geht. -
Das kann ich dir so nicht direkt sagen, aber ich kann dir sagen wie du es besser machen kannst:
GetPosVorVeh(vID, -5.0, x, y, z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z);Mit:
stock GetPosVorVeh(vehicleid, Float:dist, &Float:x, &Float:y, &Float:z) //©Jeffry
{
new Float:a;
GetVehicleZAngle(vehicleid, a);
GetVehiclePos(vehicleid, x, y, z);
x += (dist * floatsin(-a, degrees));
y += (dist * floatcos(-a, degrees));
return true;
}Das wäre nun: 5 Meter hinter der Mitte der vehicleid (also der hintere Teil, je nach dem wie groß das Fahrzeug ist), und da muss der Spieler in zwei Meter Umkreis drin sein.
-
Welche MySQL Version nutzt du?
Zwecks dem Limit, nutze eine Funktion:
stock GetMaxAllowedVehs(playerid)
{
switch(SpielerInfo[playerid][Level])
{
case 1,2,3: return 2;
case 4..1000: return 3;
}
return -1;
} -
new str[145];
if(strval(result) < 0) format(str, sizeof(str), "Officer %s hat dir %d Wanteds abgezogen.", sendername, -strval(result));
else format(str, sizeof(str), "Officer %s hat dir %d Wanteds gegeben.", sendername, strval(result));
SendClientMessage(giveplayerid, 0xFF0000FF, str);
if(strval(result) < 0) format(str, sizeof(str), "Du hast %s %d Wanteds abgezogen.", giveplayer, -strval(result));
else format(str, sizeof(str), "Du hast %s %d Wanteds gegeben.", giveplayer, strval(result));
SendClientMessage(playerid, 0xFF0000FF, str);Dürfte so passen.
-
Hier haben wir so ein Garbage System mal durchgesprochen:
Garbage System frageDaran kannst du dich orientieren, vor allem mit den Codes gegen Ende.
Ansonsten funktioniert es relativ ähnlich wie dein anderes System an dem du grade arbeitest, mit dem austragen.
Ein komplettes System (selbst wenn es nur 2 Checkpoints sind, das macht vom Code keinen Unterschied) wird dir niemand schreiben, daran musst du selbst arbeiten. Vor allem deswegen, da niemand außer du deinen Code kennt. Versuche dich an dem System einfach mal, bei Fragen kannst du ja nachfragen. Lass dir Zeit, geh langsam an die Sache ran, denke nach und dann klappt das schon.
-
@BedrockMediaTV:
Du kannst nicht einfach irgendwelche Codes in einen Filterscript einfügen, ohne die Deklarationen zu haben.
Selbst wenn ich dir die jetzt mache wird es nichts bringen, da alle Werte auf 0 (bzw. leer) sind. -
Also geht es nur um diese Nachricht?
SendClientMessage(playerid,IGELB,"Du hast die Packet erfolgreich eingeladen Trage sie nun aus!");Entferne diese wo sie gerade ist und füge in Zeile 136 des Codes (nach dem %d/10 - SendClientMessage) das ein:
if(sInfo[playerid][post] == 10) SendClientMessage(playerid,IGELB,"Du hast die Packet erfolgreich eingeladen Trage sie nun aus!"); -
Ich verstehe nicht ganz was du meinst? Du kannst es damit auch kleiner skalieren, falls es zu groß ist.

-
CMD:enextround(playerid,params[])
{
SendClientMessage(playerid,0xFF0055FF,"Rooms unlocked, next round will start soon!");
static bool:status;
if(!status)
{
for(new i=0; i<sizeof(gObj); i++)
{
if(gObj[i] != -1) DestroyObject(gObj[i]);
gObj[i] = -1;
}
}
status = !status;
return 1;
}So wäre die Einrückung korrekt.
Zwecks der Nachricht, die wird nur an den Spieler gesendet, der den Befehl eingibt. Falls du es an alle senden willst, nutze SendClientMessageToAll. -
Falls nicht kannst du es mit den fScale Parametern größer machen:
https://wiki.sa-mp.com/wiki/SetPlayerAttachedObject -
Du musst es so deklarieren:
enum sinfoenum {
ges,
}
new sInfo[MAX_PLAYERS][sinfoenum]; -
@[LnD]JustMe.77:
Nutze in dem Befehl, der das machen soll einfach:
CountDownObjekte(playerid, 0); -
Auf Anfrage in PN:
Nutze einen Editor um die richtige Position herauszufinden:
http://forum.sa-mp.com/showthread.php?t=196342
oder
http://forum.sa-mp.com/showthread.php?t=209234Damit kannst du ziemlich leicht die Position herausfinden.
-
if(strval(result)+WantedLevel[giveplayerid] > 6)
{
SendClientMessage(playerid, COLOR_WHITE, "Spieler kann maximal 6 Wanteds haben.");
return 1;
}
if(strval(result)+WantedLevel[giveplayerid] < 0)
{
SendClientMessage(playerid, COLOR_WHITE, "Spieler kann nicht weniger als 0 Wanteds haben.");
return 1;
} -
Du hast es in Zeile 126 eingefügt, ich meinte die Nachricht in Zeile 82.
Ändere das und teste es dann nochmal. -
if(strval(result)+WantedLevel[giveplayerid] > 6 || strval(result)+WantedLevel[giveplayerid] < 0)
{
SendClientMessage(playerid, COLOR_WHITE, "Nur zwischen 0 und 6 möglich.");
return 1;
}Meinst du so?