Nutzt du in deinen for-Schleifen evtl immer <= ?
Oder wie sieht denn der Code in OnLoadInteriors z.B. aus?
Nutzt du in deinen for-Schleifen evtl immer <= ?
Oder wie sieht denn der Code in OnLoadInteriors z.B. aus?
So sieht das denke sinnvoller aus:
if(newstate == PLAYER_STATE_DRIVER)
{
if(IsPlayerInHeli(playerid))
{
if(PlayerInfo[playerid][pFlyLic] == 0)
{
SCM(playerid, COLOR_RED,"Du bestizt keinen Flugschein!");
RemovePlayerFromVehicle(playerid);
}
else SCM(playerid, COLOR_YELLOW, "Nutze N um den Motor zu starten!");
}
else if(PlayerInfo[playerid][pDrivingLic] == 0)
{
SCM(playerid, COLOR_RED, "Du besitzt keinen Führerschein!");
RemovePlayerFromVehicle(playerid);
}
else
{
SCM(playerid, COLOR_YELLOW, "Nutze N um den Motor zu starten!");
}
}
//Unten im Skript oder so
stock IsPlayerInHeli(playerid)
{
for(new i; i<sizeof(Helikopter); i++)
{
if(IsPlayerInVehicle(playerid,Helikopter[i])) return 1;
}
return 0;
}
Alles anzeigen
PS: Extra ohne returns gelöst, damit du unten drunter noch Code ausführen kannst ![]()
alter AUGENKREBS
Augenkrebs ist vllt das falsche Wort, ist ja ein ganz normaler Dialog.
Finde das Casino sehr gelungen. Egal ob man gewinnt oder verliert, da das clientseitig geregelt wird, wird das als Cheat erkannt und das Geld resettet ![]()
Lustiges Feature auf jeden Fall ![]()
Ansonsten joa...euch fehlt im Namen Startbonus & Statsback, denke so würdet ihr noch einige Leute holen können ![]()
Ganz einfach: Punkt vor Strich.
Daher wird zuerst multiplizierst und danach geteilt. xD
Das ist absoluter Quatsch.
Die Prioritäten sind so: Zuerst /, dann *, dann - und dann +.
Der Fehler liegt hier, dass Pawn, ähnlich wie C versucht Integer zu teilen und diese werden nicht in floats konvertiert, für die Gleitkommaoperationen und das führt zu dem 0 ergebnis.
Da 9/100 = 0 ist und 0*35 = 0
Ergo so schreiben:
Oder Operationen dafür nutzen:
Dann ist das auch ersichtlicher, was zuerst gerechnet werden soll.
SetDynamicObjectMaterialText
Die Definition davon lautet:
native SetDynamicObjectMaterialText(STREAMER_TAG_OBJECT objectid, materialindex, const text[], materialsize = OBJECT_MATERIAL_SIZE_256x128, const fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0);
Im Gegensatz zu SetObjectMaterialText ist hier der Text und der materialindex vertauscht. Wieso auch immer das Incognito so gemacht hat, weil das einfach alle und jedes mal abfuckt xD
Einfach so schreiben:
SetDynamicObjectMaterialText(City[2][ProductionText], 0, string3, 140, "Arial", 45, 1, 0xFFFFFFFF, 0xFFB40404, 1);
Bei dem Anderen kommt kein Fehler, weil es nicht auf ein "Dynamic-Objekt" bezieht, sondern auf ein normales Objekt.
Halte mich für altmodisch, aber unter einem Tutorial verstehe ich etwas anderes, als wenn ich jemandem wortlos zuschaue wie er Code schreibt.
Das erinnert eher an ein ASMR Video 😅
Es würde ja einfach reichen ein Github-Repo zu machen, wo du deinen Code hochlädst, wenn du diesen nicht einmal erklärst.
Es gibt ja nicht einmal Kommentare und keinen Link zum Source-Code.
Also meiner Meinung nach, sollte man in Tutorials reden und den Code erklären, wieso man es so macht und nicht anders, was man sich dabei denkt und wie das alles zusammenhängt, sonst schreibt man das blind ab und dann ist ja auch keinem geholfen.
Wie hast denn File definiert?
Der Befehl ergibt ja vorne und hinten auch keinen Sinn.
item ist immer leer hahaha xD
menge ist immer 0
und params ist verfälscht durch die "items" eingabe ![]()
...Jetzt mal nichts für ungut, aber schau dir doch ein paar Basics mal an oder lass dir etwas Nachhilfe geben...
Darauf warten, dass jetzt jemand den Befehl für dich macht und das dann beim Nächsten auch usw bringt doch niemandem wirklich was.
Du musst -= und += verwenden ![]()
Kenne den nicht, war aber da schon aktiv ![]()
Versuche es mal mit Code-Logik:
ocmd:mlift(playerid, params[])
{
if(!isPlayerInFraktion(playerid, 2))return SCM(playerid, COLOR_DARKRED, "[ERROR]: Du gehörst nicht zum San Andreas Medical Center!");
if(IsPlayerInRangeOfPoint(playerid, 5, 1146.9622,-1315.8383,13.6594))
{
SetPlayerPos(playerid, 1160.9453,-1328.1024,31.5022);
SCM(playerid, COLOR_YELLOW, "Du bist nun auf dem Dach des Los Santos Medical Centers!");
}
else if(IsPlayerInRangeOfPoint(playerid, 5, 1160.9453,-1328.1024,31.5022))
{
SetPlayerPos(playerid, 1146.9622,-1315.8383,13.6594);
SCM(playerid, COLOR_YELLOW, "Du bist nun vor dem Los Santos Medical Center!");
}
else SCM(playerid, COLOR_DARKRED,"[ERROR]: Du bist nicht in der nähe vom Aufzug!");
return 1;
}
Alles anzeigen
Und wo, bzw wann rufst du das auf?
Naja, da scheint ja alles richtig zu sein, da ist der Wert ja auf 1.
Wie rufst du denn saveCar auf?
Das wäre mal interessant, in welchem Kontext die Funktion aufgerufen wird.
Ja, weil besitzer immernoch auf 0 ist.
Da wird der falsche Wert genommen.
Wie setzt du denn von PlayerInfo die db_id?
Beim laden dieser id machst du irgendwas falsch...
Was soll ich den als Verschlüsselung nutzen hab das halt von Jeffry genommen
und wie würde ich das denn jetzt noch ändern (ist es einfach und fix oder recht schwer)?
1. Ist das keine Verschlüsselung, lies dir meinen Beitrag (den ich doch eben verlinkt habe) dazu mal durch.
2. Jeffry solltest das Tutorial mal in dieser Hinsicht updaten, das wirklich keine gute Idee, das so zu gestalten.
Was genau soll ich jetzt in der Tabelle aus der DB löschen (die beiden Fahrzeuge)?
Exakt.
Zeige dann nochmal den Log.
Da musst du den Fehler suchen.
Entweder bei der Zuweisung oder bei der Speicherung...printe es halt mal oder zeig uns mal deinen MySQL Log.
(Den aktivierst du indem du unter OnGameModeInit mysql_log(ALL); eingibst)
aber besitzer wurder doch als INT gespeichert
Ja, aber 1 wäre glaube ich richtig und nicht 0.
besitzer = 0 in der Datenbank sieht irgendwie falsch aus, meinst du nicht? ![]()
Da ist wohl beim Speichern oder der ID Zuweisung was schief gelaufen...
bei einem gmx sind diese leider komplett weg
Super.
...wie sieht die Datenbank aus?
Was sagen die Querys?
Hast du irgendwas geprintet?
Du solltest immer Informationen liefern, einfach nur sagen ja, bla bla geht nicht, da kann man dir meist nicht helfen.