Um was für Systeme es sich grob handelt..wäre doch schon irgendwie relevant oder? ![]()
Beiträge von Kaliber
-
-
...gut dieser Codeschnipsel bringt nicht wirklich viel...
Zeig doch mal den ganzen Command

Damit wir sehen..wie du alles zuweist...etc

-
sollten die anderen Passanten die dies gesehen haben weg laufen.
Dies geht leider nicht...zum einen da die Routen...gerade sind, ist das nicht wirklich doll, zum anderen gibt es mit dem Rennen ein Problem bei der Synchronisierung...der Weg von den Actors wird ja von mir berechnet...aber wenn sie rennen...muss das alles ganz anders Synchronisiert werden...eigentlich bewegen sich actoren durch animationen nicht von der Stelle

Aber solch eine Synchro ist nicht so gut möglich..da der Tick Interval..so bei 2-5ms liegen würde...damit das flüssig aussieht..das nicht so ganz gesund

-
Zeig uns evtl deinen Code?

Sonst müssten..wir irgendwie raten..
-
Actors bleiben bei leeren Autos stehen. Ich sehe schon die 13 jährigen Kiddis die nen Sultan hinstellen und Actors stauen. Sich dann bei Mama ausweinen weil ihre Graka so viele Actors auf einem Fleck nicht hält.
Also das ist ja so ein Quatsch...
1. Kann man logischerweise nur mit dem Auto Actors anhalten die unmittelbar in der Nähe sind...ehh das bedeutet...alle die auf dieser kurzen Route laufen..und das sind vielleicht 1-2...
2. Hat das nichts mit der Graka zu tun...
3. Wird da nix überlastet...da die Actors so oder so sich bewegen..bzw eben nicht..und nur Animationen ausführen...das macht überhaupt keinen Unterschied, wenn die sich nicht bewegen, ist das sogar eigentlich noch besser, da keine Positionen gesetzt werden
Naja nichts besonderes... es gibt auch schon ein FS die diese Möglichkeiten bietet. Für die Mühe und Zeit... kann man es trotzdem Loben.
Nein es gibt noch kein Filterscript was auch nur in der Art so etwas macht.
Und das war nicht wirklich Zeit intensiv...sind nur um die 100-150 Zeilen...
-
War es nicht so, dass Actors nicht synchronisiert werden? Wie hast du das behoben?
Durch einen regelmäßigen Sync

Ich würde es noch besser finden, wenn man mehrere Knoten angeben kann, damit der Actor nicht nur starr geradeaus läuft.
Joaa könnt ich noch machen, wobei dann die Abfragen komplexer werden

Es wäre in dem Fall sogar einfacher andere Actors erstellen die dann einfach den neuen Weg lang laufen...xD -
Was soll das heißen ?
Dass dieses Plugin nicht in deinem Plugins Ordner ist...

Schau mal evtl auf den Namen und die Endung... .so und nicht .dll..und groß & Kleinschreibung...bla blub

-
Also, jeder von euch kennt das Problem welches man in SA:MP hat.
Zumindest hat es mich damals sehr gestört, als ich von dem Singleplayer in den Multiplayer Mode gegangen bin...es gibt keine Fußgänger mehr, die man hemmungslos abschlachten kann

Viele Server probieren dies mit Bots (NPCs) zu machen..aber das ist nicht wirklich elegant, da man ein externes Plugin brauch um das wirklich gut zu machen z.B. FCNPC...und naja, das frisst sowohl Server Slots, als auch CPU

Desweiteren ist es nicht wirklich leicht...diese einfach zu erstellen, dass sie schöne Routen laufen bzw viele auf einmal

Ich habe nun mal ein Filterscript erstellt, man dem man einfach ganz viele solcher Fußgänger erstellen kann und denen ein kleines Brain wie im Singleplayer gegeben.
Sie erkennen, wenn ein Auto vor ihnen steht und sie halten dann dementsprechend an, zu sehen in diesem Video:
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Weiterhin, wenn man sie bedroht nehmen sie die Hände hoch..und wenn man sie erschießt, kommt schönes Blut und man selbst hat dann Blut an den Füßen :3
Wie man hier schön sieht:
Externer Inhalt youtu.beInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.Das System funktioniert mit Actors die sich syncen. Der Prozess allerdings um z.B. ~25 Actors zu syncen dauert nur im maximum 1ms...
Insofern ist das eine effiziente Art diese zu erstellen:
Die Funktion dafür sieht nur so aus:
AddActor(skinid,Float:x,Float:y,Float:z,Float:a,Float:dis)
Und nun läuft der Actor immer gerade aus...bis die Distanz erreicht wurde...danach dreht er wieder um

Könnt ja mal paar Kommentare da lassen

Source-Code: Neues Dynamisches Fußgänger Skript :)
-
, jedoch denke ich das es definitiv einfach ist als z.B Clash of Clans.
Hahahaha

Klar, bin mir sicher Clash of Clans wurde in ner Woche von einer Person geschrieben..und nicht von einem großen Entwickler Team über mehrere Monate-Jahre...hinweg

Clash of Clans ist ziemlich komplex, auch wenn es auf dem ersten Blick nicht so aussieht

