14 min Video..ne danke
Ersten 30 Sekunden reichen aus, um zu verstehen worum es geht ![]()
14 min Video..ne danke
Ersten 30 Sekunden reichen aus, um zu verstehen worum es geht ![]()
Hier gehts ja wieder zu ![]()
Habt ihr das mal gesehen? ![]()
Das ist glaube ich das erste wirkliche "creepy" Video auf YouTube hahaha xD
Nimmt er dann auch immer die Richtige höhe wenn das Auto am Hang oder so steht wenn ich es einmal richtig eingestellt habe ?
Jap, da ja immer die Z-Achse (also die Höhen Achse) vom Auto genommen wird und du relativ dazu das einstellst ![]()
Da ich mit ein Müllmann System Bastle und das Funktioniert auch, aber nur wenn das Fahrzeug gerade steht.
Hier mal ein Beispiel, wie er immer die richtigen Rotations Achsen nimmt, also bei jeder Rotation vom Auto die Tonne hinten ist.
Das mit der Höhe der Tonne kannste ja selbst justieren ![]()
Am besten pack das in ein Filterskript und lad es ingame mit den neuen Daten immer neu, oder pack es in einen Command, damit das ganz schnell geht ![]()
Kannst natürlich auch einen Editor verwenden, gibt viele Möglichkeiten sowas schnell zu justieren
new Float:wide, Float:long, Float:hight,Float:x,Float:y,Float:z,Float:a;
GetVehicleModelInfo(408, VEHICLE_MODEL_INFO_SIZE, wide,long,hight);
GetVehiclePos(veh,x,y,z),GetVehicleZAngle(veh,a); //veh = vehicleid vom Müllfahrzeug
x -= (long/2) * floatsin(-a, degrees); //Falls das nicht perfekt passen sollte, zieh noch etwas ab, wie -0.5 oder so
y -= (long/2) * floatcos(-a, degrees); //Falls das nicht perfekt passen sollte, zieh noch etwas ab, wie -0.5 oder so
z -= 0.5; //Hier kannst du die Höhe der Tonne justieren
SetObjectPos(tonne,x,y,z); //tonne = objektid von der Mülltonne
Bin ja mal dafür, dass alle Brotfische in der Umgebung von Hannover mal einen trinken gehen. Wär bestimmt lustig.
Joa mit ~100 Kindern mal eine Fanta oder sogar eine Cola trinken zu gehen, wäre bestimmt echt lustig ![]()
Kannst ja mal in den Thread schauen: http://forum.sa-mp.com/showthread.php?t=557644
oder in 1000 weitere, dieses Thema wurde so oft schon diskutiert.
Um es kurz zu machen, wenn man auf dem Desktop ist / oder im Menü, dann wird OnPlayerUpdate für den Spieler nicht aufgerufen.
Und das kannst du natürlich wie oben gezeigt ausnutzen.
Eine Korrektur nur, nimm nicht GetTickCount, wenn du die afk Zeit bestimmten willst, sondern gettime() ![]()
Am besten so:
//Schreib dein Enum so:
enum Drugs{DrugsObjekt,Text3D:Drugs3DText, bool:gepflanzt,Drugtime,gepflanzt1,d_Timer};
//Dann im Befehl den Timer so:
DrugsInfo[playerid][d_Timer] = SetTimerEx("Drug",300000,false,"i",playerid);
//Und unter OnPlayerDisconnect:
if(DrugsInfo[playerid][d_Timer])
{
KillTimer(DrugsInfo[playerid][d_Timer]);
DrugsInfo[playerid][d_Timer] = 0;
}
Alles anzeigen
SetTimer("Drug",300000,false);
Hier übergibst du keine playerid.
Somit wird immer 0 genommen als Default Wert.
Da du auf dem Server wahrscheinlich ID 0 bist, bekommst du das andauernd ![]()
Machen musst du das mit:
SetTimerEx("Drug",300000,false,"i",playerid);
Beachten solltest du aber bei der Methode 2 Dinge:
Nein, das ist ein Enum.
Ich suche nach public Drug ![]()
Wie sieht denn die Drug Funktion aus? ![]()
Finde ehr nicht.. Unnötig sowas.
Also Breadfisch Skriptern heutzutage noch das Skript anzuvertrauen ist schon sehr fahrlässig, wenn man diese nicht mal richtig kennt und keine Daten hat...
Nicht umsonst hatten soo viele Projekte genau das selbe Problem wie du, ach wie viele Pranger gab es da schon.
Was meinst du denn, wieso soviele Skripte im Umlauf sind? hahaha xD
Kann halt sowas nicht verstehen, man kann auch unabhängig vom Gamemode arbeiten, mit Includes, die dann später einfach eingebettet werden.
Was soll dazu gezählt werden?
Ich kenne dein System leider nicht, tut mir Leid.
Aber prinzipiell sollte es da eine Variable geben auf die du zugreifen kannst ![]()
Warum steht eigentlich ein Minus davor wen das Biz Produkte benötigt..
Das kannst du einfach ändern indem du das Makro so schreibst:
#define getProdukts(%0) (Biz[%0][bMaxProdukte]-Biz[%0][bProdukte])
Hatte das nur so von dir übernommen gehabt.
Und er hat halt immer von dem kleinen das Große abgezogen.
Somit stand halt überall (z.B.): 4-5 = -1 anstatt 5-4 = 1 ![]()
Weil halt 1 Produkt gefehlt hat.
Um den Knoten mal platzen zu lassen.
CMD:lieferung(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if((GetVehicleModel(vehicleid) == 515 || GetVehicleModel(vehicleid) == 514) && GetVehicleModel(GetVehicleTrailer(vehicleid)) == 435)
{
#define getProdukts(%0) (Biz[%0][bProdukte]-Biz[%0][bMaxProdukte])
new string[550];
format(string,sizeof(string),"Ammunation LS\t\t\t\tBenötigt: %d Produkte\nBurgershot Hauptsitz\t\t\tBenötigt: %d Produkte\nClucking Bell Hauptsitz\t\t\tBenötigt: %d Produkte\n",
getProdukts(1), getProdukts(2), getProdukts(3));
format(string,sizeof(string),"%sPizza Stack Hauptsitz\t\t\tBenötigt: %d Produkte\n24/7 Supermarkt Hauptsitz\t\tBenötigt: %d Produkte\nPaintball Arena\t\t\t\tBenötigt: %d Produkte\nAdvertise Biz\t\t\t\tBenötigt: %d Produkte\n",
string, getProdukts(4), getProdukts(5), getProdukts(6), getProdukts(7));
ShowPlayerDialog(playerid,DIALOG_FIRMEN,DIALOG_STYLE_LIST,"Transport GmbH - Firmen Übersicht",string,"GPS","Schließen");
#undef getProdukts
}
return 1;
}
Alles anzeigen
Da, deine Lösung, wenn du statisch schon die Namen darein packst, dann musste auch deine Abfragen statisch machen...
Sowas solltest du über einen Timestamp machen, da wird das automatisch abgezogen + egal ob er online oder offline ist ![]()
//Beispiel: time in Minuten eingeben
dini_IntSet(Spieler, "MuteTime", gettime()+60*time);
//Prüfen ob die Zeit abgelaufen ist:
new zeit = dini_Int(Spieler,"MuteTime");
if(zeit > gettime())
{
//Hier ist er noch gemutet
new string[128], t = zeit-gettime();
format(string,sizeof(string),"Du bist noch %d Minuten und %d Sekunden gemutet!",floatround(t/60, floatround_floor),t%60);
}
else
{
//Hier nicht mehr
}
Alles anzeigen
weiß ja nicht was...
Wie oft wird dir n das ausgegeben?
Denn eigentlich sollte das MAX_BIZ mal gespammt werden ![]()