@Der Lümmel:
Was hast du in der Letzten Zeit bearbeitet (neu eingefügt) dass einfach mal ausklammern bis es geht und dann weniger ausklammern und dadurch den Fehler finden bzw die Fehler Zeile.
[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
-
-
@Der Lümmel:
Was hast du in der Letzten Zeit bearbeitet (neu eingefügt) dass einfach mal ausklammern bis es geht und dann weniger ausklammern und dadurch den Fehler finden bzw die Fehler Zeile.Dummerweise hat sich an dem Gamemode seit 2 Jahren nichts verändert.
-
Code
Alles anzeigenocmd:ernten(playerid,params[]) { new Pflanze = IsPlayerAtDrugPflanze(playerid), string[128]; if(IsGang(Spieler[playerid][pFraktion])) { if(DrugFromFraktionCount(Spieler[playerid][pFraktion]) <= 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Deine Fraktion hat keine Drogenpflanze angepflanzt."); if(Pflanze == -1)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du befindest dich an keiner Drogenpflanze."); if(Drogen[Pflanze][drgfraktid] != Spieler[playerid][pFraktion])return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Drogenpflanze gehört nicht deiner Fraktion an."); if(Spieler[playerid][pRank] < 4 || !strcmp(GetName(playerid), Drogen[Pflanze][drgOwner], true)) { if(Drogen[Pflanze][drgProduceDrugs] <= 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Die Drogenpflanze hat noch keine Drogen produziert."); format(string,sizeof(string),"{33CCFF}(( %s %s: Habe soeben %ig %s von der Pflanzen-ID: %i abgeflückt! ))**", GetRankName(Spieler[playerid][pFraktion], Spieler[playerid][pRank]), GetName(playerid), Drogen[Pflanze][drgProduceDrugs], DrugArtByName(Drogen[Pflanze][drgArt]), Pflanze); SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_WHITE, string); switch(Drogen[Pflanze][drgArt]) { case 1:Spieler[playerid][pGanja] += Drogen[Pflanze][drgProduceDrugs]; case 2:Spieler[playerid][pKokain] += Drogen[Pflanze][drgProduceDrugs]; case 3:Spieler[playerid][pOpium] += Drogen[Pflanze][drgProduceDrugs]; case 4:Spieler[playerid][pSpice] += Drogen[Pflanze][drgProduceDrugs]; } Drogen[Pflanze][drgProduceDrugs] = 0; return 1; } return SendClientMessage(playerid, COLOR_WHITE, ERROR_FRAKTION); } return SendClientMessage(playerid, COLOR_WHITE, ERROR_FRAKTION); }
Hey,
Kurze frage habe es eingestellt das der Spieler ab Rang 4 ernten kann warum kann er es nicht ernten?
-
Lass dir mal Printen wo bis wohin der Befehl ausgeführt wird.
Es kann ja sein dass der Befehl garnicht bis zu der Abfrage kommt. -
Der Besitzer selber kann es ja ernten, aber sonst ja auch keiner :o
-
Sehe gerade dass du Abfragst ob der Rang kleiner ist als ich dachte du wolltest dass der Größer sein muss als 4 ?
-
Sehe gerade dass du Abfragst ob der Rang kleiner ist als ich dachte du wolltest dass der Größer sein muss als 4 ?
Schon gefunden danke
-
Hallo nochmal.
Habe nun auch Pawnfox installiert. Compiliert ohne Fehler, aber quasi direkt. Und der Gamemode kann entsprechend nicht geladen werden, weil er nichtmal die Includes compiliert.
Kann komischerweise auch ALLE #inludes rausnnehmen und trotzdem keine Fehler..Jetzt kommt beim starten wenigstens:
CodeScript[gamemodes/robada.amx]: Run time error 17: "Invalid/unsupported P-code file format" Failed to load 'gamemodes/robada.amx' script.
Hab oben im Gamemode mal folgendes eingefügt(Ohne Erfolg): -
Update mal deine Plugins
-
Update mal deine Plugins
Kein Erfolg dadurch.
-
Zeig mal die server log
füg mal Crashdetect oder Nativcheker ein
das plugin aber als erstes laden. -
Code
Alles anzeigen---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [18:56:51] filterscripts = "" (string) [18:56:51] [18:56:51] Server Plugins [18:56:51] -------------- [18:56:51] Loading plugin: MapAndreas [18:56:51] Loaded. [18:56:51] Loading plugin: crashdetect [18:56:51] CrashDetect v4.15.1 is OK. [18:56:51] Loaded. [18:56:51] Loading plugin: teamspeak-connector [18:56:51] >> plugin.TSConnector: v1.3 loaded. [18:56:51] Loaded. [18:56:51] Loading plugin: mysql [18:56:51] >> plugin.mysql: R39-3 successfully loaded. [18:56:51] Loaded. [18:56:51] Loading plugin: sscanf [18:56:51] [18:56:51] =============================== [18:56:51] sscanf plugin loaded. [18:56:51] Version: 2.8.2 [18:56:51] (c) 2012 Alex "Y_Less" Cole [18:56:51] =============================== [18:56:51] Loaded. [18:56:51] Loading plugin: streamer [18:56:51] *** Streamer Plugin v2.7.9 by Incognito loaded *** [18:56:51] Loaded. [18:56:51] Loading plugin: Whirlpool [18:56:51] [18:56:51] ================== [18:56:51] [18:56:51] Whirlpool loaded [18:56:51] [18:56:51] ================== [18:56:51] [18:56:51] Loaded. [18:56:51] Loading plugin: iTD [18:56:51] * iTD Plugin loaded. (Support for textdraw editor mouse/keyboard) [18:56:51] Loaded. [18:56:51] Loaded 8 plugins. [18:56:51] [18:56:51] Filterscripts [18:56:51] --------------- [18:56:51] Loaded 0 filterscripts. [18:56:51] Script[gamemodes/GM.amx]: Run time error 17: "Invalid/unsupported P-code file format" [18:56:51] Failed to load 'gamemodes/GM.amx' script. [18:56:51] Number of vehicle models: 0
-
Es scheint eher so als würde Pawnfox garnicht richtig compilen.
Hast du deine Includes auch bei Pawnfox in den PawnStuff Ordner unter Includes reinkopiert?
Was erhältst du als Output wenn du mit Pawnfox deinen Gamemode compilest? (Falls du nichts erhältst, ändere deine Compileoptionen auf -d3) -
Es scheint eher so als würde Pawnfox garnicht richtig compilen.
Hast du deine Includes auch bei Pawnfox in den PawnStuff Ordner unter Includes reinkopiert?
Was erhältst du als Output wenn du mit Pawnfox deinen Gamemode compilest? (Falls du nichts erhältst, ändere deine Compileoptionen auf -d3)Includes eingefügt, Ja.
Gamemode wird compiliert..
Option steht bereits auf -d3..Vorallem habe ich in Zeile 1 bereits ein Klammerfehler, welchen er nichteinmal meldet.
-
Hey,
So öffne ich eine TürCodestock GetDoorPos(playerid) { if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 0; if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 1; if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 1; return -1; }
Ccase 0: { new Float:x,Float:y,Float:z; GetDynamicObjectPos(Door[i],x,y,z); MoveDynamicObject(Door[i], x-1.6816,y,z,1); DoorOpen[i] = 1; }
Das funktioniert ja. ich habe immer eine Tür und kriege sie auf.
Jetzt ist das Problem, dass ich zwei Türen öffnen muss (doppeltür)Ccase 2: //doppeltür { new Float:x,Float:y,Float:z; GetDynamicObjectPos(Door[2],x,y,z); MoveDynamicObject(Door[2], x+1,092,y,z,1); GetDynamicObjectPos(Door[3],x,y,z); MoveDynamicObject(Door[3], x-1,092,y,z,1); DoorOpen[i] = 1; }
Das ganze passiert nur, wenn ich bei Case 2 nicht i sondern die richtigen Zahlen von der Tür eintrage.
Ist nur eine kleiner Fehler wahrscheinlich den ich nicht finde...
-
Das ganze passiert nur, wenn ich bei Case 2 nicht i sondern die richtigen Zahlen von der Tür eintrage.
Anstatt 2 und 3, trage i und i+1 ein.
-
Irgendwie sagt er mich, dass die Tür bereits geöffnet ist, aber nur bei Case 2. Heißt er sagt mir nur, dass die Tür auf ist und es passiert nichts.
Kann ich irgendwie abfragen, ob der Spieler in der Range von allen GetDoorPos is, damit ich eine return message mit einbauen kann, ansonsten kriege ich Errors, wenn ich nicht in der nähe die Sachen abfrage.
Cstock GetDoorPos(playerid) { if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 0; if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 1; if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 1; return -1; }
Codenew i = GetDoorPos(playerid); if(DoorOpen[i] == 1) { SendClientMessage(playerid,-1,"tür ist bereits auf"); }
C
Alles anzeigencase 0: { new Float:x,Float:y,Float:z; GetDynamicObjectPos(Door[i],x,y,z); MoveDynamicObject(Door[i], x-1.6816,y,z,1); DoorOpen[i] = 1; } case 1: { DoorOpen[i] = 1; Building[4][IsInteriorClosed] = 0; } case 2: { SendClientMessage(playerid,-1, "TEST"); new Float:x,Float:y,Float:z,Float:x1,Float:y1,Float:z1; GetDynamicObjectPos(Door[i],x,y,z); MoveDynamicObject(Door[i], x+1.092,y,z,1); GetDynamicObjectPos(Door[i+1],x1,y1,z1); MoveDynamicObject(Door[i+1], x1-1.092,y1,z1,1); DoorOpen[i] = 1; }
-
rgendwie sagt er mich, dass die Tür bereits geöffnet ist, aber nur bei Case 2.
Du hast im GetDoorPos zwei mal return 1 stehen.
Kann ich irgendwie abfragen, ob der Spieler in der Range von allen GetDoorPos is, damit ich eine return message mit einbauen kann, ansonsten kriege ich Errors, wenn ich nicht in der nähe die Sachen abfrage.
Warum bekommst du sonst Errors? Der Spieler kann ja eigentlich nur im Umkreis einer Tür sein.
-
Beitrag von Abbas ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: ---- (). -
C
stock GetDoorPos(playerid) { if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 0; if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 1; if(IsPlayerInRangeOfPoint(playerid,2.0,/*...*/)) return 1; return -1; }
Wie geht das denn anders @Jeffry. Irgendwie versteh ich die returns nicht. So hat es funktioniert bei den ersten beiden, trage ich in Zeile 4. return 0; ein habe ich das Problem an einer anderen Tür
Zitat von JeffryWarum bekommst du sonst Errors? Der Spieler kann ja eigentlich nur im Umkreis einer Tür sein.
http://prntscr.com/ne6avq, ich will halt dazu noch abfrage ob er halt in der Nähe von einer dieser Türen ist, wenn nicht soll halt eine SendClientMessage kommen die sagt, dass er nicht in der Nähe von einer Tür ist. Ich würde halt richtig Stumpf alle Koordinaten in ein Array packen, es ist halt nicht der Sinnvollste Weg, deswegen frage ich
-