Flappy Bird hingegen ist nicht so eine große Herausforderung.
Es gibt auch im Internet viele Tutorials wie man genau sowas schreibt und besonders schöne Entwickler Tools, wenn man einen guten PC hat für den Emulator..etc
-
In diesem Fall kannst du eine sehr effiziente Variante nutzen und zwar ein schniekes Makro:
C
Alles anzeigen#define lformat(%0,%1,%2,%3,%4,%5); \ switch(PlayerInfo[%0][language]) \ { \ case 0,1: format(%1,sizeof(%1),%2,%5);\ case 2: format(%1,sizeof(%1),%3,%5);\ case 3: format(%1,sizeof(%1),%4,%5);\ } //Beispiel zur Nutzung: new string[50],name[]="Peter"; PlayerInfo[playerid][language] = 2; lformat(playerid, string, "Welcome %s!", "Willkommen %s!", "Benvenuto %s!", name); print(string); //Gibt aus: Willkommen Peter!mfg.

-
Mach mal folgendes:
C
Alles anzeigen//Sobald jemand die Arena betritt füge hinzu: SetPVarInt(playerid,"dm_arena",1); //Sobald jemand aus der Arena fliegt: DeletePVar(playerid,"dm_arena"); TextDrawHideForPlayer(playerid, PBText2); //So und deine Funktion änderst du um in: forward UpdatePaintBallInfo(); public UpdatePaintBallInfo() { static mi,se; if(paintballspieler < 1) //weniger als 1 Spieler { KillTimer(PaintBallEnde); timerstarted = false; RundeGestartet = false; mi = se = 0; } else if(paintballspieler > 0) //mehr als 1 Spieler { //PaintBallEnde = SetTimer("PaintballRundeVorbei", 15 * 60 * 1000, false); if(timerstarted == false) { PaintBallEnde = SetTimer("PaintballRundeVorbei", 5* 1000, false); } timerstarted = true; RundeGestartet = true; new tmp[11]; if(++se == 60) { se = 0; mi++; } format(tmp,sizeof(tmp),"%02d:%02d",mi,se); for(new i=GetPlayerPoolSize(); i!=-1; i--) { if(!IsPlayerConnected(i) || IsPlayerNPC(i) || !GetPVarInt(i,"dm_arena")) continue; TextDrawSetString(PBText2,tmp); } } return 1; }Und ruf das im takt von 999ms auf

mfg.

-
Oh Gott...was soll diese Schleife da?

Die sorgt irgendwie..wenn du Pech hast, dass 500 Timer gestartet werden xD
Wie prüfst du denn ob sich jemand im Paintball befindet

-
Ach ich seh grad den Fail, du hast da n Semikolon gemacht, was da nicht hingehört...
Schreib das alles mal so:
C
Alles anzeigendcmd_setmoney(playerid, params[]) { if(!IsPlayerAdminlevel(playerid,3)) return SendClientMessage(playerid,HELLROT,"A: Du bist nicht befugt!"); new id, amount; if(sscanf(params,"ud",id,amount)) return SendClientMessage(playerid,WEISS,"/setmoney [ID] [Betrag]"); new str[128]; GetPlayerName(id,str,sizeof(str)); format(str,sizeof(str),"A: Du hast das Geld des Spielers %s auf %d$ gesetzt!",str,amount); SendClientMessage(playerid,HELLROT,str); format(str,sizeof(str),"A: Dein Geld wurde auf %d$ gesetzt!",amount); SendClientMessage(id,HELLROT,str); ResetPlayerMoney(id); GivePlayerMoney(id,amount); return 1; }2 Dinge noch:
1. Ich rate dir von dcmd ab, das bringt dir keinen wirklichen Vorteil..nutze ocmd,zcmd o.ä.

2. Versuche eine Variable so oft wie möglich zu verwenden...dadurch sparst du dir Speicherplatz...in diesem Fall sogar ganze: 128*4 + 24*4 = 608 Bytes
mfg.

-
Komisch, dann ruf im Gamemode unter OnPlayerDeath doch einfach eine CallRemoteFunction auf

Kann dies leider nicht testen, da ich zu faul bin...das alles zu rekonstruieren

-
Wieso wird mein OnPlayerDeath Callback nicht aufgerufen? (Filterscript)
Nutzt das Filterscript eventuell Includes..wo dieser Callback gehookt wird...aber falsch?

-
Nenn diese Variablen einfach um.
Der Warning bedeutet nur, dass es bereits globale Variablen mit diesen Namen gibt. (oder auch im Enum)
-
Das sind doch random Zahlen und Buchstaben die ich eingebe, der befindet sich nirgendswo im Script : )
...dann vergrößer den String...unter ZCMD

-
Mach mal n print-debug...und printe dir mal den cmdtext, dann weißte, was aufgerufen wird

Und wenn das der Befehl ist der da steht..muss ja nicht vom Gamemode aus aufgerufen werden..vielleicht ist der iwo in einer Include?
-
Ehh ja, du hast anscheinend einen Command erstellt, der länger ist als 32 Zeichen

...verkürze ihn

-
...unter OnPlayerConnect können keine Spieler spezifischen Dinge gesetzt werden...da er da gerade erst connected
