Beiträge von Zunno

    Hier das sollte funktionieren:


    if (strcmp("/stats", cmdtext, true) == 0)
    {
    new name[MAX_PLAYER_NAME], string[256], frakion[20];
    GetPlayerName(playerid, name, sizeof(name));
    switch(Spieler[playerid][Team])
    {
    case 1: fraktion = "Hier Teamname 1";
    case 2: fraktion = "Hier Teamname 2";
    case 3: fraktion = "Hier Teamname 3";
    case 4: fraktion = "Hier Teamname 4";
    default: fraktion = "Kein Team";
    }
    format(string,sizeof(string),"Name: %s\n\n[GELD: %d] [Score: %d] [AdminLevel: %d]\n\n[Team: %s] [Leader: %d] [Rank: %d]\n\n[premium: %d]",name, GetPlayerMoney(playerid),GetPlayerScore(playerid),Spieler[playerid][AdminLevel],fraktion, Spieler[playerid][Leader], Spieler[playerid][Rank], Spieler[playerid][premium]);
    ShowPlayerDialog(playerid,stats,DIALOG_STYLE_MSGBOX,"Deine Daten",string,"Ok","Abbrechen");
    return 1;
    }


    MFG
    Zunno :)


    /EDIT: Kleinen Fehler behoben..

    public IsPlayerInArea(playerid)
    {
    new Float:X, Float:Y, Float:Z;
    for(new i=0; i < MAX_VEHICLES; i++)
    {
    GetVehiclePos(playerid, X, Y, Z); //Hier playerid nicht i
    if (X <= 1542.3218 && X >= 1555.7373 && Y <= -1604.8206 && Y >= -1612.8894)
    {
    SetVehicleHealth(i, 1000.0);
    }
    }
    return 1;
    }


    Mit freundlichen Grüßen,
    Zunno^^

    Hm okay, ich werde es mal versuche, jedoch weiß ich gerade nicht wie ich das genau machen soll ^^


    Ich hab es nun so:
    stock LoadFrakCars()
    {
    if(CheckMySQL() == 1)
    {
    print(" ");
    print("Lade Fraktionsvehicle...");
    new query2[128], str[512];
    format(query2, sizeof(query2), "SELECT * FROM `frakcars`");
    mysql_query(query2);
    mysql_store_result();
    while(mysql_fetch_row(str))
    {
    sscanf(str, "e<p<|>{i}s[16]s[24]s[130]iiifff>",FrakVehicle[playerid]); //Hier wieß ich nicht genau weiter, bei Playerid muss eig die CarID stehen^^ (Enum noch nicht angepasst)
    }
    mysql_free_result();
    new Vehicle, Schild[20];
    if(FrakVehicle[Vehicle][FFraktion] == 1) { Schild = "SA-PD"; }
    SetVehicleNumberPlate(Vehicle, Schild);
    Vehicle = CreateVehicle(vModel,posX,posY,posZ,posR,vcolor1,vcolor2,-1);
    FrakVehicle[Vehicle][FFraktion] = vBesitzer;
    FrakVehicle[Vehicle][FModel] = vModel;
    FrakVehicle[Vehicle][FPosX] = posX;
    FrakVehicle[Vehicle][FPosY] = posY;
    FrakVehicle[Vehicle][FPosZ] = posZ;
    FrakVehicle[Vehicle][FPosR] = posR;
    FrakVehicle[Vehicle][FColor1] = vcolor1;
    FrakVehicle[Vehicle][FColor2] = vcolor2;
    FrakVehicle[Vehicle][FLocked] = vLocked;
    ChangeVehicleColor(Vehicle, vcolor1, vcolor2);
    format(string, sizeof(string), "[FRAKCAR] Fahrzeug: %d | Model: %d | Fraktion: %d", idx,vModel,vBesitzer);
    printf(string);
    }
    return 1;
    }


    Ja ich weiß da erlich gesagt gerade nicht weiter, ich weiß auch gerade nicht ob die enum Namen genau so heißen müssen wie die Spalten in der MySQL Datenbank ^^


    Wäre schön wenn du mir vieleicht ne kleine Hilfestellung geben würdest :)



    Mit freundlichen Grüßen,
    Zunno

    Guten Tag Breadfish,


    Ich versuche mich gerade ein wenig an MySQL und möchte nun Fraktionsautos in einer Datenbank abspeichern was ich auch schon hinbekommen habe.
    Nun ist jedoch meine frage, wie ich diese beim Starten des Servers am einfachsten auslese...


    Ich habe es immomend so:
    stock LoadFrakCars()
    {
    if(CheckMySQL() == 1) //Checkt die Verbindung zur Datenbank
    {
    print(" ");
    print("Lade Fraktionsvehicle...");
    new query2[128];
    format(query2, sizeof(query2), "SELECT * FROM `frakcars`");
    mysql_query(query2);
    mysql_store_result();
    new anzahl = mysql_num_rows();
    for(new idx = 1; idx < anzahl+1; idx++)
    {
    new data[128], string[128],query[128];
    format(query, sizeof(query), "SELECT * FROM `frakcars` WHERE `ID` = '%d'",idx);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_field("Fraktion",data);
    new vBesitzer = strval(data);
    mysql_fetch_field("Model",data);
    new vModel = strval(data);
    mysql_fetch_field("PosX",data);
    new Float:posX = floatstr(data);
    mysql_fetch_field("PosY",data);
    new Float:posY = floatstr(data);
    mysql_fetch_field("PosZ",data);
    new Float:posZ = floatstr(data);
    mysql_fetch_field("PosR",data);
    new Float:posR = floatstr(data);
    mysql_fetch_field("Color1",data);
    new vcolor1 = strval(data);
    mysql_fetch_field("Color2",data);
    new vcolor2 = strval(data);
    mysql_fetch_field("Locked",data);
    new vLocked = strval(data);
    if(vModel != 0)
    {
    new Vehicle, Schild[20];
    if(FrakVehicle[Vehicle][FFraktion] == 1) { Schild = "SA-PD"; }
    SetVehicleNumberPlate(Vehicle, Schild);
    Vehicle = CreateVehicle(vModel,posX,posY,posZ,posR,vcolor1,vcolor2,-1);
    FrakVehicle[Vehicle][FFraktion] = vBesitzer;
    FrakVehicle[Vehicle][FModel] = vModel;
    FrakVehicle[Vehicle][FPosX] = posX;
    FrakVehicle[Vehicle][FPosY] = posY;
    FrakVehicle[Vehicle][FPosZ] = posZ;
    FrakVehicle[Vehicle][FPosR] = posR;
    FrakVehicle[Vehicle][FColor1] = vcolor1;
    FrakVehicle[Vehicle][FColor2] = vcolor2;
    FrakVehicle[Vehicle][FLocked] = vLocked;
    ChangeVehicleColor(Vehicle, vcolor1, vcolor2);
    format(string, sizeof(string), "[FRAKCAR] Fahrzeug: %d | Model: %d | Fraktion: %d", idx,vModel,vBesitzer);
    printf(string);
    }
    }
    mysql_free_result();
    }
    return 1;
    }


    So dies ist aber nach meiner meinung nach total umständlich und der meinung es gibt einfachere wege, jedoch finde ich diese nicht :wacko:
    Deshalb wollte ich hier mal fragen wie ihr das machen würdet :)


    Achja und das Problem an dieser Varriante ist z.B. wenn ich 3 Fraktionsautos habe und dann das Fraktionsauto was in der datenbank die id 2 hat lösche, bricht er dort die schleife ab und der server "Crasht" :whistling:




    Mit freundlichen Grüßen,
    Zunno

    benutzt du die Funktion SetPlayerInterior(playerid, interiorid); ??


    Wenn nicht würde ich die Interior ID mal raussuchen und beim spawnen das interior auf das richtige setzen, dann sollte alles funktionieren :)

    Guten Tag Breadfish,


    Ich suche schon länger nach der Funktion um die Schriftart meiner "Dynamischen Signatur" zu ändern.


    Im momend sieht die Signatur so aus:


    Jedoch möchte ich z.B. die Schriftart so haben wie auf dieser Signatur:


    Wäre froh wen mir jemand sagen könnte wie ich das machen kann :)


    MFG
    Zunno

    ocmd:o(playerid, params[])
    {
    new sendername, reason[128], string[128];
    if(IsPlayerAdmin(playerid))
    {
    if(sscanf(params, "s[128]", reason)) return SendClientMessage(playerid, 0xFF0000AA,"BENUTZE: /o [Text]");
    else
    {
    format(string, sizeof(string), "(( Admin %s: %s ))", sendername, reason);
    SendClientMessageToAll(0xFFFFFFAA, string);
    }
    }
    else return SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: Du darfst diesen Befehl nicht benutzen!");
    return 1;
    }


    Sollte Funktionieren, Ungetestet, Bitteschön ;)


    Mit freundlichen Grüßen,
    Zunno


    /EDIT: Da fehlte 1 Klammer :O

    Versuch mal die server.cfg


    echo Executing Server Config...
    lanmode 1
    rcon_password rcon-klar
    maxplayers 50
    port 7777
    hostname TL-RPG Server
    gamemode0 tl 1
    filterscripts
    announce 0
    query 1
    weburl www.sa-mp.com
    onfoot_rate 40
    incar_rate 40
    weapon_rate 40
    stream_distance 300.0
    stream_rate 1000
    maxnpc 0
    plugins sscanf.so
    password pwd-klar


    Plugins sollte plugins geschrieben werden also klein, ich glaube bei Windows macht es nix aus aber auf Linux schon da Linux penible auf die Groß und Kleinschreibung achtet und Windows z.B. nicht ;)


    Versuchs einfach mal aus.



    MFG Zunno

    Versuch mal den Command:


    if(strcmp(cmdtext, "/text", true) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFAA, "* Du bist in keinem Fahrzeug!");
    new carid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(carid) == 596)
    {
    if(Text[carid] == 0)
    {
    CarText[carid] = Create3DTextLabel("POLIZEI\nBitte Folgen!", 0xFF0000AA,0.0,0.0,0.0,15,0,true);
    Attach3DTextLabelToVehicle(CarText[carid], GetPlayerVehicleID(playerid), 0.0, 0.0, 0.5);
    Text[carid] = 1;
    SendClientMessage(playerid, 0xFFFFFFAA, "* Du hast denn {2641FE}Text {FFFFFF}eingeschaltet!");
    }
    else
    {
    Delete3DTextLabel(CarText[carid]);
    Text[carid] = 0;
    SendClientMessage(playerid, 0xFFFFFFAA, "* Du hast denn {2641FE}Text {FFFFFF}ausgeschaltet!");
    }
    }
    else return SendClientMessage(playerid, 0xFFFFFFAA, "* Du kannst diesen Befehl nur in einem SAPD Fahrzeug benutzen!");
    }


    Ich habe ihn gerade selber gemacht und dieser Funktioniert :) (Jedenfalls bei mir)


    MFG
    Zunno :)

    Skin in einer Variable speichern lassen und ihm dann beim Spawnen geben.
    Wenn der spieler sich einloggt einfach Spawnen lassen mit SpawnPlayer(playerid);


    Desweiteren kannst du versuchen wenn jemand in die class selection kommt das du ihn einfach wieder Spawnen lässt :D



    public OnPlayerRequestClass(playerid, classid)
    {
    SpawnPlayer(playerid);
    return 1;
    }


    Einfach ausprobieren :)


    MFG
    Zunno

    Weil ich ihn so genannt habe ^^ Aber ich hab ihn auch schon umbenannt und funktioniert trozdem nicht :(


    Julian:
    Ich kann Framework nicht installieren da dies die Versionen für 32 Bit Systeme sind.
    Jedoch habe ich ein 64 Bit System :D


    MFG Zunno