Beiträge von [KoSoVa]


    Kannst du bitte einmal den Code sicken , wie du es jetzt genau hast?

    Danke euch , es geht jetzt perfekt!


    Aber jetzt komme ich mit den /VEH befehl nicht weiter? Also es soll dann, wenn schon ein Auto erstellt wurde, das alte gelöscht werden. Aber das auto wird nicht gelöscht? Und warum wird kein 3D Text erstellt?


    Spoiler anzeigen

    ocmd:veh(playerid,params[])
    {
    if(SpielerInfo[playerid][pAlevel] >= 2)
    {
    //if(IsPlayerInAnyVehicle(playerid) == 1)return SendClientMessage(playerid, 0xFF0000FF, "Du bist bereits in einem Fahrzeug!");
    new Float:vehx,Float:vehy,Float:vehz, vehid,cc1,cc2,string[128], astring[128], aname[MAX_PLAYERS],VVW,Float:facing, veh;
    GetPlayerName(playerid,aname,sizeof(aname));
    if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, 0xFF0000FF,"[FEHLER]{FFFFFF} /Veh [FahrzeugID] [Farbe 1] [Farbe 2]");
    if(vehid < 400 ||vehid > 611)return SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF}Falsche Veh-ID! | ~ | 400 - 611 | ~ |");
    if(SpielerInfo[playerid][pVehErstellt] == 0)
    {
    GetPlayerPos(playerid,vehx,vehy,vehz);
    GetPlayerFacingAngle(playerid, facing);
    VVW = GetPlayerVirtualWorld(playerid);
    veh = AddStaticVehicleEx(vehid,vehx,vehy,vehz,facing,cc1,cc2,-1);
    PutPlayerInVehicle(playerid, veh, 0);
    AddVehicleComponent(veh, 1010);
    SetVehicleVirtualWorld(veh, VVW);
    vehicle3Dtext[vehicle_id]= Create3DTextLabel( "** Administrator Fahrzeug **", 0x00FFBEFF, 0.0, 0.0, 0.0, 0.0, 0, 1 );
    Attach3DTextLabelToVehicle(vehicle3Dtext[vehicle_id],veh,0.0, 0.0, 2.0);
    format(astring,sizeof(astring),"[A-INFO] [%d]%s(LvL: %s) hat '{FFFFFF}/VEH{FF0000}' ausgeführt!",playerid,aname,GetAlevel(playerid));
    SendAdminMessage(0xFF0000FF,astring);
    format(string,sizeof(string),"[INFO]{FFFFFF} Du hast das Fahrzeug mit der ModelID [{FF9100}%d{FFFFFF}] und der VehicleID [{FF9100}%d{FFFFFF}] erstellt!",veh,vehid);
    SendClientMessage(playerid,0xFF0000FF,string);
    SpielerInfo[playerid][pVehErstellt] = 1;
    }
    else if(SpielerInfo[playerid][pVehErstellt] == 1)
    {
    format(string,sizeof(string),"[INFO]{FFFFFF} ModelID[%d] wurde gelöscht! Geben Sie bitte erneurt /VEH ein um einen Auto zu spawnen!",veh);
    SendClientMessage(playerid,0xFF0000FF,string);
    DestroyVehicle(veh);
    SpielerInfo[playerid][pVehErstellt] = 0;
    }
    }
    return 1;
    }


    Jeffry

    Es laggt immernoch ...



    public StatsUpdateTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ocmd_update(i,"");
    }
    return 1;
    }


    //ONPLAYERSPAWN
    SetTimer("StatsUpdateTimer",3500,true);


    ocmd:update(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)//Textdraw41 = Killstreak , Textdraw42 = Score, 43= Rank, 44=Klasse , 45=Kills, 46=Tode
    {
    new KillstreakTextdraw[144],ScoreTextdraw[144],KillsTextdraw[144],TodeTextdraw[144],GetRankTextdraw[144], GetKlasseTextdraw[144];
    SpielerInfo[playerid][pKillStreak] = 0;
    format(KillstreakTextdraw, sizeof(KillstreakTextdraw), "Killstreak: %i", SpielerInfo[playerid][pKillStreak]);
    PlayerTextDrawSetString(playerid,Textdraw41[playerid],KillstreakTextdraw);
    format(TodeTextdraw, sizeof(TodeTextdraw), "Tode: %i", SpielerInfo[playerid][pTode]);
    PlayerTextDrawSetString(playerid,Textdraw46[playerid],TodeTextdraw);
    format(GetRankTextdraw, sizeof(GetRankTextdraw), "Rank: %s", GetRank(playerid));
    PlayerTextDrawSetString(playerid,Textdraw43[playerid],GetRankTextdraw);
    format(KillsTextdraw, sizeof(KillsTextdraw), "Kills: %i", SpielerInfo[playerid][pKills]);
    PlayerTextDrawSetString(playerid,Textdraw45[playerid],KillsTextdraw);
    format(ScoreTextdraw, sizeof(ScoreTextdraw), "Score: %i", SpielerInfo[playerid][pScore]);
    PlayerTextDrawSetString(playerid,Textdraw42[playerid],ScoreTextdraw);
    format(GetKlasseTextdraw, sizeof(GetKlasseTextdraw), "Klasse: %s", GetKlasse(playerid));
    PlayerTextDrawSetString(playerid,Textdraw44[playerid],GetKlasseTextdraw);
    StatusBoxTextdrawsLoad(playerid);
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    new KillstreakTextdraw[144],ScoreTextdraw[144],KillsTextdraw[144],TodeTextdraw[144],GetRankTextdraw[144], GetKlasseTextdraw[144];
    SpielerInfo[playerid][pKillStreak] = 0;
    format(KillstreakTextdraw, sizeof(KillstreakTextdraw), "Killstreak: %i", NoSpielerInfo[playerid][pNoKillStreak]);
    PlayerTextDrawSetString(playerid,Textdraw41[playerid],KillstreakTextdraw);
    format(TodeTextdraw, sizeof(TodeTextdraw), "Tode: %i", NoSpielerInfo[playerid][pNoTode]);
    PlayerTextDrawSetString(playerid,Textdraw46[playerid],TodeTextdraw);
    format(GetRankTextdraw, sizeof(GetRankTextdraw), "Rank: %s", GetRank(playerid));
    PlayerTextDrawSetString(playerid,Textdraw43[playerid],GetRankTextdraw);
    format(KillsTextdraw, sizeof(KillsTextdraw), "Kills: %i", NoSpielerInfo[playerid][pNoKills]);
    PlayerTextDrawSetString(playerid,Textdraw45[playerid],KillsTextdraw);
    format(ScoreTextdraw, sizeof(ScoreTextdraw), "Score: %i", NoSpielerInfo[playerid][pNoScore]);
    PlayerTextDrawSetString(playerid,Textdraw42[playerid],ScoreTextdraw);
    format(GetKlasseTextdraw, sizeof(GetKlasseTextdraw), "Klasse: %s", GetKlasse(playerid));
    PlayerTextDrawSetString(playerid,Textdraw44[playerid],GetKlasseTextdraw);
    StatusBoxTextdrawsLoad(playerid);
    }
    return 1;
    }
    //Und die Kills werden nicnt angezeigt, und ich muss doch MAX_PLAYERS abfragen? Dass jeder Spieler der online ist doch aktuliesert wird oder nicht? Oder braucht man dass nicht?

    Warum geht der Server nicht mehr? Also der Server reagiert auf garnichts mehr wenn der Timer startet:



    public StatsUpdateTimer(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ocmd_update(i, "");
    }
    return 1;
    }


    /onPlayerSpawn
    SetTimer("StatsUpdateTimer",300,true);


    //ocmd:update:


    ocmd:update(playerid,params[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(mysql_CheckAccount(playerid) == 1)
    {
    new KillstreakTextdraw[144],ScoreTextdraw[144],KillsTextdraw[144],TodeTextdraw[144],GetRankTextdraw[144], GetKlasseTextdraw[144];
    SpielerInfo[i][pKillStreak] = 0;
    format(KillstreakTextdraw, sizeof(KillstreakTextdraw), "Killstreak: %i", SpielerInfo[i][pKillStreak]);
    PlayerTextDrawSetString(playerid,Textdraw41[i],KillstreakTextdraw);
    format(TodeTextdraw, sizeof(TodeTextdraw), "Tode: %i", SpielerInfo[i][pTode]);
    PlayerTextDrawSetString(playerid,Textdraw46[i],TodeTextdraw);
    format(GetRankTextdraw, sizeof(GetRankTextdraw), "Rank: %s", GetRank(i));
    PlayerTextDrawSetString(playerid,Textdraw43[i],GetRankTextdraw);
    format(KillsTextdraw, sizeof(KillsTextdraw), "Kills: %i", SpielerInfo[i][pKills]);
    PlayerTextDrawSetString(playerid,Textdraw45[i],KillsTextdraw);
    format(ScoreTextdraw, sizeof(ScoreTextdraw), "Score: %i", SpielerInfo[i][pScore]);
    PlayerTextDrawSetString(playerid,Textdraw45[i],ScoreTextdraw);
    format(GetKlasseTextdraw, sizeof(GetKlasseTextdraw), "Klasse: %s", GetKlasse(i));
    PlayerTextDrawSetString(playerid,Textdraw44[i],GetKlasseTextdraw);
    StatusBoxTextdrawsLoad(i);
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    new KillstreakTextdraw[144],ScoreTextdraw[144],KillsTextdraw[144],TodeTextdraw[144],GetRankTextdraw[144], GetKlasseTextdraw[144];
    SpielerInfo[playerid][pKillStreak] = 0;
    format(KillstreakTextdraw, sizeof(KillstreakTextdraw), "Killstreak: %i", NoSpielerInfo[i][pNoKillStreak]);
    PlayerTextDrawSetString(playerid,Textdraw41[i],KillstreakTextdraw);
    format(TodeTextdraw, sizeof(TodeTextdraw), "Tode: %i", NoSpielerInfo[i][pNoTode]);
    PlayerTextDrawSetString(playerid,Textdraw46[i],TodeTextdraw);
    format(GetRankTextdraw, sizeof(GetRankTextdraw), "Rank: %s", GetRank(i));
    PlayerTextDrawSetString(playerid,Textdraw43[i],GetRankTextdraw);
    format(KillsTextdraw, sizeof(KillsTextdraw), "Kills: %i", NoSpielerInfo[i][pNoKills]);
    PlayerTextDrawSetString(playerid,Textdraw45[i],KillsTextdraw);
    format(ScoreTextdraw, sizeof(ScoreTextdraw), "Score: %i", NoSpielerInfo[i][pNoScore]);
    PlayerTextDrawSetString(playerid,Textdraw45[i],ScoreTextdraw);
    format(GetKlasseTextdraw, sizeof(GetKlasseTextdraw), "Klasse: %s", GetKlasse(i));
    PlayerTextDrawSetString(i,Textdraw44[i],GetKlasseTextdraw);
    StatusBoxTextdrawsLoad(i);
    }
    }
    return 1;
    }


    //EDIT: Also, diese nicht reagierungen kamen , als ich dass mit den Update angefangen hab.
    //EDIT: Der Server reagiert erst nach sehr sehr langer zeit wieder

    Alles Klar danke, habe es jetzt geschafft, jedoch habe ich noch eine Frage/Fehler:


    -> Warum werden nicht alle Map icons geladen? Bei mir wird nur einer geladen...



    SetPlayerMapIcon(playerid, 12, 204.0869,1861.0219,20.6209, 6, 0, MAPICON_LOCAL);
    SetPlayerMapIcon(playerid, 12, -136.1196,1116.7900,20.1966, 6, 0, MAPICON_LOCAL);
    SetPlayerMapIcon(playerid, 12, -378.4940,2237.0698,42.4495, 6, 0, MAPICON_LOCAL);
    SetPlayerMapIcon(playerid, 12, -684.3907,939.5387,13.6328, 6, 0, MAPICON_LOCAL);
    SetPlayerMapIcon(playerid, 12, 938.4085,1734.4572,8.8516, 6, 0, MAPICON_LOCAL);
    SetPlayerMapIcon(playerid, 12, -793.3663,1594.1543,27.1172, 6, 0, MAPICON_LOCAL);
    SetPlayerMapIcon(playerid, 12, -269.8531,2674.8159,62.6580, 6, 0, MAPICON_LOCAL);

    Jetzt wird zwar die M4 angezeigt, aber der skin der schon vorher drauf ist z.b. Army skin soll die M4 halten. also da mit der M4 stehen.

    if(clickedid == Textdraw6) // United States
    {
    PlayerTextDrawSetPreviewModel(playerid, Textdraw3[playerid], 287);
    PlayerTextDrawShow(playerid, Textdraw3[playerid]);
    PlayerTextDrawSetPreviewModel(playerid, Textdrawdrei[playerid], 356);
    PlayerTextDrawShow(playerid, Textdrawdrei[playerid]);
    ClearChat(playerid);
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie haben {FF0000}United States {FFFFFF}als Team ausgewählt!");
    gTeam[playerid] = TEAM_UNITEDSTATES;
    if(mysql_CheckAccount(playerid) == 1)
    {
    SpielerInfo[playerid][pTeamAuswahl] = 1;
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    NoSpielerInfo[playerid][pNoTeamAuswahl] = 1;
    }
    }
    //..


    Mein derzeitiger Code:



    if(clickedid == Textdraw6) // United States
    {
    PlayerTextDrawSetPreviewModel(playerid, Textdraw3[playerid], 287); // Mit das hier sol dann auch die M4 gezeigt werden
    PlayerTextDrawShow(playerid, Textdraw3[playerid]);
    ClearChat(playerid);
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie haben {FF0000}United States {FFFFFF}als Team ausgewählt!");
    gTeam[playerid] = TEAM_UNITEDSTATES;
    if(mysql_CheckAccount(playerid) == 1)
    {
    SpielerInfo[playerid][pTeamAuswahl] = 1;
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    NoSpielerInfo[playerid][pNoTeamAuswahl] = 1;
    }
    }
    //....


    Möglicherweise sind da zwei Preview Models übereinander gelegt worden, das könnte ich mir vorstellen.


    Dann poste bitte den Code wenn du wieder am PC bist, ohne Code können wir dir nicht helfen, es weiß ja keiner was du am Code gemacht hast, bzw was da ist oder was fehlt.


    Gute Nacht


    Wenn ich die jetzt übereinander mache, wird nur ein andere Skin angezeigt? Könntest du mir bitte einen Beispiel geben?


    -> Jetzt zum Crash problem: Es ist irgendwie verschwunden? :D

    Okay , und ich hab mal gesehen dass man auch ,diesen Skin der da steht , eine Waffe geben kann? Sodass er es in der hand hält?


    Wichtig : seitdem ich meinen stock mit den waffen geben also z.b. für klassr 2 bla bla gemacht habe , wetde ich automatisch gekickt nach spawn, dazu werde ich auch am 0 punkt gespawnt? Abet ich glaub es liegt an den PlayerSpectating oder so... weil wenn ich dass ausmache geht es , jedoch brauche ich es für den spawn Button. Codes kann ich nicht sicken weil ich grad am handy bin...

    o.0 Jetzt geht es perfekt! Danke, jedoch habe ich noch Fragen: Kann man irgendie die Person Schärfer machen? Und wie kann man diesen Hintergrund heller machen? Sowie diese eine Helle schwarz? Weil dass ist ein pures dunkelnes Schwarz


    //EDIT:


    Irgendwie , wenn ich mein Team und irgendeine Klasse ausgewählt habe, werde sofort gekickt? Das liegt angeblich am "PlayerSpec..."?

    Ok, ich hab es nochmal gemacht, jedoch wird nur der Army Skin angezeigt, eigentlich sollte der Skin von Army auf SWAT umgehen?
    Hier mein derzeitiger Code:



    else if(clickedid == Textdraw22)
    {
    ClearChat(playerid);
    PlayerTextDrawSetPreviewModel(playerid, Textdraw3[playerid], 285);
    if(SpielerInfo[playerid][pMember] == 1)
    {
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie haben {FF0000}Delta Force {FFFFFF}als Team ausgewählt!");
    gTeam[playerid] = TEAM_DELTAFORCE;
    if(mysql_CheckAccount(playerid) == 1)
    {
    SpielerInfo[playerid][pTeamAuswahl] = 1;
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    NoSpielerInfo[playerid][pNoTeamAuswahl] = 1;
    }
    }
    else
    {
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie sind kein Mitglied der {FF0000}Delta Force!");
    }
    }
    //....


    stock LoadTextDraws(playerid)
    {
    Textdraw3[playerid] = CreatePlayerTextDraw(playerid, 194.000000, 124.444442, "_");//LD_SPAC:white
    PlayerTextDrawFont(playerid, Textdraw3[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
    PlayerTextDrawLetterSize(playerid, Textdraw3[playerid], 0.000000, 0.000000);
    PlayerTextDrawTextSize(playerid, Textdraw3[playerid], 254.000000, 296.177764);
    PlayerTextDrawAlignment(playerid, Textdraw3[playerid], 1);
    PlayerTextDrawColor(playerid, Textdraw3[playerid], -1);
    PlayerTextDrawSetShadow(playerid, Textdraw3[playerid], 0);
    PlayerTextDrawSetOutline(playerid, Textdraw3[playerid], 0);
    PlayerTextDrawSetPreviewModel(playerid, Textdraw3[playerid], 287);
    return 1;
    }

    ok das mit den Textdraw3[playerid]........
    ist bei mir ganz unten in einem Stock drinne wo alle Textdraws aufgerufen werden unter: stock TextDrawLoad(playerid), der wird aufgerufen unter: OnPlayerConnect...


    Und hier sollte der Skin dann aufgerufen werden:


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(_:clickedid != INVALID_TEXT_DRAW) //Sagt das wenn der Player ein falsches TD anklickt nichts passieren soll.
    {
    LoadPlayer(playerid);
    //Team-Ausawhl
    if(clickedid == Textdraw6) // United States
    {
    PlayerTextDrawSetPreviewModel(playerid, Textdraw3[playerid], 287);
    ClearChat(playerid);
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie haben {FF0000}United States {FFFFFF}als Team ausgewählt!");
    gTeam[playerid] = TEAM_UNITEDSTATES;
    if(mysql_CheckAccount(playerid) == 1)
    {
    SpielerInfo[playerid][pTeamAuswahl] = 1;
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    NoSpielerInfo[playerid][pNoTeamAuswahl] = 1;
    }
    }
    else if(clickedid == Textdraw7)//Russland
    {
    ClearChat(playerid);
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie haben {FF0000}Russland {FFFFFF}als Team ausgewählt!");
    gTeam[playerid] = TEAM_RUSSLAND;
    if(mysql_CheckAccount(playerid) == 1)
    {
    SpielerInfo[playerid][pTeamAuswahl] = 1;
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    NoSpielerInfo[playerid][pNoTeamAuswahl] = 1;
    }
    }
    else if(clickedid == Textdraw13)//Afghanistan
    {
    ClearChat(playerid);
    SendClientMessage(playerid, 0xFF0000FF,"[INFO] {FFFFFF}Sie haben {FF0000}Afghanistan {FFFFFF}als Team ausgewählt!");
    gTeam[playerid] = TEAM_AFGHANISTAN;
    if(mysql_CheckAccount(playerid) == 1)
    {
    SpielerInfo[playerid][pTeamAuswahl] = 1;
    }
    else if(mysql_CheckNoAccount(playerid) == 1)
    {
    NoSpielerInfo[playerid][pNoTeamAuswahl] = 1;
    }
    }
    //....