Soo habe doch nochmal ein kleines Update gemacht, da ich etwas Zeit gefunden habe ![]()
Gibt nun noch eine kleine Special Mission, genaueres im Startpost ![]()
#Viel Spaß
Soo habe doch nochmal ein kleines Update gemacht, da ich etwas Zeit gefunden habe ![]()
Gibt nun noch eine kleine Special Mission, genaueres im Startpost ![]()
#Viel Spaß
Okay gut, ich hab keine Ahnung, welche Include du verwendest, eventuell mal posten? bzw Link? ![]()
Wo muss ich es einfügen wen er auf Aussteigen klickt das er raus geworfen wird?
Habe ich doch geschrieben gehabt ![]()
So harmonisiert das else mit dem if(response) ![]()
Das else musst du anders setzen und zwar so, dass es mit dem if von dem response harmoniert ![]()
Und da wo du das else jetzt hast schreib darein, dass dem Spieler wieder der Dialog angezeigt werden soll ![]()
Ich vermute mal, dass in deinem enum GER vor ENG steht ![]()
bzw steht GER ganz oben im enum und hat daher die ID 0.
Du setzt also die Sprache für den Spieler erst nachdem du ihm schon einen Dialog anzeigst ![]()
Ich vermute da liegt der Fehler ![]()
Achso und wie in einem anderen Post schon erwähnt, switch ist eigentlich nur sinnvoll, wenn du mehr als 2 Sprachen hast, bei 2 kannste das auch so machen:
Textdraw23[playerid] = CreatePlayerTextDraw(playerid, 224.333312, 183.348114, ((GetPlayerLanguage(playerid) == GER)?("deutsch"):("german")));
Gebe zu, bisschen umständlich, kannst es dir ja theoretisch in einem Makro kürzen:
#define L(%0,%1,%2) ((GetPlayerLanguage(%0)==GER)?(%1):(%2))
Nutzung:
Textdraw23[playerid] = CreatePlayerTextDraw(playerid, 224.333312, 183.348114, L(playerid,"deutsch","german"));
Somit sparst du dir viel ein ![]()
Nur noch zur Optimierung, so einfache Funktionen kannst du als Makro schreiben, das ist performanter und einfacher:
#define GetPlayerLanguage(%0) pLanguage[%0]
Das sieht richtig aus, die Frage ist jetzt nur, wie du das gesetzt hast ![]()
Wozu der delay?
Und wenn, dann SetTimerEx verwenden mit der playerid als Parameter, so würde das nur bei ID 0 funktionieren.
Dann hast du anscheinend schon AddPlayerClass in deinem Skript, dann kannst du dir das SetSpawnInfo natürlich schenken ![]()
Wie kann man diesen Dialog entfernen?
Unter OnPlayerRequestClass direkt SetSpawnInfo verwenden und dann SpawnPlayer.
Dann spawnt der Spieler direkt. Musst halt deine ganzen Abfragen nach OnPlayerSpawn verlagern und prüfen, ob der Spieler gerade vom connecten kommt ![]()
Tut mir Leid, dass ich den Post erst so spät gelesen habe ![]()
Das kannst du einfach mit der atan2 Funktion machen.
Hier ein Beispiel:
stock Float:GetRelative2DAngle(playerid,Float:a,Float:b)
{
new Float:x,Float:y;
GetPlayerPos(playerid,x,y,Float:playerid);
return floatabs(atan2(x-a,y-b));
}
CMD:test(playerid)
{
new string[128],Float:x,Float:y,Float:z;
GetActorPos(ac,x,y,z);
format(string,sizeof(string),"Jo m8, auf %.02f Grad ist ein Actor!",GetRelative2DAngle(playerid,x,y));
SCM(playerid,-1,string);
return 1;
}
Alles anzeigen
Mal eben mit einem Actor getestet und funktioniert 1A ![]()
Das System basiert halt auf der Position des Spielers, was meines Erachtens ja auch nur Sinn macht. Oder willst du das bezogen auf die Camera alles haben?!
Den reinen Kamera Winkel bekommst du so: https://forum.sa-mp.com/showpost.php?p=3597048&postcount=1
Du nutzt die Parameter falsch.
Schau mal, deine Angaben:
ActorInfo[i][aSkin], ActorInfo[i][aPosX], ActorInfo[i][aPosY], ActorInfo[i][aPosZ], ActorInfo[i][aPosA], ActorInfo[i][aInvulnerable], ActorInfo[i][aHealth], -1, 1, -1, 50.0)
Aber das ist die Falsche Belegung, schau mal:
(modelid, Float:x, Float:y, Float:z, Float:angle, worldid = -1, interiorid = -1, bool:invulnerable = true, Float:health = 100.0)
Du schreibst Textdraw22[playerid] = Das ist wahrscheinlich vom Typ PlayerText: allerdings returnt deine Funktion nur 1.
Aber ich verstehe nicht genau was du da machst.
Also tLanguage ist ja eine globale Variable. Wenn du das Skript nur Global einsprachig machen willst, dann solltest du mit Defines und Makros arbeiten, eben mit dem Precompiler. Stichwort: [wiki]Keywords:Directives[/wiki]
Wenn du es Spielerbezogen machen willst, dass sich jeder Spieler die Sprache aussuchen soll, dann arbeite mit switch! Oder wenn es nur 2 sprachig ist, kannst du es einfach so machen:
return CreatePlayerTextDraw(playerid, cod1, cod2, (tLanguage==1)?eng4:ger3);
Am besten erstellst du auch für Sprachen Makros bzw nutzt einen enum:
Jetzt möchte ich abfragen ob es mehr als 3 Zeichen in diesem String stehen, wie genau geht dies?
Mit [wiki]strlen[/wiki] erhälst du die Länge von dem String ![]()
if(strlen(str) > 3)
{
//Mehr als 3 Zeichen
}
Aber gerade bei den Business- und Hauspickups und DANN noch mit dem, was die selbst mappen?
Darfst das hier nicht durcheinander werfen. Pickups & Objekte sind 2 paar Schuhe, die werden unabhängig voneinander berechnet ![]()
Also du kannst jeweils 4096 Pickups und 1000 Objekte haben ![]()
Hier nochmal zum nachlesen: http://wiki.sa-mp.com/wiki/Limits
Da ich aber gerade bei Betrachten der russischen SA:MP Server bei dieser Aussage skeptisch werde, suche ich jemanden, der "stärkere" Versionen eines Streamers besitzt oder diese vielleicht sogar selbst schreiben kann.
Gibt es nicht. Drücke F5 und du siehst, dass auch da nur maximal 999 Objekte verwendet werden in deiner Nähe ![]()
Eventuell sind diese Einfach smarter mit dem mappen, dass es nach mehr aussieht ![]()
Einmal wurde nachdem ersten CP kein neuer angezeigt und beim zweiten mal bin ich sehr oft mit dem Hai stecken geblieben und konnte mich iwie nicht bewegen
Tatsache, da gabs n kleinen Fehler, der ist nun behoben. Ich hatte halt kein Tester-Team o.ä. leider, deshalb kann sowas vorkommen ![]()
Nur leider blieb er teilweise einfach stehen und ich musste viel mit der Maus schütteln
Das zeigt aber, dass es ein Client-Bug ist xD
Naja, wie dem auch sei, vielen Dank für dein Feedback! ![]()
Will nur ganz kurz was anmerken und zwar bei dem Autohaussystem.
Da nutzt du einen Dialog und wahrscheinlich \t.
Das ist gefährlich, denn je nach Bildschirmauflösung sieht das dann anders aus.
Also bei dir ist das jetzt schön in einer Reihe, bei wem anders evtl dann eher nicht so ![]()
Krass das noch Leute 2017 SAMP Roleplay Gamemmodes entwickeln, würde ja schon fast empfehlen, etwas anderes zu tun ![]()
Einmal wurde nachdem ersten CP kein neuer angezeigt und beim zweiten mal bin ich sehr oft mit dem Hai stecken geblieben und konnte mich iwie nicht bewegen
Den Hai steuert man auch nicht mit den Pfeiltasten, sondern einfach nur in die Richtung, in die du schaust ![]()
Das mit dem neuen cp ist mir noch nicht passiert, da kann ich leider nichts zu sagen.
auch wenn der Part mit dem Hai sehr buggy war
inwiefern?
Hat sehr sehr viel Spaß gemacht, nette Abwechslung
Alles in allem finde ich die Idee sehr gut. Auch finde ich den "Stil", wie das ganze Umgesetzt wurde, einfach schick. Es ist so simple, so klein und doch hat es viele Spieler gelockt. Klasse
Vielen Dank an euch beide! ![]()
Wie gesagt, es gibt noch 2 Zusatz Missionen, die ihr ab Mission 7 spielen könnt, wenn ihr Lust habt ![]()
Freut mich auf jeden Fall, dass es euch allen so gut gefallt ![]()
Ich hab mal den Schwierigkeitsgrad etwas zurück geschraubt.
Man bekommt jetzt nach jeder Mission wieder volles Leben ![]()
Übrigens, man muss in Mission 1 eine Frage beantworten, wo nach einem außerirdischen Planeten gefragt wird, die Top 5 der Antworten:
Wenn man jetzt denkt, dass das einer oder zwei eingegeben hätten, dann hat mein weit gefehlt ![]()