[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
  • stock LoadGroups(gid){
    new query[200];
    format(query,200,"SELECT * FROM `gruppen` WHERE `G_ID`='%d'",gid);
    mysql_tquery(handle,query,"OnGroupLoad","d",gid);
    return 1;
    }


    for(new i=0;i<sizeof MAX_GROUPS;i++){//Fehlerzeile
    LoadGroups(i);
    }


    Fehler:
    error 020: invalid symbol name ""
    Wo liegt da der Fehler?


    ArTeX: Zeig mal den Code davon.

  • Bei mir wird nichts geprintet.
    public OnGroupLoad(gid){
    new Num[2];cache_get_data(Num[0],Num[1],handle);
    if(Num[0]==1){
    cache_get_field_content(0,"G_Name",Gruppe[gid][G_Name],handle);
    cache_get_field_content(0,"G_Leader",Gruppe[gid][G_Leader],handle);
    Gruppe[gid][G_ID] = cache_get_field_content_int(0,"G_ID",handle);
    Gruppe[gid][G_Slots] = cache_get_field_content_int(0,"G_Slots",handle);
    Gruppe[gid][G_SlotsIns] = cache_get_field_content_int(0,"G_SlotsIns",handle);
    printf("%s",Gruppe[gid][G_Name]);
    }
    return 1;
    }
    Also beim Printen kommt nichts raus, woran kann das liegen?

    Einmal editiert, zuletzt von AirM4X ()

    • Offizieller Beitrag

    Dann ist wahrscheinlich Num[0] false/0.


    Ich habe ein Problem:
    if(HIT_KeyUp[playerid]) {
    if(PRESSED(KEY_SPRINT)) {
    if(GetPVarInt(playerid, "pInjuredTime") > gettime() && GetPVarInt(playerid, "pInjuredLeg") && HIT_PlayerPlaysAnimation[playerid] == false) {
    ApplyAnimation(playerid, "ped", "run_civi", 4.0, 1, 1, 1, 1, 1);
    SendClientMessageToAll(-1, "sd");
    HIT_PlayerPlaysAnimation[playerid] = true;
    } else if(GetPVarInt(playerid, "pInjuredTime") < gettime()) {
    SetPVarInt(playerid, "pInjuredTime", 0);
    SetPVarInt(playerid, "pInjuredLeg", 0);
    }
    }
    }



    Also, alles klappt bis auf die Animation, "sd" wird auch gesendet, weiß einer bescheid?


  • [15:41:11] Number of vehicle models: 1
    [15:41:11] Text:

    Ja, der Print wird geladen, bloß der Name ist wohl irgendwie leer.
    In der Datenbank steht als Testname "Hi".


    Klappt, ich musste die Länge mit einfügen ;)

  • Hey Leute,
    ich habe versucht an die Neuling Roller ein Textlabel anzuklatschen.
    Doch wenn ich InGame bin sehe ich nichts ..


    Hier mal was ich alles habe
    new stringx[128],Text3D:Roller3D,NewbieRollerVehs[8];


    NewbieRollerVehs[0] = AddStaticVehicleEx(462,1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0 NewbieRollerVehs[1] = AddStaticVehicleEx(462,1285.4490,-1539.1919,13.0910,259.6533,6,0,-1); // Newbie Roller 1 NewbieRollerVehs[2] = AddStaticVehicleEx(462,1286.5742,-1534.9928,13.0933,244.8195,6,0,-1); // Newbie Roller 3
    stock RookiRollerLabel(playerid){ for(new pv = 0; pv < sizeof(NewbieRollerVehs); pv++) { format(stringx,sizeof(stringx),"NO DM"); NewbieRollerVehs[pv] = Create3DTextLabel(stringx,0x23FF00FF,0.0,0.0,0.0,25.0,0,1); Attach3DTextLabelToVehicle(Roller3D,NewbieRollerVehs,0.0,0.0,2.0); } return 1;}

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • NixMuss:
    new stringx[128],Text3D:Roller3D[8],NewbieRollerVehs[8];


    NewbieRollerVehs[0] = AddStaticVehicleEx(462,1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0
    NewbieRollerVehs[1] = AddStaticVehicleEx(462,1285.4490,-1539.1919,13.0910,259.6533,6,0,-1); // Newbie Roller 1
    NewbieRollerVehs[2] = AddStaticVehicleEx(462,1286.5742,-1534.9928,13.0933,244.8195,6,0,-1); // Newbie Roller 3


    stock RookiRollerLabel(playerid)
    {
    for(new pv = 0; pv < sizeof(NewbieRollerVehs); pv++)
    {
    format(stringx,sizeof(stringx),"NO DM");
    Roller3D[pv] = Create3DTextLabel(stringx,0x23FF00FF,0.0,0.0,0.0,25.0,0,1);
    Attach3DTextLabelToVehicle(Roller3D[pv],NewbieRollerVehs,0.0,0.0,2.0);
    }
    return 1;
    }

    • Offizieller Beitrag

    Ungetestet:
    #define MAX_NROLLER 10
    new NoobRoller[MAX_NROLLER];
    new Text3D:Roller3DLabel[MAX_NROLLER];
    new NoobRollerCounter;


    stock CreateNoobRoller(Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay) {
    if(NoobRollerCounter == 10) return 0;
    NoobRoller[NoobRollerCounter] = CreateVehicle(462, x, y, z, angle, color1, color2, respawn_delay);
    Roller3DLabel[NoobRollerCounter] = Create3DTextLabel("NO DM", 0x23FF00FF, 0.0, 0.0, 0.0, 25.0, 0, 1);
    Attach3DTextLabelToVehicle(Roller3DLabel[NoobRollerCounter], NoobRoller[NoobRollerCounter], 0.0, 0.0, 2.0);
    NoobRollerCounter++;
    return 1;
    }

  • Edgar: Kannst du vllt. sagen wie der Code dafür lautet mit Position und Skin ?


    --
    Kann mir da einer helfen ?
    Ich hab einmal einen Pizza Shop und nen anderen Shop die eben 2 andere Funktionen mit Enter haben sollen
    da kommt bei mir immer Error ..



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & 16) //Enter-Taste
    {
    if(IsPlayerInAnyVehicle(playerid))return 0;
    else if(IsPlayerInPizza(playerid))
    {
    {
    SetPlayerHealth(playerid, 100.0);
    GivePlayerMoney(playerid, -20);
    ApplyAnimation(playerid,"FOOD","EAT_Pizza", 3.0, 0, 0, 0, 0, 0);
    }
    else // error
    {
    GivePlayerHealth(playerid, 20.0);
    GivePlayerMoney(playerid, -20);
    ApplyAnimation(playerid,"FOOD","EAT_Pizza", 3.0, 0, 0, 0, 0, 0);
    }
    }
    else if(IsPlayerInShop(playerid))
    {
    ShowPlayerDialog(playerid, DIALOG_SHOP, DIALOG_STYLE_LIST,"Shop","Weste\nLeben","Weiter","Abbrechen");
    }
    }
    return 1;
    }

  • Erstellen:
    CreateNoobRoller(1285.5205,-1537.9315,13.0822,254.8293,6,0,-1); // Newbie Roller 0



    Und bei deinem anderen Code fehlt nach
    else if(IsPlayerInPizza(playerid))


    Die Abfrage, wann du dem Spieler die Health zu 100 setzen willst. Du hast darunter nur den else Fall, keinen if Fall davor.

  • thx Jeffry: Da hab ich jetzt ein Problem, wenn ich beim Shop "Enter" drücke, drückt es mir 2x hintereinander schnell Enter, sodass ich beim Shop gleich (in meinem Fall) Weste auswähle.
    Wenn ich Enter nur einmal drücke und gedrückt halte kann ich noch auswählen .. wie behebe ich das ?

  • dcmd_admins(playerid,params[])
    {
    #pragma unused params
    new string[128];
    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !AccInfo[i][Level] || AccInfo[i][Hide]) continue;
    format(string, sizeof string, "%sAdmin %s (ID:%i)- {0098D3}Level %d{FFFFFF}\n",string,PlayerName2(i),i, AccInfo[i][Level]);
    }
    if(!string[0]) return ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\n\nThere are no admins\ncurrently available.","Close","");
    return ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");
    }


    Wie lasse ich einen Text über den String anzeigen? Beispielsweise "Following Admins are currently online:\n" und das nur einmal anstatt bei jedem Admin der online ist?
    Habe ziemlich alles ausprobiert und bekomme dabei nie das raus, was ich eigentlich haben will :s