Beiträge von malE

    So erstmal danke Jeffry und Mencent.


    Aber jetzt bei LoadPlayerAccount bekomme ich ein tag mismatch


    Weiß nicht wo der Fehler ist.
    pInfo[playerid][pLeader] = dini_Bool(spName,"Leader");


    Lösung:
    pInfo[playerid][pLeader] = bool:dini_Bool(spName,"Leader");

    Unter meinem PlayerInfo Enum.
    bool:pLeader


    Unter meinem stock SavePlayerAccount. ( Davor )
    dini_IntSet(spName,"Leader",pInfo[playerid][pLeader]);


    Jetzt habe ich es so gemacht. ( Danach )
    dini_IntSet(spName,"Leader",_:pInfo[playerid][pLeader]);
    Dies funktioniert nicht.


    Und diese Variante auch nicht, habe die ja zuvor benutzt.
    dini_IntSet(pfad, "BoolWert", bVar);



    Die Error Message
    C:\Users\----\----\-----\gamemodes\denamed.pwn(2420) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

    Da bitte OriginalFiona:! Hab dir mal eben zwei Befehle gescripted.
    Viel Spaß damit.


    Cuff & Uncuff Befehle

    Der Spieler wird nicht gefreezt, er bekommt nur die Animation und das Objekt!

    Cuff & Uncuff Befehle
    ocmd:cuff(playerid, params[])
    {
    if(!IsACop(playerid))return SendClientMessage(playerid, C_GREY, "Du bist kein Polizist."); // Abfrage bei bedarf ändern
    new pID, Float:x, Float:y, Float:z, str[145];
    if(sscanf(params, "u", pID))return SendClientMessage(playerid, C_SSCANF, "Benutze: {FFFFFF}/cuff [Spieler-ID]");
    if(GetPVarInt(pID, "Cuffed") == 1)return SendClientMessage(playerid, C_GREY, "Der Verdächtige hat bereits Handschellen um.");
    if(pID == playerid) return SendClientMessage(playerid, C_GREY, "Fehlerhafte Spieler-ID");
    GetPlayerPos(pID, x,y,z);
    if(IsPlayerInRangeOfPoint(playerid, 2, x, y, z))
    {
    format(str, sizeof(str), "Polizist %s hat dir Handschellen angelegt.", GetName[playerid]); // Abfrage bei defarf ändern
    SendClientMessage(pID, 0x01D8C2FF,str);
    format(str, sizeof(str), "Du hast dem Verdächtigen %s Handschellen angelegt.", GetName[pID]); // Abfrage bei defarf ändern
    SendClientMessage(playerid, 0x01D8C2FF,str);
    SetPVarInt(pID, "Cuffed", 1);

    Cuff & Uncuff Befehle
    SetPlayerSpecialAction(pID, SPECIAL_ACTION_CUFFED);
    SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    } else {
    SendClientMessage(playerid, C_GREY, "Du bist nicht in der Nähe von Spieler-ID");
    }
    return 1;
    }

    Cuff & Uncuff Befehle
    ocmd:uncuff(playerid, params[])
    {
    if(!IsACop(playerid))return SendClientMessage(playerid, C_GREY, "Du bist kein Polizist."); // Abfrage bei bedarf ändern
    new pID, Float:x, Float:y, Float:z, str[145];
    if(sscanf(params, "u", pID))return SendClientMessage(playerid, C_SSCANF, "Benutze: {FFFFFF}/cuff [Spieler-ID]");
    if(GetPVarInt(pID, "Cuffed") == 0)return SendClientMessage(playerid, C_GREY, "Der Verdächtige hat keine Handschellen um.");
    if(pID == playerid) return SendClientMessage(playerid, C_GREY, "Fehlerhafte Spieler-ID");
    GetPlayerPos(pID, x,y,z);
    if(IsPlayerInRangeOfPoint(playerid, 2, x, y, z))
    {
    format(str, sizeof(str), "Polizist %s hat dir Handschellen abgelegt.", GetName[playerid]); // Abfrage bei defarf ändern
    SendClientMessage(pID, 0x01D8C2FF,str);
    format(str, sizeof(str), "Du hast dem Verdächtigen %s Handschellen abgelegt.", GetName[pID]); // Abfrage bei defarf ändern
    SendClientMessage(playerid, 0x01D8C2FF,str);
    DeletePVar(pID, "Cuffed");

    Cuff & Uncuff Befehle
    RemovePlayerAttachedObject(pID, 0);
    SetPlayerSpecialAction(pID, SPECIAL_ACTION_NONE);
    } else {
    SendClientMessage(playerid, C_GREY, "Du bist nicht in der Nähe von Spieler-ID");
    }
    return 1;
    }


    /e Abfrage hinzugefügt ob Spieler schon Handschellen um hat

    Ist jetzt nur das Objekt ( Handcuffs ) und die Animation.


    Cuff


    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
    SetPlayerAttachedObject(playerid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);


    Uncuff


    RemovePlayerAttachedObject(playerid, 0);
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);

    Wenn du es haargenau von Red_Romeo kopierst funktioniert es!
    Hab es selbst getestet.


    Die Tür wird ja auch erst nach 3 Minuten ( wieder ) erstellt.

    Blackshadowscript:


    Du hast doch eine Lösung von Red_Romeo: erhalten, in deinem anderem Thread.


    Ansonsten ( von Red_Romeo )
    new sprenung;
    new trsodoor ;

    Ansonsten ( von Red_Romeo )
    public OnGameModeInit(){
    trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
    return 1;
    }

    Ansonsten ( von Red_Romeo )
    forward Explosion();
    public Explosion()
    {
    CreateExplosion(1551.63159, -1801.69556, 26.47590, 0, 3);
    DestroyObject(sprenung);//tnt
    DestroyObject(trsodoor);//tresortür
    sprenung=-1;//tnt
    trsodoor = -1;
    SetTimer("TresorTuer", 1000*60*3, false);
    return 1;
    }

    Ansonsten ( von Red_Romeo )
    forward TresorTuer();
    public TresorTuer(){
    if(IsValidObject(trsodoor))return 1;
    trsodoor = CreateObject(2634, 1551.63159, -1801.69556, 26.47590, 0.00000, 0.00000, 0.00000);//tresortür
    return 1;
    }

    Ansonsten ( von Red_Romeo )
    ocmd:transporttresorsprengen(playerid,params[])
    {
    if(IsValidObject(sprenung))return SendClientMessage(playerid, -1, "Die Tür wird bereits gesprengt.");
    if(!IsValidObject(trsodoor))return SendClientMessage(playerid, -1, "Die Tür steht offen.");
    sprenung=CreateObject(1654, 1550.78955, -1801.41882, 26.45240, 0.00000, 0.00000, -180.00000);//tnt
    SendClientMessage(playerid,-1,"Achtung geht in Deckung das TNT geht in 2 sekunden hoch!");
    SetTimer("Explosion", 2000, false);
    return 1;
    }
    Quelle

    Gib dem Object welches du erstellst im public eine Variable via new ExplosiveObject = CreateObject(...
    Und dann DestroyObject(ExplosiveObject);


    So wird dann auch sicher nur dieses Object gelöscht.

    Blackshadowscript:


    Variante 1
    ocmd:autobordcomputer(playerid,params[])
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return 1;
    ShowPlayerDialog(playerid,DIALOG_Autosystem,DIALOG_STYLE_TABLIST, "Autobordcomputer","Motor\tstarten\tauschalten\nlicht\tanschalten\tausschalten\ntüren\töffnen\tschliessen\nAutoparken\tparken","benutzen","abbrechen");
    SendClientMessage(playerid,Gruen,"Sie haben den Bordcomputer Ihres Fahrzeuges aufgerufen!");
    return 1;
    }


    Variante 2
    ocmd:autobordcomputer(playerid,params[])
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {

    Variante 2
    ShowPlayerDialog(playerid,DIALOG_Autosystem,DIALOG_STYLE_TABLIST, "Autobordcomputer","Motor\tstarten\tauschalten\nlicht\tanschalten\tausschalten\ntüren\töffnen\tschliessen\nAutoparken\tparken","benutzen","abbrechen");
    SendClientMessage(playerid,Gruen,"Sie haben den Bordcomputer Ihres Fahrzeuges aufgerufen!");
    }
    return 1;
    }


    /E Denkfehler von mir behoben

    Datenbank Tabelle "accounts" bleibt leer trotz Registration im Spiel und nach einfügen dem neuem stock CreateTables()


    Auch wenn das keinen Zusammenhang zum Speichern haben sollte.


    /E Mir ist gerade aufgefallen das in den Logs unter "AccountCreation" Inhalt über die Erstellung des Accounts steht, aber halt nur nichts in den Tabellen. ** Ist aber ja auch nur eine formatierte Log-Message.

    N0SKILL:


    Also mein SQL Programm zeigt mir keine Spalten an in der Tabelle "accounts" und ich muss mich auch immer wieder im Spiel registrieren.
    Du solltest dir doch vielleicht das ganze Skript noch einmal genauer ansehen und dann noch mal zum Download freischalten, natürlich nur wenn du möchtest.


    -
    malE