Gibt ja fürs streamen ein Callback:
https://wiki.sa-mp.com/wiki/OnActorStreamIn
https://wiki.sa-mp.com/wiki/OnActorStreamOut
Gibt ja fürs streamen ein Callback:
https://wiki.sa-mp.com/wiki/OnActorStreamIn
https://wiki.sa-mp.com/wiki/OnActorStreamOut
Doofe Frage aber bist du auch im richtigen Int ?
Das Textlabel fehlt anscheinend ja auch.
Nur um nochmal alles zusammenzufassen, da hier einige Leute falsches über richtiges erzählt haben und die Diskussion dann glaubig sein Ende finden kann.
1. Die 10.000€ waren Eigenkapital, dass bereits in den Entwicklungsjahren vor dem Kickstarter ausgegeben wurde.
2. Das Geld von den Backern auf der Kickstarter Seite haben sie nie bekommen, weil ihr Kickstarter abgebrochen wurde und das Geld somit auch nie bei Kickstarter gelandet oder gar von den Unterstützern abgezogen wurde.
3. Ebenfalls war der Grund nicht einer von diesen:
3.1. Sondern nach Angaben in einem Kickstarter Interview:
Alles anzeigenEnglisch:
"Our rules and policies encourage developers to increase the amount of money needed to complete a project and fulfill all the rewards," a Kickstarter representative told PCGamesN. "This creator said in an update that he would need to raise additional funds outside of Kickstarter to complete the game. We demand that projects be presented honestly and clearly, and this project has not met this standard. "
Deutsch:
Unsere Regeln und Richtlinien fordern die Entwickler auf, den Geldbetrag zu erhöhen, der erforderlich ist, um ein Projekt zum Abschluss zu bringen und alle Belohnungen zu erfüllen", sagte ein Kickstarter-Vertreter gegenüber PCGamesN. „Dieser Entwickler gab in einem Update an, dass er zusätzliche Mittel außerhalb von Kickstarter sammeln müsste, um das Spiel abzuschließen. Wir fordern, dass Projekte ehrlich und klar präsentiert werden, und dieses Projekt hat diesen Standard nicht erfüllt. “
3.2. Man sieht also: Es war Killerwhale Games nicht gestattet noch an anderer Stelle Spenden anzunehmen, was sie jedoch mehrfach angekündigt haben.
Sie hätten stattdessen den Betrag auf Kickstarter anpassen müssen, was nicht geschehen ist, weshalb das ganze beendet wurde.
Um mal von dem Thema abzukommen gehe ich hier noch schnell darauf ein, dass heute im RAW - Discord und ggf. auf YT ein neues Gameplay Video erscheinen soll.
Ich bin ja sehr drauf gespannt, ob uns was Neues oder doch nur ein Abklatsch vom Trailer in anderer Perspektive gezeigt wird.
Over and Over and Out and Over and Ovout and Out and Over and Out
war doch abzusehen das sowas passiert.
vom ersten tag an wo davon berichtet wurde war ich ultra skeptisch das es was wird da man mit 3man nie im leben ein komplettet spiel mit so einer hohen auflösung in nur 2 jahren komplett fertig bringen kann oder in eine art early accest version bringen kann.
alleine schon nur 70.000$ war für mich auch ein punkt weswegen ich nichts dabei gegeben habe da es merkwürdig ist.
@Eddyda hast du vollkommen recht denn wie sagt mein opa immer gerne:
"Mach die Augen auf und lese dir alles genau durch"
Da frage ich mich ob du den Grund für die Einstellung des Crowdfunding auch schon im englischen erlesen hast. Der Grund hatte nämlich nicht damit zu tun, dass hier ein sogenannter
"Scam" vorliegt. Google mal selber. Auf das du es findest und merkst, dass es immernoch kein Argument dagegen gibt.
Es ist immer die selbe Rotation falsch.
Schon versucht die betroffene Objektrotation scriptseitig überall anzupassen ?
Hat niemand ne idee..?
Wird dein Textdraw mehrfach erstellt ? Es wird soweit ich weiß nur das letzte Textdraw gelöscht, heißt wenn du 2x das gleiche Textdraw showst, ist es doppelt da, kann aber nicht doppelt wieder versteckt werden.
Bin mir aber nicht sicher... hatte mal ein ähnliches Problem
Da ich und BrightLeaN uns darüber per Skype unterhalten haben und ich euch nur informieren wollte, dass es gelöst ist.
Das mit der MAX_VEHICLES haben wir selbst bereits bemerkt.
Schön, dass du das gleich so formulierst als hätte ich eine schwere Straftat begangen, wobei diese variable ja wohl Standard shit und nichts einzigartig schweres ist.
Btw hab ich dieses leicht abgewandelte selbst geschrieben und wollte damit nicht jemand anderes Code klauen, sondern einfach nur Bescheid geben, damit man sich nicht länger drüber Gedanken machen muss. @Akino Kiritani
stock isVehicleValidByPlate(plate[])
{
for(new i=0, j=MAX_VEHICLES; i<=j; i++)
{
if(!strcmp(plate, vehData[i][e_Kennzeichen])) return i;
}
return -1;
}
Löst sein Problem komplett.
Man kann dann in der Abfrage sowohl auf ID als auch auf Existenz prüfen, wenn man richtig denkt.
if(isVehicleValidByPlate(plate) >= 0 && isVehicleValidByPlate(plate) <= MAX_VEHICLES) return SCM(ID, Farbe, "Fahrzeug existiert mit ID %d", ID …);//Natürlich format
if(isVehicleValidByPlate(plate) == 0) return SCM(…,...., "Fahrzeug existiert nicht");
Habe es jetzt wie folgt vor.
Darf man in zwei Variablen auf die Enums zugreifen, wie hier?
So würde ich mir das doppelte schreiben der Enums sparen und kann einfach den unterschied anhand der variablen setzen:
enum CarInfo
{
cID,
cDB,
cCartype,
cOwner,
cAllowed,
cModel,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
cPlate[32],
cFuel,
cFuelmax,
cKilometer,
cTurbo,
cColor1,
cColor2,
cWheels,
cNitro,
cPaintjob,
cSpoiler,
cExhaust,
cSideskirt,
cRooftop,
cEnginetop,
cStereo,
cHydraulics,
cRearbump,
cFrontbump
}
new pcInfo[MAX_PLAYERS][MAX_CARKEYS][CarInfo];
new ccInfo[MAX_PLAYERS][MAX_CREW_CARKEYS][CarInfo];
Alles anzeigen
Stack/heap size: 479240128 bytes; estimated max. usage: unknown, due to recursion
Du hast höchstwahrscheinlich einen viel zu großen String, der kleiner sein könnte. Teste alle strings in der Funktion die das auslöst und ändere die Größe ggf.
Joa, darüber habe ich auch schon nachgedacht nur wie regle ich dass dann, dass man etwas für einen bestimmten Carkeyslot einer bestimmten fahrzeugart setze.
cInfo[MAX_FAHRZEUGART][MAX_CARKEYS][EnumInfo]
Problem hierbei: wie ordne ich die Art einer Frak zu?
Oder geht das auch mit noch einem Array:
cInfo[MAX_FAHRZEUGART][OWNER][MAX_CARKEYS][EnumInfo]
Mach doch einfach ein allgemeines Fahrzeugenum und nimm als Variable noch "FahrzeugArt" dazu halt ob es Spieler,Admin,Crewfahrzeug usw ist.
Und wie prüfe ich dann wem das Fahrzeug gehört bzw. obs einer Crew, einem Spieler oder einer Frak gehört, wenn die FrakIDs, CrewIDs und SpielerIDs bis zu einem bestimmten Wert gleich sein können? Ich hatte diesen Gedanken ja auch schon. Man könnte auch jeder Crew, Frak und Spieler eine OwningID zuweisen, die sich nicht mit den anderen überlappt.
Huhu,
ich stehe aktuell vor dem Problem, dass ich für meinen Server ein Fahrzeugsystem scripten möchte.
An sich wäre das kein Problem für mich, jedoch würde ich gerne ein System für alle Fahrzeugtypen scripten, sodass ich nicht für folgende Fahrzeug auf dem Server je ein eigenes System oder
zumindest einzelne Funktionen scripten muss:
-Spielerfahrzeuge
-Adminfahrzeuge
-Crewfahrzeuge
-Fraktionsfahrzeuge
-ggf. Jobfahrzeuge
standardmäßig würde man ja soweit ich weiß
bei Fraktionsfahrzeugen...
FCarInfo[MAX_FRAKS][MAX_FRAK_CARKEYS][Enum],
bei Spielerfahrzeugen...
PCarInfo[MAX_PLAYERS][MAX_PLAYER_CARKEYS][Enum]
und und und machen.
Gibt es eine Möglichkeit, dass ganze irgendwie zusammenzufassen, sodass man nicht in MAX_PLAYERS, MAX_FRAKS etc. bei der Variable unterscheiden muss.
Ansonsten müsste man doch auch die ganzen Enums separat scripten.
auf MAX_VEHICLES würde ich ungerne zurückgreifen, da man damit ja sicherlich nur schwer Carkeys zuweisen kann
Ich danke allen die mir hiermit irgendwie zu helfen versuchen schonmal im Voraus.
Ist es möglich, wenn man einen MAX_WERT definiert hat, diesen dann auch im Minus zu nutzen?
Define:
Hier wird es angewandt
Ist es mir nun möglich, dass MAX_OWNER ein Minus-Wert sein kann trotzdem auch bis 500 sein kann ?
Ich hoffe das ist einigermaßen verständlich.
PS: Hier wird bewusst nicht MAX_PLAYERS benutzt!
Also es kommt denke ich mal drauf an was die Schleife alles macht und wofür genau du sie nutzt. Überleg aber vielleicht ob du dafür wirklich eine schleife brauchst oder ob diese auch wirklich so groß sein muss.
Hey,
bin aktuell an einer Uhr mithilfe eines Textdraws + Timer.
Das Problem ist, dass das Textdraw sich mit dem vorherigen überlappt und dieses irgendwie einfach nicht gelöscht wird.
Var;
Create
TimeDraw = TextDrawCreate(547.000000, 19.288877, "00:00");
TextDrawLetterSize(TimeDraw, 0.492998, 2.390223);
TextDrawAlignment(TimeDraw, 1);
TextDrawColor(TimeDraw, 5684479);
TextDrawSetShadow(TimeDraw, 0);
TextDrawSetOutline(TimeDraw, 1);
TextDrawBackgroundColor(TimeDraw, 51);
TextDrawFont(TimeDraw, 2);
TextDrawSetProportional(TimeDraw, 1);
Forward/Public
forward SetTime();
public SetTime()
{
new hour, minute, second, string1[16];
gettime(hour, minute, second);
TextDrawHideForAll(TimeDraw);
format(string1, sizeof(string1), "%02d:%02d", hour, minute);
TextDrawSetString(TimeDraw, string1);
TextDrawShowForAll(TimeDraw);
return 1;
}
Alles anzeigen
Ich wollte jetzt nicht unbedingt eine For-Schleife durch alle Spieler dafür nutzen.
Also wenn das ganze Projekt und vor allem die Werbung nochmal durchdacht wird, bin ich gerne bereit mir den Server nach release genauer anzuschauen.
Also ich kann mich hier leider wirklich nur den vorherigen Beiträgen anschließen.
Alleine schon, dass die ersten Sätze der Serverwerbung folgendes beinhalten:
GamingNetwork-Dragon
Erlebe was neues ~ Open Beta Serverstart: 03.07.2019 12.00Uhr
… dies aber nichtmal in der Server Werbung umgesetzt oder zumindest näher beschrieben wird.
Was habt ihr denn Neues vor ?
Bei uns geht es allgemein viel schneller als auf anderen Server.
Was ist denn "allgemein" langsamer auf anderen Servern ?
Unser Spielprinzip ist es das Spieler die schnell in eine Fraktion wollen auch schnell in eine Fraktion kommen bzw die Aufforderungen erfüllen.
Wir denken eben das 2019 keiner bock hat 20 Stunden erst zu jobben, um sich dann erst bei einer Fraktion zu bewerben, die Leader haben auch selbst die entscheidung(außer das LSPD/Medic/Oamt) ob sie einen Member mit bewerbung oder ohne annehmen.
Nichtmal dieses Spielprinzip ist neu. Die Folgen daraus kann man auch jetzt schon aufzählen:
Ein Server bei dem man ohne große Schwierigkeiten an gewisse Positionen in Fraktionen gelangt hat meistens 0 Ordnung.
Ein schneller Server ist für schnelle Spieler und wer schnell spielt ist auch schnell wieder mit dem Spiel durch.
Was ich damit sagen will: Auf einem Server muss nicht alles schneller oder besser sein als auf anderen Servern. Er muss nur das gewisse Etwas haben, das den Reiz auslöst auf lange Zeit zu spielen und den Server mit Aktivität zu unterstützen. Wenn alles ist wie immer und man dann auch noch schnell alle bereits bekannten Funktionen spielen kann, ist dieser Reiz nicht vorhanden und man gönnt sich schnell einen Leaderposten um nach 3Tagen SDM nicht mehr zu spielen.
Erst wollen wir mit die manber den Server so auf bauen das die mit entscheiden dürfen und sich auf neu überraschen lassen. Und das 2 mit denn Forum gegn sich selber das Scheiben das soll nur als Vorlage sein
Dieser Gedanke ist natürlich an sich sehr schön, jedoch hat dies noch nie geklappt.
Niemand wird jemals einen Server aufbauen, der den Standardkram beinhaltet und ihn dann auf Grundlage von Communityvorschlägen erweitern, denn:
1. Es wird keine Community existieren, wenn diese schon beim ersten Serverbeitritt durch nichts am Server gehalten wird.
2. selbst wenn sich über die ersten Tage nach dem Release noch einige Spieler auf dem Server aufhalten, wird der Scripter nicht schnell genug sein große gewünschte Updates in angemessener Zeit umzusetzen.
Ich denke mal ich habe an dieser Stelle genug geschrieben, um zu zeigen, weshalb @redover seine genauen Pläne für das Projekt nochmal überdenken sollte.
Alles anzeigenCformat(string_tmp1, sizeof(string_tmp1), "(%s) %d", getMonat(Month), Year); AHVehTypes1[FahrzeugID][AHVbaujahr] = string_tmp1;
Die Variable wird als String gesetzt AHVbaujahr[20]
Jetzt will ich den String übertragen auf eine andere Variable P_Baujahr[20]
Die erste Variable zeigt mir nur 1 Zeichen an "(" und die 2. Variable zeigt mir alles richtig an.
Woran liegt das?
Strings weist du einer Variable am besten immer per:
zu.
Sollte so funktionieren, wenn du die LÄNGE dazuschreibst