@tayson87
bevor du dich die ganze zeit rumärgerst damit:
ich glaube wenn du das alles installierst geht es. oder @Jeffry ?
http://www.chip.de/downloads/A…ne-Runtimes_37449838.html
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Kann ich die mapping objecte (Außer Dynamische natürlich) in eine include packen? Und einfach #include<mapping> schreiben? Aufgrund der Übersichtlichkeit des Codes?
-
Ja, das geht auch mit den dynamischen Objekten des Streamers, wenn du entweder in der Include die Streamer Include inkludierst, oder die Include mit den Objekten unter die Streamer Include im Gamemode schreibst.
-
Muss ich das #include <mapping> dann normal oben im Gamemode schreiben zu den anderen Includes ? Beziehungsweise was muss ich alles beachten damit es funktioniert?
Noch 2 Fragen:
Muss ich bei OnPlayerDisconnect alle Spielervariablen auf 0 setzen? Oder ist das egal? (Dumme Frage wahrscheinlich aber die werden ja nicht zwischengespeichert bis zum nächsten Login oder?)
Muss ich bei OnGameModeExit Dinge wie Pickups oder Fahrzeuge zerstören?
-
Code
Alles anzeigenif(GetVehicleSpeed(vID)!=0)return SCM(playerid,ROT,"Du kannst die Handbremse nur im Stillstand ziehen!"); //FEHLER C:\Users\xIIPuresTiicaL\Desktop\Neuer Ordner (5)\pawno\sgl.pwn(40946) : warning 202: number of arguments does not match definition Der GetVehicleSpeed stock #define SpeedCheck(%0,%1,%2,%3,%4) floatround(floatsqroot(%4?(%0*%0+%1*%1+%2*%2):(%0*%0+%1*%1) ) *%3*1.6) stock GetVehicleSpeed(vehicleid, get3d) { new Float:x, Float:y, Float:z; GetVehicleVelocity(vehicleid, x, y, z); return SpeedCheck(x, y, z, 100.0, get3d); }
-
@Simon2202
1.
Ja. Nur eben unter die <streamer> Include, falls du Streamer-Objekte nutzt.2.
PVars müssen nicht zurück gesetzt werden, aber Arrays schon (new Array[MAX...]).
Prinzipiell bietet es sich an, immer alle Werte zurück zu setzen, das ist sauberer und man vermeidet Fehler.3.
Normalerweise nicht, aber auch hier bietet es sich, wie bei Punkt 2, an um mögliche Fehler zu vermeiden.@PawnStar
In der if-Zeile bei "GetVehicleSpeed" fehlt der zweite Parameter, nach vID (das get3d). -
Okey danke!
Habe ein komisches Problem:
Ich habe diesen KickPlayer Stock:
Code
Alles anzeigenstock KickPlayer(playerid) { SetTimerEx("KickPlayerTimer",100,0,"i",playerid); return 1; } forward KickPlayerTimer(playerid); public KickPlayerTimer(playerid) { Kick(playerid); return 1; }
Und rufe ihn so auf:
Aber ich bekomme in jeder Zeile in der ich den Stock aufrufe den Fehler:
CodeC:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : error 012: invalid function call, not a valid address C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : warning 215: expression has no effect C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : error 001: expected token: ";", but found ")" C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : error 029: invalid expression, assumed zero C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : fatal error 107: too many error messages on one line
Und ich weiß einfach nicht wieso...
-
Kannst du mal ein paar Zeilen um die Fehlerzeile herum posten, und die Fehlerzeile markieren?
-
Code
if(dialogid == DIALOG_REG) { if(response) { ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Account erstellen","Gebe nun dein gewünschtes Passwort für deinen Account ein:","Annehmen","Abbrechen"); return 1; } KickPlayer(playerid); //Die Fehlerzeile return 1; }
Der Fehler tritt wenn ich diese Zeile auskommentiere jedoch bei der nächsten wo "KickPlayer" steht wieder auf.
-
-
-
Der Fehler tritt wenn ich diese Zeile auskommentiere jedoch bei der nächsten wo "KickPlayer" steht wieder auf.
Der Code ist korrekt, bei mir kompiliert er es auch ohne Probleme.
Hast du mal versucht, das KickPlayer umzubenennen, oder hast du den Stock nicht im Code, bzw. vielleicht durch ein #if "ausgeklammert"?Gibt es eine Möglichkeit sich eine GetObjectVirtualWorld Funktion zu basteln die NUR für normale Objekte sind und keine Dynamische Objekte?
Was genau hast du denn vor? Dynamische Objekte sind nämlich auch "nur" normale Objekte, die eben wieder entfernt werden, wenn niemand in der Nähe ist.
-
Wenn ich beispiel weise eine Map unloaden lasse.
Dann kann eben nur die Dynamische Objekte entfernen. Und die nicht Dynamische Objekte bleiben bestehen oder ich lösche alles.
Aber bei mehreren modes wird es schwer, da kann ich nicht alle löschen lassen.
Deshalb weiß ich nicht ob man dafür eine Funktion schreiben kann das er sie nur in einer Bestimmten Welt löschen lässt. -
-
Du weiß doch habe nur die .amx Dateien. Da kann ich doch nichts bearbeiten.
Deshalb muss ich es doch so kompliziert machen.
-
Ach ja, da war ja mal was.
Soweit ich weiß kam damals raus, dass es nur über die Position (Get[Dynamic]ObjectPos) möglich ist, wenn du nur die AMX hast, und es über einen anderen Code löschen willst. -
Mhh, scheint schwirig zu sein diese zu löschen für ein Mode.
-
Jaein, aber deshalb sollte man die PWN Dateien haben.
Wenn du die beschaffen kannst, dann wäre das sicher die beste Möglichkeit das sinnvoll zu lösen. So sehe ich sonst keine andere Möglichkeit. -
Dann werde ich wohl alles umschreiben um auf eigene Maps zu steigen.
Die ich selber runterlade und die MTA Datei selber auslesen lasse. -
-
Bin mir nicht ganz sicher ob ich dein Problem verstanden habe, aber Probiers mal damit:
-