[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
  • Hey,


    ich habe mir einen stock erstellt der nicht funktioniert:


    Ich hoffe einer kann mir helfen

  • @[LnD]JustMe.77: ich arbeite gerade noch ein bisschen darann


    @The Sensei: Man kann das nicht wirklich sehen ist sehr schlecht eingerückt



    //edit


    Es hackt immernoch
    das sind doch aber viel zu viele oder nicht ? ( abstände sind bei 2.5 )

  • ocmd:ban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,-1,""#error_farbe"Du hast kein Admin Level 3.");
    new pID, reason[128],string[555];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,-1,"Tippe: /ban [id] [grund]");
    format(string,sizeof(string),"Sie wurden gerade gesperrt da Sie gegen das Regelwerk verstößen haben.\nBitte lesen Sie erneut das Regelwerk damit soetwas nicht erneut passiert.\nWenn Sie denken das die Sperre zu unrecht verhangen wurde melden Sie sich bei dem Ausführendem Admin.\n\nInformationen:\n\nBan-Grund: %s\nAusführerender Admin: %s",reason,PlayerInfo[playerid][pName]);
    ShowPlayerDialog(playerid,DIALOG_BAN,DIALOG_STYLE_MSGBOX,"Spielausschluss",string,"Okay","");
    SetTimerEx("kicktimer",200,false,"d",pID);
    format(string,sizeof(string),""#error_farbe"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);
    SendClientMessageToAll(-1,string);
    PlayerInfo[pID][pBan] = 1;
    PlayerInfo[pID][pBanadmin] = PlayerInfo[playerid][pName];
    format(string,sizeof(string),"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);
    Log("BanLog",string);
    BanUser(pID,reason);
    return 1;
    }

  • Die Fehlercodes waren oben:


    es hat angeblich was mit meinem Stock zutun (selbst erstellt)


    stock BanUser(pID, reason);
    {
    new query[256];
    gettime(stunde,minuten,sekunde);
    getdate(jahr,monat,tag);
    mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",
    PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);
    mysql_pquery(handle, query);
    return 1;
    }

  • Die Fehlercodes waren oben:


    es hat angeblich was mit meinem Stock zutun (selbst erstellt)


    stock BanUser(pID, reason);{new query[256];gettime(stunde,minuten,sekunde);getdate(jahr,monat,tag);mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);mysql_pquery(handle, query);return 1;}

    Du musst den Strickpunkt wegnehmen nach dem Stocknamen,



    Code
    stock BanUser(pID, reason)
    {
    new query[256];
    gettime(stunde,minuten,sekunde);
    getdate(jahr,monat,tag);
    mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",
    PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);
    mysql_pquery(handle, query);
    return 1;
    }

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Er zeigt mir hier:
    BanUser(pID, reason);


    an das etwas fehlt aber ich wüsste nicht das im Stock ist das genauso geschrieben.


    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(159) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Zeig mal den Kompletten Befehl der den Stock aufruft.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2

  • Argument type mismatch = Du setzt einen falschen Datentyp als Argument in der Funktion ein


    Beispiel:


    /edit:
    Laut deinem Error ist übrigens dein 2. Parameter falsch (argument 2).
    Entweder ist reason kein string bei der Übergabe, oder er ist in deiner Funktion kein String.

  • ocmd:ban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
    new pID, reason[128],string[555];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,-1,"Tippe: /ban [id] [grund]");
    format(string,sizeof(string),"Sie wurden gerade gesperrt da Sie gegen das Regelwerk verstößen haben.\nBitte lesen Sie erneut das Regelwerk damit soetwas nicht erneut passiert.\nWenn Sie denken das die Sperre zu unrecht verhangen wurde melden Sie sich bei dem Ausführendem Admin.\n\nInformationen:\n\nBan-Grund: %s\nAusführerender Admin: %s",reason,PlayerInfo[playerid][pName]);
    ShowPlayerDialog(playerid,DIALOG_BAN,DIALOG_STYLE_MSGBOX,"Spielausschluss",string,"Okay","");
    SetTimerEx("kicktimer",200,false,"d",pID);
    format(string,sizeof(string),""#error_farbe"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);
    SendClientMessageToAll(-1,string);
    PlayerInfo[pID][pBan] = 1;
    PlayerInfo[pID][pBanadmin] = PlayerInfo[playerid][pName];
    BanUser(pID, reason);
    format(string,sizeof(string),"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);
    Log("BanLog",string);
    return 1;
    }


    Er ist doch ein String?


    stock BanUser(pID, reason)
    {
    new query[256];
    gettime(stunde,minuten,sekunde);
    getdate(jahr,monat,tag);
    mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",
    PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);
    mysql_pquery(handle, query);
    return 1;
    }


  • ocmd:ban(playerid,params[]){if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");new pID, reason[128],string[555];if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,-1,"Tippe: /ban [id] [grund]");format(string,sizeof(string),"Sie wurden gerade gesperrt da Sie gegen das Regelwerk verstößen haben.\nBitte lesen Sie erneut das Regelwerk damit soetwas nicht erneut passiert.\nWenn Sie denken das die Sperre zu unrecht verhangen wurde melden Sie sich bei dem Ausführendem Admin.\n\nInformationen:\n\nBan-Grund: %s\nAusführerender Admin: %s",reason,PlayerInfo[playerid][pName]);ShowPlayerDialog(playerid,DIALOG_BAN,DIALOG_STYLE_MSGBOX,"Spielausschluss",string,"Okay","");SetTimerEx("kicktimer",200,false,"d",pID);format(string,sizeof(string),""#error_farbe"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);SendClientMessageToAll(-1,string);PlayerInfo[pID][pBan] = 1;PlayerInfo[pID][pBanadmin] = PlayerInfo[playerid][pName];BanUser(pID, reason);format(string,sizeof(string),"%s wurde von %s gebannt. Grund: %s",PlayerInfo[pID][pName],PlayerInfo[playerid][pName],reason);Log("BanLog",string);return 1;}


    Er ist doch ein String?


    stock BanUser(pID, reason){new query[256];gettime(stunde,minuten,sekunde);getdate(jahr,monat,tag);mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);mysql_pquery(handle, query);return 1;}

    Da der Grund ein String ist muss der Stock wie folgt sein:

    Code
    stock BanUser(pID, reason[128]) //Hier eine grösse
    {
    new query[256];
    gettime(stunde,minuten,sekunde);
    getdate(jahr,monat,tag);
    mysql_format(handle, query, sizeof(query), "INSERT INTO `accountbans` SET name = '%s', reason = '%s', admin = '%s', date = '%02d.%02d.%04d|%02d:%02d:%02d'",
    PlayerInfo[pID][pName],reason,PlayerInfo[pID][pBanadmin],tag,monat,jahr,stunde,minuten,sekunde);
    mysql_pquery(handle, query);
    return 1;
    }

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Die Errors sind weg danke :>


    Ich habe hier noch einen Stock, dieser funktioniert nicht, da gewisse MySQL funktionen nicht mehr existieren.

    Code
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(585) : error 017: undefined symbol "mysql_store_result"
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(586) : error 017: undefined symbol "mysql_num_rows"
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(587) : error 017: undefined symbol "mysql_fetch_row_format"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    3 Errors.
  • Wieso wird das Objekt "wrope" nicht an meinem Auto befestigt und somit das andere Auto und "wobj"? Nein, es kommen keine Erros alles weitere ist vorhanden(Die Schnippsel wie new wobj; oder so)


    if (PRESSED(KEY_NO))
    {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, 437.2438,-1806.4763,5.5469))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    wveh = GetPlayerVehicleID(playerid);
    if(!wohnwagenan)
    {
    wtrailer = CreateVehicle(607, 0.0000, 0.0000, 0.0000, 0.0000, -1, -1, 100);
    wobj = CreateDynamicObject(3168, 0.00000, -8.25150, -0.6327, 0.00000, 0.00000, 180.00000);
    wrope = CreateDynamicObject(19087, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);


    AttachDynamicObjectToVehicle(wrope, wveh, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);
    AttachDynamicObjectToVehicle(wrope, wtrailer, 0.0000, 3.4823, -0.2727, 0.00000, 90.00000, 90.00000);
    AttachDynamicObjectToVehicle(wobj, wtrailer, 0.0000, -2.2660, -0.9707, 0.00000, 0.00000, 180.00000);


    SendClientMessage(playerid, COLOR_WHITE, "Du hast erfolgreich einen Wohnwagen für 500 Dollar an deinem Fahrzeug befestigt!");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "[OOC] Drücke hier nochmals 'N' um ihn wieder abzuhängen.");
    GivePlayerMoney(playerid, -500);


    wohnwagenan = true;


    return 1;
    }
    else
    {
    DestroyVehicle(wtrailer);
    DestroyDynamicObject(wobj);
    DestroyDynamicObject(wrope);
    SendClientMessage(playerid, COLOR_WHITE, "Du hast den Wohnwagen abgekoppelt und zurück gegeben!");


    wohnwagenan = false;


    return 1;
    }
    }
    }
    }

  • Wieso wird das Objekt "wrope" nicht an meinem Auto befestigt und somit das andere Auto und "wobj"? Nein, es kommen keine Erros alles weitere ist vorhanden(Die Schnippsel wie new wobj; oder so)


    if (PRESSED(KEY_NO)){if(IsPlayerInRangeOfPoint(playerid, 2.0, 437.2438,-1806.4763,5.5469)){if(IsPlayerInAnyVehicle(playerid)){wveh = GetPlayerVehicleID(playerid);if(!wohnwagenan){wtrailer = CreateVehicle(607, 0.0000, 0.0000, 0.0000, 0.0000, -1, -1, 100);wobj = CreateDynamicObject(3168, 0.00000, -8.25150, -0.6327, 0.00000, 0.00000, 180.00000);wrope = CreateDynamicObject(19087, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);AttachDynamicObjectToVehicle(wrope, wveh, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);AttachDynamicObjectToVehicle(wrope, wtrailer, 0.0000, 3.4823, -0.2727, 0.00000, 90.00000, 90.00000);AttachDynamicObjectToVehicle(wobj, wtrailer, 0.0000, -2.2660, -0.9707, 0.00000, 0.00000, 180.00000);SendClientMessage(playerid, COLOR_WHITE, "Du hast erfolgreich einen Wohnwagen für 500 Dollar an deinem Fahrzeug befestigt!");SendClientMessage(playerid, COLOR_LIGHTBLUE, "[OOC] Drücke hier nochmals 'N' um ihn wieder abzuhängen.");GivePlayerMoney(playerid, -500);wohnwagenan = true;return 1;}else{DestroyVehicle(wtrailer);DestroyDynamicObject(wobj);DestroyDynamicObject(wrope);SendClientMessage(playerid, COLOR_WHITE, "Du hast den Wohnwagen abgekoppelt und zurück gegeben!");wohnwagenan = false;return 1;}}}}

    Code
    AttachDynamicObjectToVehicle(wrope, wveh, 0.00000, -1.07170, -0.27270, 0.00000, 90.00000, 90.00000);
    AttachDynamicObjectToVehicle(wrope, wtrailer, 0.0000, 3.4823, -0.2727, 0.00000, 90.00000, 90.00000);

    Du machst das wrope Object 1x an deinem Auto an und dann am Trailer.
    Denke mal das du wenn du das Objekt am Trailer anmachst somit es vom Auto wieder ablöst.
    Kannst also entweder am Auto oder am Trailer anmachen.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2