Schwerwiegendes Problem mit meinem Server.

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
  • Hallo liebe Community
    Habe zurzeit ein schwerwiegendes Problem mit meinem Server.
    Wenn ich irgendwas global definiere siehe Beispiel hier:
    Bekomme dann immer undefined symbol error auch wenns global definiert ist.



    #include <a_samp>
    new portveh = GetPlayerVehicleID(playerid);


    public OnPlayerCommandText
    {
    if (strcmp("/pc", cmdtext, true, 10) == 0)
    {

    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehiclePos(portveh,2337.3564,4.6581,26.3147);
    PutPlayerInVehicle(playerid,portveh,0);
    }
    else
    {
    SetPlayerPos(playerid,2337.3564,4.6581,26.3147); // speed3
    }
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new string[100];
    format(string,sizeof(string),"%s hat sich nach Palomino Creek teleportiert (/pc)",name);
    SendClientMessageToAll(0xFFFFFFAA,string);
    }
    }





    Und bei OnPlayerRequestClass muss ichs immer so machen:
    '

    if(classid == 59)
    {
    SetPlayerColor(playerid,0xFFFFFFAA);
    GameTextForPlayer(playerid, "~w~ The Truth",2000, 6);
    //NUR SO FUNKTIONIERTS////
    if(classid == 36)
    {
    GameTextForPlayer(playerid, "~b~ Cop: Dillimore",2000, 6);
    }
    }
    return 1;
    }


    Wenn ichs so mache geht mein ganzes Script nicht;


    if(classid == 59)
    {
    SetPlayerColor(playerid,0xFFFFFFAA);
    GameTextForPlayer(playerid, "~w~ The Truth",2000, 6);
    {//DIE KLAMMER HIER///
    if(classid == 36)
    {
    GameTextForPlayer(playerid, "~b~ Cop",2000, 6);
    }
    }
    return 1;
    }


    //EDIT:Ich hoffe auf schnelle hilfe

  • Yo auch das ich bei OnPlayerRequestClass nichmehr als 60 Skins reinmachen kann da mein Server sonst abkackt
    //EDIT: Mit #define funzt es auch nicht steht dann auch immer undefined symbol portveh
    Hab #define portveh GetPlayerVehicleID(playerid); ganz oben ins Script reingemacht

  • Hast wohl den Sinn von den ganzen Callbacks nicht verstanden, du kannst nicht oben
    new portveh = GetPlayerVehicleID(playerid);


    schreiben, von wo soll der die playerid bekommen?, die musst du schon bei einer Funktion schreiben, z.B. OnPlayerEnterCar und nicht ganz oben im Script

  • Moin habe das Problem noch immer.
    Wenn ich OnPlayerCommandText komplett entferne funktioniert alles perfekt aber ich weiß nicht
    //EDIT: Wie soll ichs dann so machen?? Im Filterscript funktionierts aber als GameMode nicht.


    z.b. das



    #include <samp>
    new tu1;
    main()
    {


    }
    public OnGameModeInit()
    {
    tu1 = CreateObject(....);
    }




    publicOnPlayerCommandText
    {
    if (strcmp("7test", cmdtext, true, 10) == 0)
    {
    //PlayerPlaySound(playerid, 1150, 0.0, 0.0, 10.0);
    MoveObject(tu1,...);
    }

    da kriege ich errros aber im Filterscript funktionierts.



    #include <samp>
    new tu1;
    main()
    {


    }
    public OnGameModeInit()
    {
    tu1 = CreateObject(....);
    }




    publicOnPlayerCommandText
    {
    new tu1;
    if (strcmp("7test", cmdtext, true, 10) == 0)
    {
    //WENN ICHS SO MACHE KRIEGE ICH ZWAR KEINE ERRORS ABER INGAME FUNZTS DANN AUCH NICHT
    //PlayerPlaySound(playerid, 1150, 0.0, 0.0, 10.0);
    MoveObject(tu1,...);
    }

    Einmal editiert, zuletzt von 東志新川薩摩 ()

  • Halt das Problem das ich etwa sowas nicht machen kann^^
    #include <samp>
    new tu1;
    main()
    {


    }
    public OnGameModeInit()
    {
    tu1 = CreateObject(....);
    }
    /EDIT: Bei OnPlayerRequestClass kann ich dann auch nichtmehr als 60 Skins reinmachen da der Server sonst wieder abstirbt



    publicOnPlayerCommandText
    {
    if (strcmp("7test", cmdtext, true, 10) == 0)
    {


    //PlayerPlaySound(playerid, 1150, 0.0, 0.0, 10.0);
    MoveObject(tu1,...);
    }


    Wenn ich oben #endif wegmache klappt alles ohne Probs nur wenn ich den Server starten will bekomme ich irgendnen Runtime error

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Invalid Index Parameter (Bad entry Point) steht da^^wenn ich #else wegmache

  • hab auch main drinnen ^^ aber trotzdem steht da invalid index parameters bla bla bla^^

  • Ja ^^habs etwa so


    public OnGameModeInit()


    #else


    #endif
    main()
    {
    //HIER DIE OBJEKTE//


    public OnPlayerConnect....
    ...

  • Was machst denn du da???


    mach das #else weg, mach das #endif weg.


    Und ich habe gesagt,


    main()
    {
    }
    bzw. kannst auch in einer Wurscht schreiben:
    main() {} und das ganze ganz am Anfang, nicht unter OnGameModeInit()... lesen bitte!

  • Okay habe nun main() und das { } vor der ersten Funktion gemacht und das #else und das #endif weggemacht aber beim startet kriege ich immernoch nen runtime error: Invalid index parameters (Bad entry point)


    //EDIT: Wenn ich das #else wegmache kann ich irgendwo LALALALAL schreiben und es wird nicht als fehler erkannt oO

  • Ja aber du musst das ganze auch nach jeder Änderung wieder neu kompilieren und raufladen auf dem Server.


    Wenn du lalalala reinschreibst und F5 drückst, dann muss nen Fehler kommen, sonst machst du etwas falsch. Ansonst poste mal bitte das Script auf pastebin od. lad es i.wo hoch.