Du kansnt das Thema als erledigt markieren fertig ![]()
Beiträge von Mogly1
-
-
hier 1 Frage c(:
Graff3D
graffity
sind das globale variablen?Bzw. müssen sie ja laut deinem erstell ding.... bedeutet diese variablen sind genau das Tag was du zu letzt erstellt hast...
(falls es globale Variablen sind)Edit:
Warum nutzt du beim erstellen der tags kein
CreateObject
SetObjectMaterialText
?Edit2:
Schuldige bitte ganz vergessen noch zu schreiben, ändere mal das so ab..
new Graff3D[MAX_GRAFFITI];
new graffity[MAX_GRAFFITI];
und nutze das dann mal bitte jeweils in den sachen wo es steht so
Graff3D[i] =..
graffity[i] =...
Also so dann ca.
graffity[i] =CreateObject(19482,dini_Float(file,"Graffiti X"),dini_Float(file,"Graffiti Y"),dini_Float(file,"Graffiti Z"),dini_Float(file,"Graffiti RotX"),dini_Float(file,"Graffiti RotY"),dini_Float(file,"Graffiti RotZ"),0.0);
Graff3D[i] =Create3DTextLabel(tagname,COLOR_ORANGE,dini_Float(file,"Graffiti X"),dini_Float(file,"Graffiti Y"),dini_Float(file,"Graffiti Z"),7,0,0);
DestroyObject(graffity[i]);
Delete3DTextLabel(Graff3D[i]);
sollte dann eig. gehen? -
Nein, das wird ja nicht oft geupdatet und das sind ja auch nicht viele Objekte.
Generell sollte das keine großen Auswirkungen haben.Mit dem Profiler Plugin: https://forum.sa-mp.com/showthread.php?t=271129
Kann man das übrigens theoretisch sehr gut erfassen
Hier hab es mal ca. 20min auf dem Server getestet mit 40 kühen und 4 Farmen also jeweils 10 kühe auf 1 farm mit futter
ist das jetzt viel oder mittel mäßiger verbauch? kann damit nicht viel anfangen also mit den %
@Kaliber
2019-05-10 20_40_11-Window.png -
Wenn du mit einem Timer arbeitest musst du forward und public nutzen.
sonst wird er eig. nicht aufgerufen.Verweis auf orange/gelbe Box
https://wiki.sa-mp.com/wiki/SetTimerEx -
Welche rotatiosn Achse denn genau?
Bzw. du nutz hier oben bei Create
0.000000, 90.000000, -98.799995,
-98und beim MoveDynamicObjectRot
setzt du diese Achse auf +90 meinst du evt. diese Drehung? -
Sehr schönes System!
Es ist wirklich was ganz gutes, was ich nur bewundern kann ♥
Mich interessiert in wie fern es Auswirkung auf die Performance vom Server hat?Kann man das irgendwie mit nen Plugin oder so testen? habe nicht so Ahnung von Servern
. -
Alles anzeigen
Sehr amüsant

Es wirkt richtig so, als ob die Kühe schlittschuh fahren und dann im Futter kuscheln?
Als ob es so eine Box für sie wäre xDIch sage mal so, es ist quasi unmöglich (zumindest in 0.3.7) sowas vernünftig umzusetzen.
Aber sieht gut aus, wieso nicht
Ja das mit den Boxen könnte man noch besser berechnen das sie, dort dann auch besser stehen
Aber das mit den schlitschuh fahren, liegt nun mal an Samp
da fällt mir quasi keine Möglichkeit ein
außer Mods -
Hey ich hätte da mal eine frage....
Derzeitig ist das System genau heute entstanden und ich finde es eig. sehr spaßig daran zu arbeiten.
Jedoch würde mich mal interessieren, was ihr davon haltet? würde so etwas auf einen Server Anschluss finden?Zu der idee:
- Mann kann Farmen erstellen wo der jeweilige Besitzer dann Tiere züchten, bzw Pflanzen anplfanzen und abbauen kann .
- es soll ein kleines Öko System werden wo sich die Tiere vermehren können oder auch krank werden können
- Es soll eigentlich mit jedem interaktiv sein bedeutet man kann kühe klauen, töten und co.
- Somit die Idee als Lieferant für Produktionen (Fleisch/Milch/Getreide)
- Heißt mann müsste aufpassen wv. für die Tiere verbraucht wird und ob mann dann selbst anbaut bzw. dann wo anders einkauft...Derzeitig vorhanden:
- Erstellen einer Farm region
- kaufen und transportieren von kühen
- Kühe laufen auf dem Feld random rum
- Kühe haben leben und verbrauchen zurzeit nur Hunger(wasser sollte noch kommen)
- Man kann futter für die Tiere hinstellen
- die Tiere(Kühe) laufen wenn sie Hunger haben automatisch zum essen (suchen den kürzesten weg)
- Wenn kein Futter vorhanden verlieren die Kühe mit der Zeit leben wenn ihr Hunger auf 0 fällt
(Die Bewegungen und die Leben werden noch Angepasst)Hier ein 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.Wie schon oben erwähnt, würde mich nun mal interessieren ob es sich lohnen würde ein kleines Farming Ökosystem daraus zu machen?
Denn ich habe bedenken, dass solch ein System nicht genutzt wird und dann nur auf dem Server verrottet? -
Wenn es dir nur um Häuser geht, beziehe deine suche auch auf FS
denn es gibt echt viele die evt. hilfreich sind.
Siehe z.B hier https://forum.sa-mp.com/showthread.php?t=321463
(Es gibt noch viele weitere die evt. ein paar mehr Ints haben) -
Also ich habe damals immer den Map Editor angemacht, bin zu einem Interior gegangen und auf der selben Höhe über die Map geflogen und dann findet man echt noch coole Interriors, die nicht auf gewisse seiten zu finden sind.
Z.B an diesen coord
322.197998,302.497985,999.148437 -
Mein code war nur mein Gedanken gang, da ich dein Script nicht ganz kenne wird dieser code schnipsel nicht Funktionieren
(musst noch ausbauen, wenn überhaupt musst ihn nicht mal nutzen, es war nur eine Idee es so zu versuchen
)Wie meinst du das?
Damit meinte ich, das man wenn man auf namen prüfen klickt immer wieder via. mysql abfragt ob der user schon existiert.
hehe
pass das mal bitte so an
if(strlen(inputtext)<1 || strlen(inputtext)>MAX_PLAYER_NAME+1) -
Welche Bugs könnten auftreten bei dem System wie du oben meintest?
Tja aufgrund von SetPlayerName könnte es zu Crashes kommen ausser du beugst dagegen vor mit if abfragen.
Auch kann nicht jemand auf dem server dann dauernt einen namen prüfen und somit (die datenbank dauernd belasten
)
Also ich würde es einfach über das reconencten regeln. Um Bugs vorzubeugen.
Mfg. Mogly1
-------------------------------------Also, das wäre jetzt meine Grundidee dazu...
Ob das nun auch so funktioniert ist eine andere Sache
public OnUserCheck(playerid)
{
new rows;
cache_get_row_count(rows);
ShowLoginScreen(playerid);
if(rows == 0)
{
new string[80],string1[80];
format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nHast du dich evt. verschrieben? Teste es nochmal ansonsten.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Accountinfo",ServerInfo[server_Name]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);// du überschreibst das 1 format von string1?
SetPVarInt(playerid,"Name_Test",1);
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_INPUT, string1, string, "{FFFFFF}Name prüfen", "{FFFFFF}Ausloggen");
}
else
{
new bool:login=true;
if(GetPVarInt(playerid,"Name_Test"))
{
new name[MAX_PLAYER_NAME+1];
GetPVarString(playerid,"Name_Test_Name",name,sizeof(name));
switch(SetPlayerName(playerid,name)
{
case -1:login=false;
}
}
DeletePVar(playerid,"Name_Test");
DeletePVar(playerid,"Name_Test_Name");
if(login)
{
new string2[80];
format(string2,sizeof(string2),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, string2, "{FFFFFF}Es wurde ein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte gebe deinen Namen ein.","{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
else
{
Kick(playerid);//name ist schon auf dem Server Connectet
}
}
return 1;
}case DIALOG_REGINFO:
{
if(!response)return Kick(playerid);
if(strlen(inputtext)<1 && strlen(inputtext)>MAX_PLAYER_NAME+1)// auch überprüfen The name to set. Must be 1-24 characters long and only contain valid characters (0-9, a-z, A-Z, [], (), $ @ . _ and = only).
{
new string[80],string1[80];
format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nHast du dich evt. verschrieben? Teste es nochmal ansonsten.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Accountinfo",ServerInfo[server_Name]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);// du überschreibst das 1 format von string1?
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_INPUT, string1, string, "{FFFFFF}Name prüfen", "{FFFFFF}Ausloggen");
}
else
[
SetPVarString(playerid,"Name_Test_Name",inputtext);
//ein OnUserCheck mit den inputtext durch führen...
}
} -
wann nutzt du
DIALOG_REGINFO
als erstes?
aslo ShowPalyerDialog(palyerid,DIALOG_REGINFO.....)? -
Heißt wenn sich der Name nicht immer ändert ist mein Vorhaben für die Katz?
Naja, ja und nein da du möchtest das er unter Tab InGame angezeigt wird, musst du irgendwann SetPlayerName nutzen.
wo man seinen richtigen Namen eingibt und dieser sich dann aber auch im TAB ändert.
---------------------
Du kannst ihn aber auch einfach anstatt die DIALOG_REGINFO
Ein DIALOG_STYLE_INPUT geben wo er sein namen nochmal ändern kann dort dann gleich verglichen wird ob Acc vorhanden wenn ja dann den namen setzen(falls noch nicht auf den Server)Aber ich denke es wäre auch nicht schlimm, wenn die Leute neu connecten müssten wenn sie ein falschen Namen haben?(einfach um evt. Bugs dann zu vermeiden
)
Mfg. Mogly1 -
Du könntest evt. bei
DIALOG_REGINFO:ihn ein Listen_Dialog geben mit den Optionen
Namen ändern
Account erstellen(Dann die Info Box nochmal...)
Abbrechen
(oder so.)und dann kannst du wenn er Name ändern drückt die
Variable UserDaten[playerid][user_Name]
ändern oder wie das System auf dem Server Funktioniert + mit SetPlayername() noch den Namen dann setzen (denk aber daran das du dan n aber beachten musst das er ja nicht immer den Namens setzen kann siehe
https://wiki.sa-mp.com/wiki/SetPlayerName)
(wie gesagt, wie dein System dazu nunmal ist)wäre jetzt meine erste Idee, wenn ich etwas falsch verstanden habe bitte mich korrigieren.
Mfg. Mogly1 -
Hast du das auch beachtet?
- The vehicle must be re-spawned or re-streamed for the changes to take effect.
siehe unter https://wiki.sa-mp.com/wiki/SetVehicleNumberPlate ind er gelben Box

edit: bei mir Funktioniert es einwandfrei wie du es oben ahst mfg. Mogly1 (ich weiss das dir das nicht weiterhilft Sry)
Edit2: schau mal bei mir meckert er, weil du ein parameter undzwar den Respawn delay nicht angegeben hast..
CreateVehicle(415,2040.1519,1038.5597,10.4437,180.1114,40,1,-1)//so z.B evt. hilft das dann schonAlso es liegt an dem Fehlenden parameter bei CreateVehicle

-
-
Das klingt super danke für die Schnelle Antwort, Aber habe tatsächlich noch nie MapSanAndreas verwendet inwiefern kann man das mit einbinden?
Damit kannst du genau bestimmen was die Z Koordiante an der X/Y Position ist, bedeutet die genaue Höhe vom boden
(ist jetzt denke mal nicht für diesen Befehl wichtig, nutzen hatte es bei mir z.B als ich etwas aus der Luft auf den Boden Moven lassen wollte, also ein Object)
Hier das Plugin
https://forum.sa-mp.com/showthread.php?t=120013 -
Das liegt daran, dass wenn du vom Spieler die GetPlayerPos nutz die z Koordiante vom bauch deines Charakter aus geht also musst du ca -0.9 rechnen oder mit MapAndreas arbeiten um es ganz genau zu bestimmen.
-
ähm meisnt du jetzt sowas?
new carid;carid = CreateVehcile(...);
somit ist carid die vehicleid
oder wie meisnt du?