Duty Points (Pickups) werden nicht erstellt -> Befehl trotzdem möglich

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 Breadfish Kumpels, hallo Jeffry


    Da ich nach dem Racesystem nochmals die Fraktionen unter die Lupe genommen habe (kein schimmel vorhanden)
    wollte ich noch 1 Bug beheben


    Also es werden keine Pickups für die Fraktionen erstellt



    Hier mal der Aufbau


    die defines

    //Staatliche einrichtungen | Fraktionen
    #define SFPDDutyEquipPoint 238.0306,125.4313,1003.2188 // >
    #define SFPDHealPoint 242.3738,108.9842,1003.2188 // >
    #define SFPDIntID 10

    die defines
    #define LSPDDutyPoint 324.7148,305.5775,999.1484 // >
    #define LSPDHealPoint 321.9749,315.2595,999.1484 // >
    #define LSPDIntID 5

    die defines
    #define ArmyABDutyPoint 223.7495,1869.6224,13.1406 // >
    #define ArmyABHealPoint 240.0738,1859.0677,14.0840 // >
    #define ArmyHBDuty_EquipPoint 414.5320,2531.6768,19.1618 // >
    #define ArmyHBHealPoint 413.9103,2539.3020,16.5276 // >



    dann mein enum


    enum dutyPoints {
    d_name[64],
    d_pickup,
    Float:dx,
    Float:dy,
    Float:dz,
    Text3D:d_text,
    dv,
    v_world
    };



    new dP[MAX_DPOINTS][dutyPoints] = {
    {"LSPD-Duty Punkt",1239, 324.7148, 305.5775, 999.1484},
    {"SFPD-Duty|Equip Punkt",1239,238.0306,125.4313,1003.2188},
    {"Army-Duty Punkt",1239,223.7495,1869.6224,13.1406},//AB
    {"Army-Duty|Equip Punkt",1239,414.5320,2531.6768,19.1618},//HB
    {"SAMAG-Duty Punkt",1239,1805.0970,-1303.9603,71.2734},
    {"SAMAG-EQUIP Punkt",1239,1803.2406,-1304.9993,71.2734},


    //HEALS
    {"SFPD-Heal Punkt",1240,242.3738,108.9842,1003.2188},
    {"LSPD-Heal Punkt",1240,321.9749,315.2595,999.1484},
    {"Army-Heal Punkt",1240,240.0738,1859.0677,14.0840}, //AB
    {"Army-Heal Punkt",1240,413.9103,2539.3020,16.5276} //HB
    };


    und bei Ongamemodeinit die schleife die diese erstellen soll


    for(new b=0; b<MAX_DPOINTS; b++)
    {
    new string[128];
    format(string,64,"%s",dP[b][d_name]);
    CreatePickup(dP[b][d_pickup],1,dP[b][dx],dP[b][dy],dP[b][dz],dP[b][dv]);
    dP[b][d_text] = Create3DTextLabel(string,CL_ORANGE,dP[b][dx],dP[b][dy],dP[b][dz],0,dP[b][dv],0);
    }


    hoffe ihr könnt ihr mir auch bei diesem Fall helfen



    Vielen Dank im Vorraus


    Golemcraftler

  • Setze nach dem format einfach mal einen Print um zu sehen, ob der Code überhaupt ausgeführt wird.
    format(string,64,"%s",dP[b][d_name]);
    printf(string);


    Was wird geprintet, wenn du den Server startest? Stehen die Namen drin?
    Wenn nicht, dann schau mal in deinem OnGameModeInit ob du irgendwo vor diesem Code den Auflauf mit einem return beendest.

  • hallo Jeffry


    in der Console wird des soweit geprintet ....


    [10:23:39] LSPD-Duty Punkt
    [10:23:39] SFPD-Duty|Equip Punkt
    [10:23:39] Army-Duty Punkt
    [10:23:39] Army-Duty|Equip Punkt
    [10:23:39] SAMAG-Duty Punkt
    [10:23:39] SAMAG-EQUIP Punkt
    [10:23:39] SFPD-Heal Punkt
    [10:23:39] LSPD-Heal Punkt
    [10:23:39] Army-Heal Punkt
    [10:23:39] Army-Heal Punkt


    die pickups in der welt 0 werden erstellt d.h. sam ag und Army


    alle anderen die in Interiors liegen nicht

  • Sind die Pickups die in einem Interior angezeigt werden sollen auch in einer anderen Virtuellen Welt, oder sind die in der Virtuellen Welt 0?
    Welche der Pickups sollen eigentlich in einer anderen Virtuellen Welt sein?

    Am Interior kann es nicht liegen, da Pickups in allen Interiors angezeigt werden.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ok, das kannst du ganz leicht testen.
    Füge diesen Befehl bei OnPlayerCommandText ein, und gehe an die Position an der das Pickup sein sollte. Dann gebe einfach /weltnull ein. Ist es dann da?


    if(!strcmp(cmdtext, "/weltnull", true)) return SetPlayerVirtualWorld(playerid, 0), SendClientMessage(playerid, -1, "NULL!! :-)");

  • Ok, dann ist es so wie ich es vermutet habe, das würde auch deinem Code entsprechen.
    Um die Virtuelle Welt, in der du bist, herauszufinden, nutze diesen Befehl:


    if(!strcmp(cmdtext, "/meinewelt", true))
    {
    new str[128];
    format(str, sizeof(str), "Meine Welt: %d", GetPlayerVirtualWorld(playerid));
    SendClientMessage(playerid, -1, str);
    return 1;
    }


    Wenn du dir dann die ID der Virtuellen Welt ausgelesen hast, trägst du sie jeweils hier ein:


    new dP[MAX_DPOINTS][dutyPoints] =
    {
    {"LSPD-Duty Punkt",1239, 324.7148, 305.5775, 999.1484,Text3D:-1,HIER},
    {"SFPD-Duty|Equip Punkt",1239,238.0306,125.4313,1003.2188,Text3D:-1,HIER},
    {"Army-Duty Punkt",1239,223.7495,1869.6224,13.1406,Text3D:-1,HIER},//AB
    {"Army-Duty|Equip Punkt",1239,414.5320,2531.6768,19.1618,Text3D:-1,HIER},//HB
    {"SAMAG-Duty Punkt",1239,1805.0970,-1303.9603,71.2734,Text3D:-1,HIER},
    {"SAMAG-EQUIP Punkt",1239,1803.2406,-1304.9993,71.2734,Text3D:-1,HIER},


    //HEALS
    {"SFPD-Heal Punkt",1240,242.3738,108.9842,1003.2188,Text3D:-1,HIER},
    {"LSPD-Heal Punkt",1240,321.9749,315.2595,999.1484,Text3D:-1,HIER},
    {"Army-Heal Punkt",1240,240.0738,1859.0677,14.0840,Text3D:-1,HIER}, //AB
    {"Army-Heal Punkt",1240,413.9103,2539.3020,16.5276,Text3D:-1,HIER} //HB
    };



    Wieso hast du im enum eigentlich zwei mal was mit der Virtuellen Welt stehen?
    dv,
    v_world


    Gegegebenenfalls kannst du da eins entfernen, ansonsten trage oben zur Sicherheit die Virtuelle Welt zwei mal bei "HIER" ein, also: 3,3 anstatt nur 3 (Beispiel).


    Wenn du das für alle gemacht hast, sollten die Pickups nach dem kompilieren und Neustart des Servers alle in der richtigen Virtuellen Welt sichtbar sein.

  • new dP[MAX_DPOINTS][dutyPoints] = {
    {"LSPD-Duty Punkt",1239, 324.7148, 305.5775, 999.1484,0,0},
    {"SFPD-Duty|Equip Punkt",1239,238.0306,125.4313,1003.2188,0,0},
    {"Army-Duty Punkt",1239,223.7495,1869.6224,13.1406,0,0},//AB
    {"Army-Duty|Equip Punkt",1239,414.5320,2531.6768,19.1618,0,0},//HB
    {"SAMAG-Duty Punkt",1239,1805.0970,-1303.9603,71.2734,0,0},
    {"SAMAG-EQUIP Punkt",1239,1803.2406,-1304.9993,71.2734,0,0},


    //HEALS
    {"SFPD-Heal Punkt",1240,242.3738,108.9842,1003.2188,0,0},
    {"LSPD-Heal Punkt",1240,321.9749,315.2595,999.1484,0,0},
    {"Army-Heal Punkt",1240,240.0738,1859.0677,14.0840,0,0}, //AB
    {"Army-Heal Punkt",1240,413.9103,2539.3020,16.5276,0,0} //HB
    };


    habe den dann so Jeffry


    wenn die beiden 0,0 weg sind dann gehts wieder

  • Jeffry die Warnings sind weg aber die Pickups werden nicht erstellt



    hier nochmal der Code


    new dP[MAX_DPOINTS][dutyPoints] =
    {
    {"LSPD-Duty Punkt",1239, 324.7148, 305.5775, 999.1484,Text3D:-1,0},
    {"SFPD-Duty|Equip Punkt",1239,238.0306,125.4313,1003.2188,Text3D:-1,0},
    {"Army-Duty Punkt",1239,223.7495,1869.6224,13.1406,Text3D:-1,0},//AB
    {"Army-Duty|Equip Punkt",1239,414.5320,2531.6768,19.1618,Text3D:-1,0},//HB
    {"SAMAG-Duty Punkt",1239,1805.0970,-1303.9603,71.2734,Text3D:-1,0},
    {"SAMAG-EQUIP Punkt",1239,1803.2406,-1304.9993,71.2734,Text3D:-1,0},


    //HEALS
    {"SFPD-Heal Punkt",1240,242.3738,108.9842,1003.2188,Text3D:-1,0},
    {"LSPD-Heal Punkt",1240,321.9749,315.2595,999.1484,Text3D:-1,0},
    {"Army-Heal Punkt",1240,240.0738,1859.0677,14.0840,Text3D:-1,0}, //AB
    {"Army-Heal Punkt",1240,413.9103,2539.3020,16.5276,Text3D:-1,0} //HB
    };