Beiträge von Zcelo12

    Hallo,
    Ich versuche gerade mein komplettes Script auf MySQL umzustellen.
    Leider scheitere ich gerade kurz vor Schluss an der Speicherung meines Haus-Systemes.


    stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32],innenraum)
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    //Abfrage anstatt if(fexist
    mysql_SetFloat("haus", "x", x, "Name", haus);
    mysql_SetFloat("haus", "y", y, "Haus Nr.", haus);
    mysql_SetFloat("haus", "z", z, "Haus Nr.", haus);
    mysql_SetInt("haus", "preis", preis, "Haus Nr.", haus);
    mysql_SetString("haus", "besitzer", besitzer, "Haus Nr.", haus);
    mysql_SetInt("haus", "innenraum", innenraum, "Haus Nr.", haus);
    }
    for(new h;h<MAX_HAUS;h++)
    {
    DestroyDynamic3DTextLabel(HouseLabel[h]);
    }
    return 1;
    }
    So einmal bekomme ich bei jedem mysql_Set*** den Error: argument type missmatch (Argument 5)
    und ich wüsste gerne welche Abfrage man dort machen könnte, anstatt wie es bei dini ist mit if(exist .


    lg

    Wer soll diese Nachricht überhaupt bekommen?
    Du arbeitest mit SendClientMessageToAll und hast Abfragen mit TEAM_ZOMBIES in deinem
    Code. Das macht irgendwie wenig Sinn. Erkläre uns mal dein Vorhaben

    Hallo,
    In einem alten Thread schien das Problem behoben.
    Doch jetzt kommt bei einer neuen for- Schleife dasselbe Problem:
    Die Nachricht wird mehrmals gesendet. Habe es schon mit einem bool versucht, aber ohne Erfolg.


    CMD:support(playerid,params[])
    {
    new bool:msg[MAX_PLAYERS],
    bool:msg2[MAX_PLAYERS];
    new string[128],stringd[128],text[128];
    if(sscanf(params,"s",text))
    {
    return ClientLanguageText(playerid,COLOR_RED,"Verwendung: /support [Text]","USAGE: /support [message]");
    }
    if(TicketGeschrieben[playerid] == 1)
    {
    return ClientLanguageText(playerid,COLOR_RED,"Du hast bereits ein Ticket geschrieben","You already have written a ticket!");
    }
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i)){
    if(ADuty[i] >= 1)
    {
    if(msg[i] == false)
    {
    format(string,sizeof(string),"%s(ID:%d) has written a ticket: %s",oPlayerName[playerid],playerid,text);
    format(stringd,sizeof(stringd),"%s(ID:%d) schrieb folgendes Ticket: %s",oPlayerName[playerid],playerid,text);
    ClientLanguageText(i,COLOR_YELLOW,stringd,string);
    TicketGeschrieben[playerid] = 1;
    msg[i] = true;
    }
    }
    else if(ADuty[i] == 0)
    {
    if(msg2[i] == false)
    {
    ClientLanguageText(playerid,COLOR_RED,"Im Moment ist kein Supporter zu erreichen!","At the moment there is no supporter online!");
    msg2[i] = true;
    }
    }
    }
    }
    return 1;
    }


    lg

    Du widersprichst dir gerade selbst.. oben haste geschrieben, dass es mit dem Befehl geklappt hat und hier dass es mit dem Befehl nicht klappt. Was stimmt nun?


    Ich habe oben nicht erwähnt, dass ich 2 Befehle hatte. Im 1. soll der nur angezeigt werden. Hat nicht geklappt.
    Und im 2. soll dieser erstellt und dann angezeigt werden. Hat geklappt ;)

    Naja, ich weiß nicht so recht, kannst du dein OnPlayerSpawn hier reinstellen? Dann könnte ich dir vielleicht weiterhelfen. Ohne Code kann ich da nicht viel machen


    Braucht man nicht, da ich mittels Befehl mal nur TextDrawShowForPlayer gemacht habe und es da auch nicht funktioniert hat.
    Deßhalb ist sicher, dass der TextDraw unter OnGameModeInit erst gar nicht erstellt wird.

    Bist du dir sicher, dass die Koordinaten etc. stimmen? Vllt wird er ja außerhalb des Screens erstellt.


    Die Koordinaten habe ich mit einem Backup von meinem GM testen lassen und da wird alles angezeigt.

    Mir persönlich fällt hier grad nichts auf...
    Schau mal ob du vielleicht vor dem TextDrawShowForPlayer ein return hast oder ob TextDrawShowForPlayer an der reichtigen Stelle steht...


    werde mal schauen...



    edit:
    Habe den TextDraw mal als CMD erstellen und dann anzeigen lassen und plötzlich funktioniert es ?(

    Hallo,
    Komischerweise wird mein erstellter TextDraw nicht angezeigt.


    new Text:txtForum;
    OnPlayerSpawn
    TextDrawShowForPlayer(playerid,txtForum);
    OnGameModeInit
    txtForum = TextDrawCreate(605.0,25.0,"-Forum-");
    TextDrawAlignment(txtForum,0);
    TextDrawBackgroundColor(txtForum,COLOR_BLACK);
    TextDrawFont(txtForum,1);//Verfügbare Fonts: 1 2 3 4
    TextDrawLetterSize(txtForum,0.569999, 1.700000);
    TextDrawColor(txtForum,COLOR_WHITE);
    TextDrawSetOutline(txtForum,1);
    TextDrawSetProportional(txtForum,1);
    printf("TextDraw erstellt!");


    Unter OnGameMdoeInit wird in der Konsole ausgegeben , dass der erstellt wird
    und es ist erst mein 13. Tetdraw ?(
    Zudem werden aber alle anderen textDraws unter OnPlayerSpawn angezeigt.

    Hab's dir mal eingefügt.


    #include <a_samp>
    #include <dini>
    //Dialoge
    #define DIALOG_LOGIN 3
    #define DIALOG_REG 4
    //Farben
    #define RED 0xFF0000FF
    #define GREEN 0x2DFF00FF
    #define WHITE 0xFAFAFAFF
    #define ORANGE 0xFF7800FF
    //forward's
    forward clock();
    forward restart();


    enum spieler_daten
    {
    wanted,
    skin,
    Float:lastx,Float:lasty,Float:lastz,
    Admin,
    eingeloggt
    }
    //new's
    new Spieler[MAX_PLAYERS][spieler_daten];


    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else
    #endif
    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    UsePlayerPedAnims();
    SetGameModeText("Blank Script");
    AddPlayerClass(0,1640.7678,-2332.2886,13.5469,69.8155,0,0,0,0,0,0);
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1640.7678,-2332.2886,13.5469);
    SetPlayerCameraPos(playerid, 1640.7678,-2332.2886,13.5469);
    SetPlayerCameraLookAt(playerid, 1640.7678,-2332.2886,13.5469);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich mit deinem Passwort ein","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich mit einem Passwort deiner Wahl","Weiter","Abbrechen");
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(dini_Isset(accFormat,"lastx,lasty,lastx"))
    {
    SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    }


    {
    clock();
    return 1;
    }
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp("/svn1", cmdtext, true, 10) ==0)
    {
    SendClientMessageToAll(ORANGE, "***************************************** Server Nachricht *****************************************");
    SendClientMessageToAll(ORANGE, "Aufgrund eines Scriptupdates wird der Server in wenigen Minuten neugestartet!");
    return 1;
    }


    if(strcmp("/restart", cmdtext, true, 10) ==0)
    {
    if(Spieler[playerid][Admin] < 3) return SendClientMessage(playerid,ORANGE,"Du bist nicht der Server Owner oder ein Admin!");
    SendRconCommand("gmx");
    GameTextForAll("Server wird neugestartet", 10000,0);
    return 1;
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    return SendClientMessage(playerid, RED,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
    Spieler[playerid][skin] = dini_Int(accFormat,"skin");
    Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
    Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
    Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
    Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(accFormat,"Adminlevel"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,WHITE,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    return SendClientMessage(playerid,RED,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,GREEN,"Account wurde angelegt und du wurdest eingeloggt.");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    return 1;
    }


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    public clock()
    {
    new Text:Clock;
    new hour,minute,second;
    new string[10];
    gettime(hour,minute,second);
    format(string, sizeof string, "%s%d:%s%d:%s%d", (hour < 10) ? ("0") : (""), hour, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second);
    TextDrawHideForAll(Clock);
    Clock = TextDrawCreate(542.0, 24.0, string); // Koordinaten, wo die Uhr angezeigt wird
    TextDrawLetterSize(Clock, 0.6, 1.8);
    TextDrawFont(Clock, 3); // Uhrschrift
    TextDrawSetOutline(Clock, 2);
    TextDrawShowForAll(Clock);
    SetTimer("clock",1000,0);
    return 1;
    }



    stock strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    Dein /restart Befehl habe ich angepasst damit du siehst wie man andere Befehle gestalten kann.
    Mit diesen Angaben kannst du jetzt Adminbefehle erstellen.


    P.S: Du musst beim DisConnect oder OnGameModeexit die Daten des Spielers speichern ;)


    Sagen wir's mal so, zu blöd mit dem COmputer umzugehen bin ich garantiert nicht.
    Baue meine PC'S selbst zusammen. Zudem ist das Problem auch bei vielen meiner Freunde aufgetreten,
    die auch erst wie du meinten: "Ach da passiert schon nichts!"


    TuneUp deisntallieren und ggf. Festplatte formatieren.
    TuneUp ist der größte SCHEI* den es gibt. Hatte es mal einmal installiert und ab da nie wieder.
    Verursacht nur Systemfehler und Komponete spinnen plötzlich!


    lg

    Du könntest es anders herum machen. Das Objekt an den Spieler zu kleben falls dies auch
    ginge.


    Oben im Script:
    new objekt;
    OnGameModeInit
    objekt = CreateObject(......


    Und dann kannst du es hiermit benutzen:
    AttachObjectToPlayer( objekt, playerid,x,y,z,rx,ry,rz ); // Die Koordinaten x,y,z und die Rotation x,y,z musst du selbst herausfinden


    lg

    Versuch's mal so:


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if (PRESSED( KEY_WALK ))
    {
    for(new t = 1; t < MAX_HOUSES; t++)
    {
    if(IsPlayerInRangeOfPoint(playerid,1,haus[t][hX], haus[t][hY], haus[t][hZ]))
    {
    SetPlayerInterior(playerid,haus[t][hInt]);
    SetPlayerVirtualWorld(playerid, haus[t][hID]+1);
    SetPlayerPos(playerid, haus[t][hX2],haus[t][hY2],haus[t][hZ2]);
    }
    else if(IsPlayerInRangeOfPoint(playerid,1,haus[t][hX3],haus[t][hY3],haus[t][hZ3]))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerPos(playerid, haus[t][hX]+2,haus[t][hY],haus[t][hZ]);
    }
    }
    for(new i = 1; i < MAX_TANKEN; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,1,tanke[i][tPX], tanke[i][tPY], tanke[i][tPZ]) && tanke[i][tBetrieb] == 1)
    {
    SetPlayerInterior(playerid,tanke[i][tInt]);
    SetPlayerVirtualWorld(playerid, tanke[i][tID]+1);
    SetPlayerPos(playerid, tanke[i][tIX],tanke[i][tIY],tanke[i][tIZ]);
    TankeCP[i] = SetPlayerCheckpoint(playerid,tanke[i][tCPX],tanke[i][tCPY],tanke[i][tCPZ],2);
    }
    else if(IsPlayerInRangeOfPoint(playerid,1,tanke[i][tPX], tanke[i][tPY], tanke[i][tPZ]) && tanke[i][tBetrieb] == 0){SendClientMessage(playerid,COLOR_RED,"Diese Tankstelle ist InAktiv!");}
    else if(IsPlayerInRangeOfPoint(playerid,1,tanke[i][tILX], tanke[i][tILY], tanke[i][tILZ]))
    {
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerPos(playerid, tanke[i][tPX]+2,tanke[i][tPY],tanke[i][tPZ]);
    DisablePlayerCheckpoint(playerid);
    }
    }
    }
    return 0;
    }

    Danke erstmals.
    Habe dort jetzt nur #boardlist stehen und es geht nicht mehr über den Rand hinaus,
    ist aber imemrnoch nicht die Breite die ich haben möchte.


    Problem:
    Wenn ich .container { dann noch verwende dann geht es über den Rand hinaus.


    P.S: Link zum Forum möchte ich NOCH nicht gerne Preis geben ;)

    Hallo,
    Ich habe bereits einen CSS-Code eingebaut sodass der container-1 auf der Startseite die richtige
    Breite hat. Klickt man jedoch auf ein Forum drauf so ist der container plötzlich breiter als das Forum :(


    Code
    #boardlist .container-1, boardlist .container-2, .container-1, .container-2 {
    width: 970px;
    margin-left: auto;
    margin-right: auto;
    background-position: 0 1px;
    }




    Screen im Anhang.
    lg