[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
  • Guten Abend, auch hier nochmal die Frage, gibt es eine Lauf Animation wo der User die Arme austreckt ? Quasie als wenn er eine Kiste in der Hand trägt.
    So etwas gab es glaub im SP auch.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Hmm, erzielt nicht das was ich wollte.
    Ich laufe dann lediglich normal durch die Gegend ohne das ich Springen kann.
    Ich brauche so eine Animation wo er die Arme nach vorne streckt so als wenn er wie im SP eine Kiste trägt und herumlaufen kann.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Hab da mal ne Frage
    bei den SQL Befehl:

    SQL
    SELECT *,FROM_UNIXTIME(`register`,'%d.%m.%Y %h:%i:%s') as `regger` FROM `player` WHERE `username` = '%s' AND `passwort` = sha1('%s') LIMIT 1;


    Sagt er mir das das Feld "regger" nicht vorhanden währe.
    Was könnte ich da falsch haben?
    (ich will nur nen Timestamp umwandeln in nen Datum)

    All in all it's just another brick in the wall


  • Dadurch muss ich nicht jedes Feld einzeln laden
    Sprich lade alles (*) und mach mir nen Datum ausm Timestamp das , währe da das und um es mal so auszudrücken
    Es ist ja kein Synatx error er sagt mir nur das das Feld nicht vorhanden währe


    Schau mal nach ob dir evlt. nicht nen Schreibfehler unterlaufen ist.
    (PS: Komm mal BF TS :) )

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • MySQL?


    Select COUNT(*) FROM Accounts


    Dini?


    Es ist nicht möglich im Script die Dateien im Ordner zu zählen.
    Du könntest dir mit einer .bat-Datei alle Dateien auflisten lassen,
    dann weißt du wieviel Accounts zum jetzigen Zeitpunkt registriert sind.


    Wenn du diese Zahl in einer Datei zwischenspeicherst und die bei jeder Registrierung um eins erhöhst,
    kannst du so mit etwas Aufwand die Registrierungen zählen :)

  • Hey LEute
    Ich habe das Problem das der Skin einfach nicht gespeichert und geladen wird..




    // wenn der Spieler geladen wird


    sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
    SetPlayerSkin(playerid,sInfo[playerid][skin]);



    //Spieler Speichern :D
    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]== 0) return 1;
    //Speichern level,money,alevel,fraktion,skin
    new query[256];


    format(query,sizeof(query),"UPDATE user SET
    level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',skin='%i',ssTickets='%i'
    WHERE
    id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][skin],sInfo[playerid][ssTickets],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    Ich hoffe einer von euch kann mir helfen

  • savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]== 0) return 1;
    //Speichern level,money,alevel,fraktion,skin
    new query[256];


    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',skin='%i',ssTickets='%i' WHERE id='%i'",
    sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],GetPlayerSkin(playerid),sInfo[playerid][ssTickets],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
    SpawnPlayer(playerid);



    //Unter OnPlayerSpawn
    SetPlayerSkin(playerid,sInfo[playerid][skin]);


    Wenn es so nicht geht, dann setzt in der Tabelle manuell mal einen Skin und guck ob der wenigstens geladen wird.
    Wenn er dann nicht gespeichert wird, hätte ich eine weitere Möglichkeit.


    Grüße,
    PAWN

  • Was wird er nicht?
    Nicht geladen, nicht gespeichert? :wacko:


    Mehere Informationen was nicht funktioniert wäre gut :rolleyes:

  • Function AdminDienst(playerid)
    {
    new alterskin;
    new sendername[MAX_PLAYER_NAME],string[128];
    if(AdminDuty[playerid] == 0)
    {
    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3)
    {
    AdminDuty[playerid] = 1;
    alterskin = GetPlayerSkin(playerid);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* %s hat sich zum Support angemeldet. Bei Fragen /sup",sendername,playerid);
    SendClientMessageToAll(COLOR_GREEN, string);
    SetPlayerSkin(playerid, 278);
    SetPlayerAttachedObject(playerid, 3, 18646, 2, 0.290, -0.02, 0.01, 5.50, 84.60, 84.7, 1, 1, 1, 0xFF000000);
    SetPlayerArmour(playerid, 100);
    SetPlayerColor(playerid,0xFF5A00FF);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 4 || PlayerInfo[playerid][pAdmin] == 5)
    {
    AdminDuty[playerid] = 1;
    alterskin = GetPlayerSkin(playerid);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* %s hat sich zum Support angemeldet. Bei Fragen /sup",sendername,playerid);
    SendClientMessageToAll(COLOR_GREEN, string);
    SetPlayerSkin(playerid, 278);
    SetPlayerAttachedObject(playerid, 3, 18646, 2, 0.290, -0.02, 0.01, 5.50, 84.60, 84.7, 1, 1, 1, 0xFF000000);
    SetPlayerArmour(playerid, 100);
    SetPlayerColor(playerid,0xFF5A00FF);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] >=6)
    {
    AdminDuty[playerid] = 1;
    alterskin = GetPlayerSkin(playerid);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* %s hat sich zum Support angemeldet. Bei Fragen /sup",sendername,playerid);
    SendClientMessageToAll(COLOR_GREEN, string);
    SetPlayerSkin(playerid, 278);
    SetPlayerAttachedObject(playerid, 3, 18646, 2, 0.290, -0.02, 0.01, 5.50, 84.60, 84.7, 1, 1, 1, 0xFF000000);
    SetPlayerArmour(playerid, 100);
    SetPlayerColor(playerid,0xFF5A00FF);
    return 1;
    }
    }
    if(AdminDuty[playerid] == 1)
    {
    AdminDuty[playerid] = 0;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* %s hat sich vom Support abgemeldet.",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    for(new i=0; i<MAX_PLAYER_ATTACHED_OBJECTS; i++)
    if(IsPlayerAttachedObjectSlotUsed(playerid,i)) RemovePlayerAttachedObject(playerid,i);
    SetPlayerSkin(playerid,alterskin);
    SetPlayerArmour(playerid, 0);
    SetPlayerColor(playerid,0xFEFEFEFF);
    }
    return 1;
    }


    Habe hier ein Befehl reingetan das der Skin gespeichert wird, und dann bekommt er den alten Skin zurück.
    Das Problem ist er kriegt nicht den alten, sondern einen CJ Skin.
    Woran liegt das?

  • Du musst die Variable "alterskin" aus der Funktion rausmachen, da diese sonst überschrieben wird.
    Also füge die Variable "new alterskin;" oben im Script ein.
    @duengonalex: Ich würde "new alterskin[MAX_PLAYERS];" machen, da du es ja für jeden Spieler der Adminduty geht abspeichern möchtest.
    Also musst du es so machen:
    //Ganz oben im Script
    new alterskin[MAX_PLAYERS];


    //Verwendung:


    alterskin[playerid]=GetPlayerSkin(playerid);