[SAMMELTHREAD] Kleine Scripting Fragen

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
  • Jeffry: Glückwunsch zu 9000 Beiträgen :D


    Funktioniert, habe mein Gamemode geupdatet und hochgeladen doch nun funktioniert er nicht mehr und Mode hat sich auch zu Unkown geändert.


    In der Server Log steht folgendes:


    Sehr vieles, doch wichtig:


    [02:05:56] *** Streamer Plugin: Warning: Include file version (0x275201) does not match plugin version (0x27201) (script might need to be recompiled with the latest include file)



    Wie mache ich das?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Jeffry:


    Immer noch folgendes in der Server Log:




    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3.7, (C)2005-2015 SA-MP Team


    [02:21:58] password = "" (string)
    [02:21:58]
    [02:21:58] Server Plugins
    [02:21:58] --------------
    [02:21:58] Loading plugin: crashdetect.so
    [02:21:58] crashdetect v4.8.4 is OK.
    [02:21:58] Loaded.
    [02:21:58] Loading plugin: sscanf.so
    [02:21:58]


    [02:21:58] ===============================


    [02:21:58] sscanf plugin loaded.


    [02:21:58] Version: 2.8.1


    [02:21:58] (c) 2012 Alex "Y_Less" Cole


    [02:21:58] ===============================


    [02:21:58] Loaded.
    [02:21:58] Loading plugin: streamer.so
    [02:21:58]


    *** Streamer Plugin v2.7.6 by Incognito loaded ***


    [02:21:58] Loaded.
    [02:21:58] Loading plugin: filemanager.so
    [02:21:58] ******************
    [02:21:58] ** FILE MANAGER **
    [02:21:58] ** Loaded **
    [02:21:58] ** Version 1.5 **
    [02:21:58] ******************
    [02:21:58] Loaded.
    [02:21:58] Loading plugin: whirlpool.so
    [02:21:58]
    [02:21:58] ==================
    [02:21:58]
    [02:21:58] Whirlpool loaded
    [02:21:58]
    [02:21:58] ==================
    [02:21:58]
    [02:21:58] Loaded.
    [02:21:58] Loaded 5 plugins.


    [02:21:58]
    [02:21:58] Ban list
    [02:21:58] --------
    [02:21:58] Loaded: samp.ban
    [02:21:58]
    [02:21:58]
    [02:21:58] Filterscripts
    [02:21:58] ---------------
    [02:21:58] Loading filterscript 'UltraHost.amx'...
    [02:21:59] Loading filterscript 'tstudio.amx'...
    [02:22:01] *** Streamer Plugin: Include file version (0x27201) does not match plugin version (0x276001) (script might need to be recompiled with the latest include file)
    [02:22:01]
    [02:22:01]
    [02:22:01]
    [02:22:01] =======================================
    [02:22:01] | |
    [02:22:01] | YSI version 3.09.0684 |
    [02:22:01] | By Alex "Y_Less" Cole |
    [02:22:01] | |
    [02:22:01] =======================================
    [02:22:01]
    [02:22:01]
    [02:22:01]
    [02:22:02] LOADED 8370 texture definitions
    [02:22:02] ----------------------------------------------
    [02:22:02] ---------Texture Studio By [uL]Pottus---------
    [02:22:02] -------------------------------------Loaded---
    [02:22:02] Loading filterscript 'fsdebug.amx'...
    [02:22:04]
    *********************
    * SA:MP DEBUG 0.2 *
    [02:22:04] * By Simon Campbell *
    *********************
    [02:22:04] * Version: 0.5d *
    *********************
    [02:22:04] * -- LOADED *
    *********************


    [02:22:04] Loading filterscript 'npcrecord.amx'...
    [02:22:04] Unable to load filterscript 'npcrecord.amx'.
    [02:22:04] Loaded 3 filterscripts.


    [02:22:06] [debug] Run time error 19: "File or function is not found"
    [02:22:06] [debug] FreezeSyncData
    [02:22:06] [debug] SetFakeFacingAngle
    [02:22:06] [debug] SendLastSyncData
    [02:22:06] [debug] ClearAnimationsForPlayer
    [02:22:06] [debug] SetKnifeSync
    [02:22:06] [debug] SetFakeHealth
    [02:22:06] [debug] SetFakeArmour
    [02:22:06] [debug] PlayerTextDrawSetPosition
    [02:22:06] [debug] SpawnPlayerForWorld
    [02:22:06] [debug] SetDisableSyncBugs
    [02:22:06] LOADED 8370 texture definitions
    [02:22:06] [debug] Run time error 19: "File or function is not found"
    [02:22:06] [debug] FreezeSyncData
    [02:22:06] [debug] SetFakeFacingAngle
    [02:22:06] [debug] SendLastSyncData
    [02:22:06] [debug] ClearAnimationsForPlayer
    [02:22:06] [debug] SetKnifeSync
    [02:22:06] [debug] SetFakeHealth
    [02:22:06] [debug] SetFakeArmour
    [02:22:06] [debug] PlayerTextDrawSetPosition
    [02:22:06] [debug] SpawnPlayerForWorld
    [02:22:06] [debug] SetDisableSyncBugs
    [02:22:06] Script[gamemodes/LnD.amx]: Run time error 19: "File or function is not found"
    [02:22:06] Number of vehicle models: 0


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Jeffry:


    Und wo füge ich diese ganzen Dateien ein? Das sind ja mehr als 20 oder welche brauche ich genau?


    Habe jetzt erstmal nur die SKY.INC von dort kopiert, als txt gespeichert und zu einer .inc Datei umgewandelt und in mein Includes Ordner reingestellt, doch das Problem besteht immer noch.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • was hat sich denn da geändert wenn ich deins nehme was du mir verbessert hast ??


    meinst du die schreibweise das alles ordentlicher aussieht hast du geändert oder irgendwas ingame ?

  • Lasse bitte diese Vollzitate, eine aussagende Zeile tut es auch, aber so wird alles nur extrem unübersichtlich. Danke!


    Zur Frage:
    Ich habe die Performance und das Aussehen verbessert. Außerdem habe ich den Fehler behoben, falls jemand keine Deaths hat, da man ja nicht durch 0 teilen kann.

  • Wie mache ich das so, das man wenn man den Motor starten möchte, 3 Sekunden lang die Numpad 2 Taste gedrückt halten muss? bzw. andere Tasten gehen auch, ist allgemein gemeint. Habe das bis jetzt so:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/motor", true) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0x9B0000FF, "Du sitzt in keinem Fahrzeug um den Motor zu starten!");
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
    {
    SendClientMessage(playerid, 0x9B0000FF, "Du sitzt auf einem Fahrrad, das hat keinen Motor!");
    }
    else if (Motor[car] == false)
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true;
    SendClientMessage(playerid, 0x4B94FFFF, "{1AADD6}Gedanke: {F2F2F2}Sie drehen den Zündschlüssel, und schalten den Motor {36D61A}an!");
    }
    else
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    SendClientMessage(playerid, 0x4B94FFFF, "{1AADD6}Gedanke: {F2F2F2}Sie drehen den Zündschlüssel, und schalten den Motor {E83A3D}aus!");
    }
    }
    return 1;
    }
    return SendClientMessage(playerid, 0xFF0000FF, "Befehl existiert nicht.");
    }

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

    Einmal editiert, zuletzt von Eddy ()

  • Du packst das als erstes in eine Funktion:


    stock StartMotor(playerid)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0x9B0000FF, "Du sitzt in keinem Fahrzeug um den Motor zu starten!");
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid),m=GetVehicleModel(car);
    if(m == 509 || m == 481 || m == 510) SendClientMessage(playerid, 0x9B0000FF, "Du sitzt auf einem Fahrrad, das hat keinen Motor!");
    else if (Motor[car] == false)
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true;
    SendClientMessage(playerid, 0x4B94FFFF, "{1AADD6}Gedanke: {F2F2F2}Sie drehen den Zündschlüssel, und schalten den Motor {36D61A}an!");
    }
    else
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    SendClientMessage(playerid, 0x4B94FFFF, "{1AADD6}Gedanke: {F2F2F2}Sie drehen den Zündschlüssel, und schalten den Motor {E83A3D}aus!");
    }
    }
    return 1;
    }


    //Dann oben im Skript:
    #define RELEASED(%0) \
    (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))


    new motor_time[MAX_PLAYERS];


    //Unter OnPlayerKeyStateChange
    if(newkeys & KEY_LOOK_BEHIND || newkeys & KEY_SUBMISSION)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    motor_time[playerid] = gettime()+3;
    }
    if(RELEASED(KEY_LOOK_BEHIND) || RELEASED(KEY_SUBMISSION))
    {
    if((motor_time[playerid]-gettime()) < 0 && motor_time[playerid] != 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    StartMotor(playerid);
    }
    motor_time[playerid]=0;
    }


    So sollte es klappen ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ja :wacko: bei dir müsste das ka klappen, ich habe eben geschaut, kann vllt sein, das mein Numpad aus geschaltet war :pinch:


    //Edit


    Lol, jetzt erst gemerkt, das du oben die Zahlen genommen hast, ich dachte das wäre Numpad 2 :D

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Welchen Zünder muss ich X Sekunden halten und erst wenn ich loslasse geht der Motor an. Ich kenne kein Auto bei dem das so ist.


    ...und? :huh:


    Ich kenne es auch nicht, dass wenn ich einen gesuchten umbringe, er im Gefängnis landet...


    Aber er will es so:


    Wie mache ich das so, das man wenn man den Motor starten möchte, 3 Sekunden lang die Numpad 2 Taste gedrückt halten muss?


    Wenn du es mit einem Timer haben willst, dann muss man die Taste nur 1x drücken und der Motor geht nach 3sek an...


    Musst dich halt entscheiden, was du haben willst :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kann man das noch so machen, das die Nachricht nach den 3 Sekunden kommt, das der Motor an bzw. aus geschaltet wurde? Es ist bis jetzt so, das der Nachricht er kommt, wenn ich los lasse, der Motor geht dann auch erst an, wenn ich los lasse :D.

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Es ist bis jetzt so, das der Nachricht er kommt, wenn ich los lasse, der Motor geht dann auch erst an, wenn ich los lasse .


    Ja...so wolltest du das doch auch :whistling:


    Dann drück dich besser aus :b


    Dann schreibs so:


    //Am besten noch oben:
    new bool:m_p[MAX_PLAYERS char];


    //Unter OnPlayerKeyStateChange
    if(newkeys & KEY_LOOK_BEHIND || newkeys & KEY_SUBMISSION)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    if(!m_p{playerid}) SetTimerEx("@motor",3000,0,"i",playerid),m_p{playerid}=true;
    }


    //Dann außerhalb:
    @motor(i);@motor(i) return StartMotor(i),m_p{i}=false;


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S