[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
  • @FerienFreak:
    ocmd:stats(playerid)
    {
    new string[256];
    format(string, sizeof(string),"Name: %s\nLevel: %d\nFraktion: %s Rang: %d\n\nGeld: %d\nKills: %d Tode: %d\n\nAdminlevel: %i\nIP: %i",NamePlayer(playerid), SpielerInfo[playerid][pLevel],fInfo[SpielerInfo[playerid][pFraktion]][f_name],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pIP]);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX, "Stats",string,"Ok","");
    return 1;
    }
    So.
    pIP haste zum String gemacht, nech?
    #edit:
    Habe den String mal etwas erhöht :)

  • Kann mir einer sagen, wie ich hier strcat benutze?



    new query[950 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
    getdate(Tag,Monat,Jahr);
    gettime(Stunde,Minute,Sekunde);
    format(query,sizeof(query),"d.d.%d - d:d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
    mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('%e','%e','%d','%d','%d','%d','0','0','%s','%s','%d','100.0')",Spieler[playerid][pName],inputtext,Spieler[playerid][pAlter],Spieler[playerid][pGeschlecht],Spieler[playerid][pAdminlevel],Spieler[playerid][pBanned],query,query,Spieler[playerid][pWrongPass],Spieler[playerid][pLeben]);
    mysql_tquery(DBHandle, query, "", "");
    Spieler[playerid][pLogged] = true;
    SpawnPlayer(playerid);
    return 1;



    bekomme in der mysql_format Zeile ein Fehler error 075: input line too long (after substitutions)

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Brauchst du gar nicht, kannst es auch so kürzen.
    mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('%e','%e','%d','%d','%d','%d','0','0','%s','%s','%d','100.0')",
    Spieler[playerid][pName],inputtext,Spieler[playerid][pAlter],Spieler[playerid][pGeschlecht],Spieler[playerid][pAdminlevel],Spieler[playerid][pBanned],query,query,Spieler[playerid][pWrongPass],Spieler[playerid][pLeben]);

  • Geht es nicht denn nicht einfach? Also ich möchte dass dieser skin , der in dieser Box ist, eine ganznoramle M4/Ak ... hält. NIcht dass der irgendwo herumschwiert.. sondern , sowie die standart animation , ganz normal hält

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Jeffry: Vielleicht kannst du mir helfen, hatte immer noch keine Antwort von den anderen bekommen.


    Ich habe einige Befehl eingebaut, doch diese lassen sich auch ausführen wenn ich sie nicht vollständig eingebe und das möchte ich nicht.


    Mein aktueller Code



    if(!strcmp(cmdtext, "/setday 1", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to sandstorm.");
    SetWeather(19);
    return 1;
    }

    if(!strcmp(cmdtext, "/setday 2", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to sunny.");
    SetWeather(1);
    return 1;
    }
    if(!strcmp(cmdtext, "/setday 3", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to extra sunny.");
    SetWeather(0);
    return 1;

    }
    if(!strcmp(cmdtext, "/settime 0", true))
    SetPlayerTime(playerid, 0, 0); // Midnight
    SendClientMessage(playerid,GELB,"Time set to Midnight");
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • @[LnD]JustMe.77:
    schau dir mal diese Posts an
    http://forum.sa-mp.de/gta-mult…t-parametern-7#post414950
    http://forum.sa-mp.de/gta-mult…t-parametern-7#post414826


    Das sollte dir dabei unwesentlich helfen :thumbup:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • {


    Mit der Klammer bekomme ich diese Errors:




    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(392) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(396) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(396) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(396) : error 004: function "OnPlayerEnterVehicle" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(401) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(401) : warning 217: loose indentation
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(401) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(401) : error 004: function "OnPlayerExitVehicle" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(406) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(406) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(406) : error 004: function "OnPlayerStateChange" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(411) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(411) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(411) : error 004: function "OnPlayerEnterCheckpoint" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(416) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(416) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(416) : error 004: function "OnPlayerLeaveCheckpoint" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(421) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(421) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(421) : error 004: function "OnPlayerEnterRaceCheckpoint" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(426) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(426) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(426) : error 004: function "OnPlayerLeaveRaceCheckpoint" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(431) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(431) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(431) : error 004: function "OnRconCommand" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(436) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(436) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(436) : error 004: function "OnPlayerRequestSpawn" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(441) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(441) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(441) : error 004: function "OnObjectMoved" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(446) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(446) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(446) : error 004: function "OnPlayerObjectMoved" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(451) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(451) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(451) : error 004: function "OnPlayerPickUpPickup" is not implemented
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(456) : warning 225: unreachable code
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(456) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Legends never Die [LnD]\gamemodes\LegendsneverDie.pwn(456) : error 004: function "OnVehicleMod" is not implemented


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    26 Errors.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Poste mal dein gesamtes OnPlayerCommandText, da ist bestimmt irgendwo eine Klammer zu viel, und an der Stelle eine zu wenig.


    Spoiler anzeigen


    public OnPlayerCommandText(playerid, cmdtext[]) //Befehle

    Spoiler anzeigen
    {
    if(strcmp("/clearchat",cmdtext,true)== 0)
    {

    for(new i=0; i<100; i++)
    {
    SendClientMessageToAll(-1,"");
    }
    SendClientMessageToAll(-1,"{"HGRÜN"}Chat Cleared");

    return 1;
    }

    Spoiler anzeigen
    if(strcmp("/restart",cmdtext,true,10) == 0)

    Spoiler anzeigen
    {
    SendClientMessage(playerid,ROT,"Server wird restartet!");
    SendRconCommand("gmx");
    return 1;
    }
    if(strcmp("/hilfe",cmdtext,true,10) == 0)
    {
    SendClientMessage(playerid,GELB,"Hilfe..!");
    return 1;
    }

    if(strcmp("/updates",cmdtext, true)==0)
    {
    ShowPlayerDialog(playerid, DIALOG_BOX, DIALOG_STYLE_MSGBOX, "Version v0.1", "{"HGRÜN"}Added:\n \n {"HWEIß"}/restart ,/clearchat,/updates,/help ,/items\n\n{"HGELB"}Changed:\n\n{"HWEIß"}/clearchat in /cc,\n\n{"HROT"}Fixed:\n\n{"HWEIß"}Bug mit Spawn,Fallschirm Bug ", "Close", "");

    Spoiler anzeigen
    return 1;
    }

    if(!strcmp(cmdtext, "/setday 1", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to sandstorm.");
    SetWeather(19);
    return 1;
    }

    if(!strcmp(cmdtext, "/setday 2", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to sunny.");
    SetWeather(1);
    return 1;
    }
    if(!strcmp(cmdtext, "/setday 3", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to extra sunny.");
    SetWeather(0);
    return 1;

    }
    if(!strcmp(cmdtext, "/settime 0", true))
    SetPlayerTime(playerid, 0, 0); // Midnight
    SendClientMessage(playerid,GELB,"Time set to Midnight");
    return 1;
    {
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Schreib das ganze mal so:

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[]) //Befehle
    {
    if(strcmp("/clearchat",cmdtext,true)== 0)
    {
    for(new i=0; i<100; i++)
    {
    SendClientMessageToAll(-1,"");
    }
    SendClientMessageToAll(-1,"{"HGRÜN"}Chat Cleared");
    return 1;
    }

    if(strcmp("/restart",cmdtext,true,10) == 0)
    {
    SendClientMessage(playerid,ROT,"Server wird restartet!");
    SendRconCommand("gmx");
    return 1;
    }

    if(strcmp("/hilfe",cmdtext,true,10) == 0)
    {
    SendClientMessage(playerid,GELB,"Hilfe..!");
    return 1;
    }

    if(strcmp("/updates",cmdtext, true)==0)
    {
    ShowPlayerDialog(playerid, DIALOG_BOX, DIALOG_STYLE_MSGBOX, "Version v0.1", "{"HGRÜN"}Added:\n \n {"HWEIß"}/restart ,/clearchat,/updates,/help ,/items\n\n{"HGELB"}Changed:\n\n{"HWEIß"}/clearchat in /cc,\n\n{"HROT"}Fixed:\n\n{"HWEIß"}Bug mit Spawn,Fallschirm Bug ", "Close", "");
    return 1;
    }

    if(!strcmp(cmdtext, "/setday 1", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to sandstorm.");
    SetWeather(19);
    return 1;
    }

    if(!strcmp(cmdtext, "/setday 2", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to sunny.");
    SetWeather(1);
    return 1;
    }

    if(!strcmp(cmdtext, "/setday 3", true))
    {
    SendClientMessage(playerid,GELB,"Weather changed to extra sunny.");
    SetWeather(0);
    return 1;

    }

    if(!strcmp(cmdtext, "/settime 0", true))
    {
    SetPlayerTime(playerid, 0, 0); // Midnight
    SendClientMessage(playerid,GELB,"Time set to Midnight");
    return 1;
    }
    return 0;
    }


    Du solltest wirklich auf die Einrückung achten. ;)


    Und dann schau dir diesbezüglich auch mal einen Command Prozessor wie ocmd, dcmd oder ähnliche an, dann musst du nicht jeden "/setweather" einzelnd erstellen.

  • Ich habe keine Errors im Script, und in der Log steht folgendes: :S


    Spoiler anzeigen
    [17:53:45] Number of vehicle models: 0
    [17:54:02] Incoming connection: 127.0.0.1:63454
    [17:54:02] [join] Eddy_Mind has joined the server (0:127.0.0.1)
    [17:54:06] Errorid 1136
    [17:54:06] Column count doesn't match value count at row 1
    [17:54:06] (null)
    [17:54:06]
    INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`,
    `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`,
    `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`)
    VALUES ('Eddy_Mind','test','0','0','0','0','0','0','','2014.12.22 -
    17:54:6','50','100.0')
    [17:54:16] [part] Eddy_Mind has left the server (0:1)


    mysql_log:


    Spoiler anzeigen
    [17:54:06] [ERROR] CMySQLQuery::Execute[()] - (error #1136) Column count doesn't match value count at row 1


    Kann es daran liegen?


    Spoiler anzeigen
    new query[950 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
    getdate(Tag,Monat,Jahr);
    gettime(Stunde,Minute,Sekunde);
    format(query,sizeof(query),"%02d.%02d.%d - %02d:%02d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
    mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('%e','%e','%d','%d','%d','%d','0','0','%s','%s','%d','100.0')",
    Spieler[playerid][pName],inputtext,Spieler[playerid][pAlter],Spieler[playerid][pGeburtsdatum],Spieler[playerid][pGeschlecht],Spieler[playerid][pAdminlevel],Spieler[playerid][pBanned],query,query,Spieler[playerid][pWrongPass],Spieler[playerid][pLeben]);
    mysql_tquery(DBHandle, query, "", "");

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward