[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
  • Solange es im selben Callback steht (bestenfalls OnGameModeInit), ja.
    Ansonsten so:
    new oID[4];
    oID[0] = CreateDynamicObject(19377, 1579.54602, -1750.09839, 6.48330, 0.00000, 0.00000, 0.00000);
    oID[1] = CreateDynamicObject(19377, 1579.54578, -1759.72888, 6.48330, 0.00000, 0.00000, 0.00000);
    oID[2] = CreateDynamicObject(19313, 1410.28198, -1715.27917, 7.91662, 0.00000, 0.00000, 83.90988);
    oID[3] = CreateDynamicObject(8661, 1515.13806, -1707.89490, 12.37220, 0.00000, 0.00000, 90.00000);
    for(new i=0; i<4; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, oID[i],E_STREAMER_DRAW_DISTANCE, 500.0);


    //Anderes Callback oder so...etwas was nicht zeitgleich mit dem oben aufgerufen wird.


    //LVPD
    new oID[4];
    oID[0] = CreateDynamicObject(19377, 1579.54602, -1750.09839, 6.48330, 0.00000, 0.00000, 0.00000);
    oID[1] = CreateDynamicObject(19377, 1579.54578, -1759.72888, 6.48330, 0.00000, 0.00000, 0.00000);
    oID[2] = CreateDynamicObject(19313, 1410.28198, -1715.27917, 7.91662, 0.00000, 0.00000, 83.90988);
    oID[3] = CreateDynamicObject(8661, 1515.13806, -1707.89490, 12.37220, 0.00000, 0.00000, 90.00000);
    for(new i=0; i<4; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, oID[i],E_STREAMER_DRAW_DISTANCE, 500.0);


    Probiere es aber erst mal mit ein paar Objekten, nicht dass du alle änderst und dann geht es nicht. ;)

  • Hallöchen,


    wie ihr oben lesen könnt habe ich paar warnings und errors.


    Es geht um diese Zeilen.



    dini_IntSet(Data, "FightingStyle", PlayerInfo[playerid][SetPlayerFightingStyle(playerid,strval(val))]);
    dini_IntSet(Data, "pSHealth", PlayerInfo[playerid][pSHealth]);
    dini_IntSet(Data, "pHealth", PlayerInfo[playerid][pHealth]);
    dini_IntSet(Data, "Pos_x", PlayerInfo[playerid][pPos_x]);
    dini_IntSet(Data, "Pos_y", PlayerInfo[playerid][pPos_y]);
    dini_IntSet(Data, "Pos_z", PlayerInfo[playerid][pPos_z]);
    dini_IntSet(Data, "SpawnChange", PlayerInfo[playerid][SpawnChange]);
    dini_IntSet(Data, "WantedLevel", PlayerInfo[playerid][WantedLevel]);
    dini_IntSet(Data, "WantedPoints", PlayerInfo[playerid][WantedPoints]);
    dini_IntSet(Data, "Offflucht", PlayerInfo[playerid][OfflineFlucht]);
    dini_IntSet(Data, "Knast", PlayerInfo[playerid][Knast]);
    dini_IntSet(Data, "KnastTime", PlayerInfo[playerid][KnastTime]);
    dini_IntSet(Data, "GWD", PlayerInfo[playerid][pGWD]);


    das sind die Errors und warnings

    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17236) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17254) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17255) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17265) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17266) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17267) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17306) : error 033: array must be indexed (variable "SpawnChange")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17307) : error 033: array must be indexed (variable "WantedLevel")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17308) : error 033: array must be indexed (variable "WantedPoints")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17312) : error 033: array must be indexed (variable "OfflineFlucht")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17313) : error 033: array must be indexed (variable "Knast")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17316) : error 033: array must be indexed (variable "KnastTime")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17330) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    und so sahen die Zeilen vorher aus :



    if( strcmp( key , "FightingStyle" , true ) == 0 ) { val = ini_GetValue( Data ); SetPlayerFightingStyle(playerid,strval(val)); }
    if( strcmp( key , "pSHealth" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSHealth] = floatstr( val ); }
    if( strcmp( key , "pHealth" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pHealth] = floatstr( val ); }
    if( strcmp( key , "Pos_x" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPos_x] = floatstr( val ); }
    if( strcmp( key , "Pos_y" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPos_y] = floatstr( val ); }
    if( strcmp( key , "Pos_z" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPos_z] = floatstr( val ); }
    if( strcmp( key , "SpawnChange" , true ) == 0 ) { val = ini_GetValue( Data ); SpawnChange[playerid] = strval( val ); }
    if( strcmp( key , "WantedLevel" , true ) == 0 ) { val = ini_GetValue( Data ); WantedLevel[playerid] = strval( val ); }
    if( strcmp( key , "WantedPoints" , true ) == 0 ) { val = ini_GetValue( Data ); WantedPoints[playerid] = strval( val ); }
    if( strcmp( key , "Offflucht" , true ) == 0 ) { val = ini_GetValue( Data ); OfflineFlucht[playerid] = strval( val ); }
    if( strcmp( key , "Knast" , true ) == 0 ) { val = ini_GetValue( Data ); Knast[playerid] = strval( val ); }
    if( strcmp( key , "KnastTime" , true ) == 0 ) { val = ini_GetValue( Data ); KnastTime[playerid] = strval( val ); }
    if( strcmp( key , "GWD" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGWD] = floatstr( val ); }



    Kann mir jemand helfen ?


    Mfg

  • So, ich habe jetzt das:



    for(new i=0; i<2778; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i,E_STREAMER_DRAW_DISTANCE, 2500.0);

    und in der server.cfg habe ich die streamdistance ebenfalls auf 2500 gestellt
    Es funktioniert aber nicht..
    Wo/wie stelle ich diese "Cellsize" ein?

  • @Aviero: Poste mal dein SpielerLaden, oder LoginPlayer, oder wie auch immer es heißt. Den Teil, der die Statistiken lädt. Müsste nach der Eingabe des Passworts beim Login kommen. Wie genau das bei dir heißt weiß ich nicht.


    Saphire:
    dini_IntSet(Data, "FightingStyle", PlayerInfo[playerid][SetPlayerFightingStyle(playerid,strval(val))]);
    dini_IntSet(Data, "pSHealth", PlayerInfo[playerid][pSHealth]);
    dini_IntSet(Data, "pHealth", PlayerInfo[playerid][pHealth]);
    dini_IntSet(Data, "Pos_x", PlayerInfo[playerid][pPos_x]);
    dini_IntSet(Data, "Pos_y", PlayerInfo[playerid][pPos_y]);
    dini_IntSet(Data, "Pos_z", PlayerInfo[playerid][pPos_z]);
    dini_IntSet(Data, "SpawnChange", SpawnChange[playerid]);
    dini_IntSet(Data, "WantedLevel", WantedLevel[playerid]);
    dini_IntSet(Data, "WantedPoints", WantedPoints[playerid]);
    dini_IntSet(Data, "Offflucht", OfflineFlucht[playerid]);
    dini_IntSet(Data, "Knast", Knast[playerid]);
    dini_IntSet(Data, "KnastTime", KnastTime[playerid]);
    dini_IntSet(Data, "GWD", PlayerInfo[playerid][pGWD]);


    Die Zeilen mit den Warnungen fehlen allerdings.



    Dome_: Schau mal hier rein: [ TOOL ] [INC] JunkBuster Anti-Cheat - Update 8 >>Servers-side-Waffen, -Health, Anti-Godmode und mehr!!!<<


    Jumpin:
    Streamer_SetCellDistance(Float:distance);
    Falls es immer noch nicht klappt, versuche es zudem mit der E_STREAMER_STREAM_DISTANCE (zweite Schleife).

  • Jeffry:


    Ich habe doch die Zeilen zu den Errors & Warnings gepostet.
    Also nochmal


    Das sind die Errors.

    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17236) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17254) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17255) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17265) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17266) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17267) : warning 213: tag mismatch
    C:\Users\aimen\Desktop\Momento
    Roleplay - The Time Starts\gamemodes\MOR.pwn(17306) : error 033: array
    must be indexed (variable "SpawnChange")
    C:\Users\aimen\Desktop\Momento
    Roleplay - The Time Starts\gamemodes\MOR.pwn(17307) : error 033: array
    must be indexed (variable "WantedLevel")
    C:\Users\aimen\Desktop\Momento
    Roleplay - The Time Starts\gamemodes\MOR.pwn(17308) : error 033: array
    must be indexed (variable "WantedPoints")
    C:\Users\aimen\Desktop\Momento
    Roleplay - The Time Starts\gamemodes\MOR.pwn(17312) : error 033: array
    must be indexed (variable "OfflineFlucht")
    C:\Users\aimen\Desktop\Momento
    Roleplay - The Time Starts\gamemodes\MOR.pwn(17313) : error 033: array
    must be indexed (variable "Knast")
    C:\Users\aimen\Desktop\Momento
    Roleplay - The Time Starts\gamemodes\MOR.pwn(17316) : error 033: array
    must be indexed (variable "KnastTime")
    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17330) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    und das sind die Zeile zu den Warnings und Errors (genau in der gleichen Reinfolge)



    dini_IntSet(Data, "FightingStyle", PlayerInfo[playerid][SetPlayerFightingStyle(playerid,strval(val))]);
    dini_IntSet(Data, "pSHealth", PlayerInfo[playerid][pSHealth]);
    dini_IntSet(Data, "pHealth", PlayerInfo[playerid][pHealth]);
    dini_IntSet(Data, "Pos_x", PlayerInfo[playerid][pPos_x]);
    dini_IntSet(Data, "Pos_y", PlayerInfo[playerid][pPos_y]);
    dini_IntSet(Data, "Pos_z", PlayerInfo[playerid][pPos_z]);
    dini_IntSet(Data, "SpawnChange", PlayerInfo[playerid][SpawnChange]);
    dini_IntSet(Data, "WantedLevel", PlayerInfo[playerid][WantedLevel]);
    dini_IntSet(Data, "WantedPoints", PlayerInfo[playerid][WantedPoints]);
    dini_IntSet(Data, "Offflucht", PlayerInfo[playerid][OfflineFlucht]);
    dini_IntSet(Data, "Knast", PlayerInfo[playerid][Knast]);
    dini_IntSet(Data, "KnastTime", PlayerInfo[playerid][KnastTime]);
    dini_IntSet(Data, "GWD", PlayerInfo[playerid][pGWD]);

    • Offizieller Beitrag

    kleinkiko


    Dieses Bild wurde mit dem SA:MP Map Construction Editor gemacht, obs jetzt ein grosses Bild ist oder mehrere kleine Zusammengesetzt wurden weiss ich nicht

  • Jumpin: Bei OnGameModeInit. Das mit dem E_STREAMER_STREAM_DISTANCE dort wo du die Objekte erstellst (direkt unter der anderen Schleife).


    Saphire: Sag das doch gleich. :D
    dini_IntSet(Data, "FightingStyle", GetPlayerFightingStyle(playerid)); //EDIT <-
    dini_FloatSet(Data, "pSHealth", PlayerInfo[playerid][pSHealth]);
    dini_FloatSet(Data, "pHealth", PlayerInfo[playerid][pHealth]);
    dini_FloatSet(Data, "Pos_x", PlayerInfo[playerid][pPos_x]);
    dini_FloatSet(Data, "Pos_y", PlayerInfo[playerid][pPos_y]);
    dini_FloatSet(Data, "Pos_z", PlayerInfo[playerid][pPos_z]);
    dini_IntSet(Data, "SpawnChange", SpawnChange[playerid]);
    dini_IntSet(Data, "WantedLevel", WantedLevel[playerid]);
    dini_IntSet(Data, "WantedPoints", WantedPoints[playerid]);
    dini_IntSet(Data, "Offflucht", OfflineFlucht[playerid]);
    dini_IntSet(Data, "Knast", Knast[playerid]);
    dini_IntSet(Data, "KnastTime", KnastTime[playerid]);
    dini_FloatSet(Data, "GWD", PlayerInfo[playerid][pGWD]);

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Jumpin: Bei OnGameModeInit. Das mit dem E_STREAMER_STREAM_DISTANCE dort wo du die Objekte erstellst (direkt unter der anderen Schleife).

    Muss ich da einfach "E_STREAMER_STREAM_DISTANCE" hinschreiben oder wie muss das genau aussehen? //Ich habe keine Ahnung :|
    Und was ist mit diesem

    Streamer_SetCellDistance(Float:distance);

    Wo muss das hin und was muss ich da einfügen?

  • Nein, einfach so die Schleife hier, unter die andere:
    for(new i=0; i<2778; i++) Streamer_SetFloatData(STREAMER_TYPE_OBJECT, i,E_STREAMER_STREAM_DISTANCE, 2500.0);


    Und das bei OnGameModeInit falls es nichts bringt:
    Streamer_SetCellDistance(2500.0);


    Wobei die von dir angesetzten 2500 sehr viel sind, das wird nichts bringen. Ob 500 oder 1000 oder 2500 macht keinen Unterschied, da GTA dort Limits hat. :)
    Und besser wie bei CreateObject geht es sowieso nicht, da der Streamer das nutzt.

  • Jeffry:


    Dankeschön erstmal, aber bei dem einen hat es nicht geklappt.



    dini_FloatSet(Data, "FightingStyle", PlayerInfo[playerid][SetPlayerFightingStyle(playerid,strval(val))]);



    C:\Users\aimen\Desktop\Momento Roleplay - The Time Starts\gamemodes\MOR.pwn(17236) : warning 213: tag mismatch


    vielleicht hab ich da ja mist gebaut, zuerst sah es so aus :



    if( strcmp( key , "FightingStyle" , true ) == 0 ) { val = ini_GetValue( Data ); SetPlayerFightingStyle(playerid,strval(val)); }


    Mfg Saphire

  • Hm...ich hatte damit noch nie Probleme.
    Dann wäre die einzige Möglichkeit die mir noch einfällt diese:
    CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0);
    In CreateDynamicObject kannst du ja auch die streamdistance und die drawdistance ändern. Mach das mal für ein Objekt, und schau ob es dann geht, bei dem Objekt.
    Wenn es auch nichts ändert, dann hast du vielleicht schon den maximalen Abstand.