Beiträge von IceWave

    Hi, habe beim Login 3 anklickbare Textdraws. Jedoch habe ich das Problem, dass wenn ich irgendwo auf dem Bildschirm klicke, immer der Login aufgeht..


    Habe gelesen dass man da die Koordinate von TextDrawTextSize ändern muss oder so,
    was es mir aber mit dem iTD nicht erstellt hat.


    Soll ich dass dann einfach dazufügen oder wie macht man das?




    Hab das vor ca. 2 Wochen auch mal gemacht, da hat das eigentlich ziemlich gut funktioniert, dass man die alle anklicken kann


    Textdraw[10] = TextDrawCreate(532.500000, 208.833419, ">>Regeln");
    TextDrawLetterSize(Textdraw[10], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw[10], 1);
    TextDrawColor(Textdraw[10], -1);
    TextDrawSetShadow(Textdraw[10], 0);
    TextDrawSetOutline(Textdraw[10], 1);
    TextDrawBackgroundColor(Textdraw[10], 51);
    TextDrawFont(Textdraw[10], 0);
    TextDrawSetProportional(Textdraw[10], 1);
    TextDrawSetSelectable(Textdraw[10], true);


    Textdraw[12] = TextDrawCreate(20.000000, 254.333358, ">>Abbrechen");
    TextDrawLetterSize(Textdraw[12], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw[12], 1);
    TextDrawColor(Textdraw[12], -1);
    TextDrawSetShadow(Textdraw[12], 0);
    TextDrawSetOutline(Textdraw[12], 1);
    TextDrawBackgroundColor(Textdraw[12], 51);
    TextDrawFont(Textdraw[12], 0);
    TextDrawSetProportional(Textdraw[12], 1);
    TextDrawSetSelectable(Textdraw[12], true);


    Textdraw[13] = TextDrawCreate(4.375000, 165.083389, ">>Login / Register");
    TextDrawLetterSize(Textdraw[13], 0.449999, 1.600000);
    TextDrawAlignment(Textdraw[13], 1);
    TextDrawColor(Textdraw[13], -1);
    TextDrawSetShadow(Textdraw[13], 0);
    TextDrawSetOutline(Textdraw[13], 1);
    TextDrawBackgroundColor(Textdraw[13], 51);
    TextDrawFont(Textdraw[13], 0);
    TextDrawSetProportional(Textdraw[13], 1);
    TextDrawSetSelectable(Textdraw[13], true);

    Ja.


    Habe jetzt ein anderes Problem,
    und zwar habe ich Delete Befehle für normale Veh's und für FrakVeh's eingebaut


    Problem ist jetzt ich kann meistens (nicht immer) mit delveh FrakVeh's löschen und auch mit
    delfveh normale Veh's


    ocmd:delveh(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, ROT, "Du musst in einem Fahrzeug sitzen!");
    new vID=GetPlayerVehicleID(playerid);
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0)continue;
    if(cInfo[i][id_x]!=vID)continue;
    new query[128];
    format(query,sizeof(query),"DELETE FROM cars WHERE id='%i'",cInfo[i][db_id]);
    mysql_tquery(dbverbindung,query);
    DestroyVehicle(vID);
    }
    return 1;
    }


    ocmd:delfveh(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, ROT, "Du musst in einem Fahrzeug sitzen!");
    new vID=GetPlayerVehicleID(playerid);
    for(new i=0; i<sizeof(fcInfo); i++)
    {
    if(fcInfo[i][fid_x]==0)continue;
    if(fcInfo[i][fid_x]!=vID)continue;
    new query[128];
    format(query,sizeof(query),"DELETE FROM fcars WHERE id='%i'",fcInfo[i][fdb_id]);
    mysql_tquery(dbverbindung,query);
    DestroyVehicle(vID);
    }
    return 1;
    }







    Und das andere Problem was ich habe, das Fahrzeug kann ich auch parken wenn es kein Frakfahrzeug ist,
    und mir wird die Nachricht Fahrzeug erfolgreich geparkt ca. 10 mal angezeigt?


    ocmd:fparken(playerid,params[])
    {
    new vID = GetPlayerVehicleID(playerid);
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(fcInfo[i][fid_x]==0)continue;
    if(fcInfo[i][fid_x]!=vID)continue;
    GetVehiclePos(fcInfo[i][fid_x],fcInfo[i][fc_x],fcInfo[i][fc_y],fcInfo[i][fc_z]);
    GetVehicleZAngle(fcInfo[i][fid_x],fcInfo[i][fc_r]);
    SendClientMessage(playerid,GRUEN,"Fahrzeug erfolgreich geparkt!");
    new query[128];
    format(query,sizeof(query),"UPDATE fcars SET x='%f', y='%f', z='%f', r='%f' WHERE id='%i'",fcInfo[i][fc_x],fcInfo[i][fc_y],fcInfo[i][fc_z],fcInfo[i][fc_r],fcInfo[i][fdb_id]);
    mysql_tquery(dbverbindung,query);
    }
    return 1;
    }

    Hätte noch eine weitere Frage:
    bin gerade dabei die Frakcars unter OnGameModeInit spawnen zu lassen.


    format(query,sizeof(query),"SELECT * FROM cars WHERE besitzer='%i'",sInfo[playerid][db_id]);
    Hier werden ja die Cars ausgewählt die der User besitzt.


    Jetzt möchte ich ja bei den Frakcars eigentlich alle auswählen, also die ganze Tabelle fcars.
    Wie mache ich das am besten?

    Also ich stelle das eher in Frage, dass der Server mal erfolgreich wird.


    Man hat ja schon bei der Eröffnung gesehen, wie viele Bugs da drin waren.
    Wenn man mit so einem Script einen Server eröffnet wird er meiner Meinung nach 1 Monat später auch nicht viel besser sein.



    Zudem habe ich ja auch darauf gespielt, es wurde nur DM geschoben und die Cars wurden von einem Admin alle 5 Minuten respawnt ?





    Ebenso fällt mir auf, dass die Teammitglieder von diesem Server unter fast jede neue Serverwerbung posten und diese schlecht reden..

    hatte mich nur verschrieben, Danke


    Noch ne kleine Frage zu dem tquery:
    Wenn ich jetzt den cache nicht brauche, wie mache ich dass dann, davor hat man ja dann false geschrieben.
    mysql_tquery(dbverbindung,query,"","")
    So dann?

    Hi, wollte gerade Fraktionsautos erstellen, jedoch werden diese garnicht in der Datenbank abgespeichert.
    Obwohl ich alles fast genau wie beim normalen Carsystem gemacht habe..


    beim erstellen Befehl: createfCar(fID,mID,xc+2,yc,zc,rc,color[0],color[1]);
    createfCar(fID,modelid,Float:x,Float:y,Float:z,Float:r,f1,f2)
    {
    for(new i=0; i<sizeof(fcInfo); i++)
    {
    if(fcInfo[i][fid_x]!=0)continue;
    fcInfo[i][fc_fraktion]=fID;
    fcInfo[i][fc_x]=x;
    fcInfo[i][fc_y]=y;
    fcInfo[i][fc_z]=z;
    fcInfo[i][fc_r]=r;
    fcInfo[i][fcfarbe1]=f1;
    fcInfo[i][fcfarbe2]=f2;
    fcInfo[i][fmodel]=modelid;
    fcInfo[i][fid_x] = CreateVehicle(modelid,x,y,z,r,f1,f2,-1);
    savefCarToDB(i);
    return 1;
    }
    return 1;
    }


    savefCarToDB(carid)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO fcars (fraktion,fmodel,farbe1,farbe2,x,y,z,r) VALUES ('%i','%i','%i','%i','%f','%f','%f','%f')",fcInfo[carid][fc_fraktion],fcInfo[carid][fmodel],fcInfo[carid][fcfarbe1],fcInfo[carid][fcfarbe2],fcInfo[carid][fc_x],fcInfo[carid][fc_y],fcInfo[carid][fc_z],fcInfo[carid][fc_r]);
    mysql_function_query(dbverbindung,query,true,"fcarSavedToDB","i",carid);
    return 1;
    }


    public fcarSavedToDB(carid)
    {
    fcInfo[carid][fdb_id]=cache_insert_id(dbverbindung);
    return 1;
    }

    Verstehe jetzt nicht warum das nicht funktioniert..
    Das Auto wird erstellt, aber nicht in der DB gespeichert?




    Was ich in letzter Zeit geändert habe war von glaube R34 auf R39-3 geupdatet.
    Aber das normale Carsystem funktioniert ja auch noch ohne Probleme

    super geht, Danke!
    Muss ich immer mysql_static nur laden, oder blos wenn die libmysql nicht auf dem Server vorinstalliert ist?

    okay, und lag ich mit dem .DS_Store richtig, dass ich das nicht brauche?



    Failed (libmysqlclient.so.18: cannot open shared object file: No such file or directory)


    Bekomme jetzt diesen Error.

    Okay, da sind ja jetzt bei den Linuxversionen mehrere Plugin Dateien dabei.
    .DS_Store
    mysql.so
    mysql_static.so
    ._.DS_Store
    ._mysql.so
    ._mysql_static.so


    Bin ich irgendwie gerade ein bisschen überfordert, was ich alles brauche:D
    die DS_Store wahrscheinlich schonmal nicht oder?



    Vielen Dank schonmal!

    ok Danke, bin grade bei Signaltransmitter und Samp4You.
    Vielleicht weißt du ja zufälligerweise welches diese benutzen:P


    Und dann noch wegen dem libmysql, das würde mich interessieren

    Habe mal noch eine kleine Frage, will gerade das Plugin auf den Server laden. Ist Linux.
    mysql-r39-3-debian7.tgz
    mysql-r39-3-centos7.tgz
    mysql-r39-3-win.zip


    Sehe jetzt diese 3 hier, bin leider noch etwas unerfahren, drum weiß ich nicht ob da die .so Dateien für Linux dabei sind?
    Welches ist das richtige? Oder ist das nicht dabei?


    Bei R39-2 Gibt es noch extra einen Linux Ordner






    Noch was:
    Muss man bei einem Online Server die libmysql Datei nicht in den Serverordner reinpacken?
    Habe grade gesehen dass ich die gar nicht drin hatte und es trotzdem funktioniert hat.



    Danke im vorraus!!

    Hi, ich benutze zur Zeit das Mysql Plugin von dem Tutorial von MrMonat.
    Ist glaub ich R31 oder so, wäre cool wenn jemand sagen kann welches das ist?


    Welche Versionen benutzt ihr so? Und würdet ihr mir empfehlen meins auf eine neuere Version umzuschreiben?
    Wenn ja welche?

    if(newstate==PLAYER_STATE_DRIVER)


    Und dann nehme ich den selben Timer her wie für die Tankanzeige:


    new tankanzeige[10];
    format(tankanzeige,sizeof(tankanzeige),"%i",tank[vID]);
    Textdraw4[playerid] = CreatePlayerTextDraw(playerid, 568.750000, 357.000061, tankanzeige);
    PlayerTextDrawLetterSize(playerid, Textdraw4[playerid], 0.449999, 1.600000);
    PlayerTextDrawAlignment(playerid, Textdraw4[playerid], 1);
    PlayerTextDrawColor(playerid, Textdraw4[playerid], -1);
    PlayerTextDrawSetShadow(playerid, Textdraw4[playerid], 0);
    PlayerTextDrawSetOutline(playerid, Textdraw4[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, Textdraw4[playerid], 51);
    PlayerTextDrawFont(playerid, Textdraw4[playerid], 2);
    PlayerTextDrawSetProportional(playerid, Textdraw4[playerid], 1);
    litertimer[playerid] = SetTimerEx("TankSchadenTimer",1000,true,"ii",playerid,vID);



    public TankSchadenTimer(playerid,vID)
    {
    new tankanzeige[10];
    format(tankanzeige,sizeof(tankanzeige),"%i",tank[vID]);
    PlayerTextDrawSetString(playerid, Textdraw4[playerid],tankanzeige);

    CarHealthColor(playerid,vID);
    return 1;
    }

    Hi, ich wollte die Farbe meines Textdraws mit einem Timer immer updaten,
    das funktioniert aber nicht.


    Hier der Befehl der bei dem Timer ausgeführt wird:
    CarHealthColor(playerid,vID)
    {
    new Float:vHealth;
    GetVehicleHealth(vID,vHealth);
    if(vHealth >= 999.0)
    {
    PlayerTextDrawColor(playerid,Textdraw7[playerid],GRUEN);
    }
    else if(vHealth >= 750.0 && vHealth < 999.0)
    {
    PlayerTextDrawColor(playerid,Textdraw7[playerid],GELB);
    }
    else if(vHealth >= 375.0 && vHealth < 750.0)
    {
    PlayerTextDrawColor(playerid,Textdraw7[playerid],ORANGE);
    }
    else if(vHealth < 375.0)
    {
    PlayerTextDrawColor(playerid,Textdraw7[playerid],ROT);
    }
    }


    Oder Gibt es dafür auch einen Befehl wie TextDrawSetString