Beiträge von Ap0llinaris

    Machs halt so:

    stock IsPlayerName(playerid, name[])
    {
    new n[24];
    GetPlayerName(playerid, n, 24);
    if(strcmp(n, name, true) == 0)
    {
    return 1;
    }
    return 0;
    }


    Dann so ca.:

    if(IsPlayerName(playerid, "Herbert"))
    {
    //...
    }


    Kann für nichts garantieren. :D

    CMD:spawn(playerid, params[])
    {
    new pID, reason[64], string[128];
    if(Spieler[playerid][pAdmin] < 1)return SendClientMessage(playerid, COLOR_GREY, "Du besitzt nicht die benötigten Rechte.");
    if(sscanf(params, "us[64]", pID, reason))return SendClientMessage(playerid, COLOR_GREY, "* Benutze /spawn [SpielerID/Name] [Grund]");
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist nicht online.");
    Spieler[pID][pTot] = 0;
    Spieler[pID][pTotTime] = 0;
    DestroyPickup(Spieler[playerid][pTotPickup]);
    Delete3DTextLabel(Spieler[playerid][pTot3D]);
    SetPlayerVirtualWorld(playerid, 0);
    SpawnPlayer(pID);
    format(string, sizeof(string), "[AdmCmd]: %s wurde von %s gespawnt. Grund: %s", GetName(pID), GetName(playerid), reason);
    SendClientMessageToAll(COLOR_DARKRED, string);
    SendClientMessage(pID, COLOR_LIGHTGREY, "Du wurdest gespawnt.");
    TextDrawHideForPlayer(pID, TotMessage[pID]);
    return 1;
    }


    //Edit


    Any help? u.u

    Hallo.


    Mein Create3DTextLabel ist irgendwie verbuggt.
    Ich wollte ein Geschäftssystem machen, und sobald ich mich spawne, zeigt er mir das 3DTextLabel nichtmehr an.
    Also wenn ich jetzt z.B einen GMX mache, und dann pw eingebe etc. und dann zum Geschäft hinfahre zeigt er alles an.
    Wenn ich dann /spawn mache und mich spawne, und dann nochmal hinfahre, steht da garnichts. Also kein 3DText.
    Hier mal ein Ausschnitt:
    LoadGeschaft();
    new string[256];
    for(new g = 0; g <sizeof(gInfo);g++)
    {
    if(gInfo[g][gOwned] == 0)
    {
    AddStaticPickup(1273, 0,gInfo[g][gEnterX], gInfo[g][gEnterY], gInfo[g][gEnterZ], 0);
    format(string, sizeof(string), "%s\n \nBesitzer: %s\nEintritt: $%d\nWaren: %d/%d\nWarenpreis: $%d\nTippe /enter zum betreten!", gInfo[g][gMessage], gInfo[g][gOwner], gInfo[g][gEintritt], gInfo[g][gWaren], gInfo[g][gMaxWaren], gInfo[g][gWarenPreis]);
    text_biz[g] = Create3DTextLabel(string, COLOR_WHITE, gInfo[g][gEnterX], gInfo[g][gEnterY], gInfo[g][gEnterZ]+1, 15, 0,0);
    Update3DTextLabelText(text_biz[g], COLOR_WHITE, string);
    }
    if(gInfo[g][gOwned] == 1)
    {
    AddStaticPickup(1239, 0,gInfo[g][gEnterX], gInfo[g][gEnterY], gInfo[g][gEnterZ], 0);
    format(string, sizeof(string), "%s\n \nBesitzer: Niemand\nPreis: $%d\nTippe /kaufen zum Erwerb dieses Geschäftes!", gInfo[g][gMessage], gInfo[g][gPreis]);
    text_biz[g] = Create3DTextLabel(string, COLOR_WHITE, gInfo[g][gEnterX], gInfo[g][gEnterY], gInfo[g][gEnterZ]+1, 15, 0,0);
    Update3DTextLabelText(text_biz[g], COLOR_WHITE, string);
    }
    }


    Hoffe es hilft.

    Du brauchst die ganzen Variablen da doch garnicht?
    Mach einfach:
    new engine, lights, boot, bonnet, alarm, objective;
    Und dann benutzt du GetVehicleParamsEx und lässt alle Variablen zuweisen und dann verwendest du einfach SetVehicleParamsEx.

    Habe dies immernoch.
    Habe es folgend aufgebaut:
    case DIALOG_LISTE:
    {
    new string[128];
    new str2[2048];
    if(response)
    {
    if(listitem==0)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 1)
    {
    format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Farmer online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_FARMLISTE, DIALOG_STYLE_MSGBOX,COLOR_HEX_ORANGE"Farmer-Liste", str2, "Schließen", "");
    }
    if(listitem==1)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 2)
    {
    format(string, sizeof(string), "Busfahrer %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Busfahrer online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_BUSLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Busfahrer-Liste",str2, "Schließen", "");
    }
    if(listitem==2)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 3)
    {
    format(string, sizeof(string), "Trucker %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Trucker online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_TRUCKLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Truck-Liste",str2, "Schließen", "");
    }
    if(listitem==3)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 4)
    {
    format(string, sizeof(string), "Pilot %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Pilote online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_PILOTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Pilot-Liste",str2, "Schließen", "");
    }
    if(listitem==4)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 5)
    {
    format(string, sizeof(string), "KFZ-Mech. %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Mechatroniker online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_KFZLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"KFZ-Mech.-Liste",str2, "Schließen", "");
    }
    if(listitem==5)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 6)
    {
    format(string, sizeof(string), "Anwalt %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Anwälte online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ANWALTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Anwalt-Liste",str2, "Schließen", "");
    }
    if(listitem==6)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pAdmin] > 0)
    {
    new rang[32];
    if(Spieler[i][pAdmin] == 1){rang = "Trial-Supporter";}
    else if(Spieler[i][pAdmin] == 2){rang ="Supporter";}
    else if(Spieler[i][pAdmin] == 3){rang ="Trial-Admin";}
    else if(Spieler[i][pAdmin] == 4){rang ="Admin";}
    else if(Spieler[i][pAdmin] == 5){rang ="Projektleiter";}
    format(string, sizeof(string), "%s %s (ID: %i) (Tel: -)", rang, GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Team-Mitglieder online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Admin-Liste", str2, "Schließen", "");
    }
    if(listitem==7)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pFraktion] == 4)
    {
    format(string, sizeof(string), "News Reporter %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Reporter online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_REPLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"News Reporter Liste",str2, "Schließen", "");
    }
    if(listitem==8)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pFraktion] == 3)
    {
    format(string, sizeof(string), "Sanitäter %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Sanitäter online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_SANILISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Sanitäter Liste",str2, "Schließen", "");
    }
    if(listitem==9)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pFraktion] == 5)
    {
    format(string, sizeof(string), "Ordnungsämtler %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Ordnungsämtler online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_OAMTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Ordnungsamt Liste",str2, "Schließen", "");
    }
    if(listitem==10)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pWanteds] > 0)
    {
    format(string, sizeof(string), "Verbrecher %s (ID: %i) (Wantedlevel: %i)", GetName(i), i, Spieler[i][pWanteds]);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Verbrecher online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_WTDLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Verbrecher Liste",str2, "Schließen", "");
    }

    }
    if(!response)
    {
    return 1;
    }
    }


    Diesmal wird aber nicht die erste ID aufgelistet sondern ID 1! Ich bin z.B ID 0 und bin nich in der Liste. NUr iD 1.

    Es muss kein "scriptfiles" angegeben werden, da "scriptfiles" der main Bereich ist.


    //Edit Okay, jetzt geht fast alles. Aber ein neues Problem trat auf. Die Koordinaten werden automatisch beim Abspeichern geändert.

    Code
    Niemand,0,Paintball Shop,200,1,500,500,0,0,0.000000,1310.121337,-1367.997802,13.543299,13.543298,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0
    ,0,Paintball Shop,200,1,500,500,0,0,0.000000,0.000000,200.000000,1310.121337,-1367.997802,13.543297,0,0


    So möchte ich es nicht(!!) haben!
    So soll es sein:

    Code
    Niemand,0,Paintball Shop,200,1,500,500,0,0,1310.1213,-1367.9978,13.5433,0.0,0.0,0.0,0,0


    Also die Koordinaten werden i.wie verschoben. Hier das Abspeicher Ding:
    public OnUpdateData()
    {
    new idx;
    new File: file2;
    while(idx < sizeof(gInfo))
    {
    new coordsstring2[256];
    format(coordsstring2, sizeof(coordsstring2), "%s,%d,%s,%d,%d,%d,%d,%d,%d,%f,%f,%f,%f,%f,%f,%d,%d\n",
    gInfo[idx][gOwner],
    gInfo[idx][gOwned],
    gInfo[idx][gMessage],
    gInfo[idx][gEintritt],
    gInfo[idx][gLocked],
    gInfo[idx][gWaren],
    gInfo[idx][gMaxWaren],
    gInfo[idx][gWarenPreis],
    gInfo[idx][gPreis],
    gInfo[idx][gEnterX],
    gInfo[idx][gEnterY],
    gInfo[idx][gEnterZ],
    gInfo[idx][gRausX],
    gInfo[idx][gRausY],
    gInfo[idx][gRausZ],
    gInfo[idx][gInterior],
    gInfo[idx][gKasse]);
    if(idx == 0)
    {
    file2 = fopen("biz.cfg", io_write);
    }
    else
    {
    file2 = fopen("biz.cfg", io_append);
    }
    fwrite(file2, coordsstring2);
    idx++;
    fclose(file2);
    }
    Update3d(0);
    printf("Speichere Geschäfte...");
    return 1;
    }


    Vielen Dank im Vorraus. ;)

    Könntest du mir mal verraten, warum zur Hölle du einen String mit 256 Zeichen Arrays benutzt?
    "- %s" können wenns drauf ankommt maximal 26 Zeichen haben. Mach die 5 weg und es ist "ressourcenschonend". ;)


    Ich mein, vorher hat auch alles geklappt. (Alle Plugins etc. gleich, alles hat geklappt!)


    //Edit


    Okay, komisch. Ich habe nun mal mit Pawno compiled und alles ging. Ich arbeite seit neuem mit Notepad++ mit diesem Plugin zum compilen undso. ;)
    Kann mir jemand helfen?


    //Edit-2
    Okay, nochmal. Ich hab nur etwas editiert (// weggemacht). keine Errors, nichts garnichts. Und schonwieder das gleiche Problem. -.-


    //Edit-3
    Noch einen Hinweis evtl:
    Sobald ich folgende Funktion einfüge:
    //LoadGeschaft();
    hängt sich der Server auf. Hier der Inhalt der Funktion.
    public LoadGeschaft()
    {
    new arrCoords[19][64];
    new strFromFile2[256];
    new File: file = fopen("prop.cfg", io_read);
    if(file)
    {
    new idx;
    while(idx < sizeof(gInfo))
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, ',');
    strmid(gInfo[idx][gOwner], arrCoords[0], 0, strlen(arrCoords[0]), 255);
    gInfo[idx][gOwned] = strval(arrCoords[1]);
    strmid(gInfo[idx][gMessage], arrCoords[2], 0, strlen(arrCoords[2]), 255);
    gInfo[idx][gEintritt] = strval(arrCoords[3]);
    gInfo[idx][gLocked] = strval(arrCoords[4]);
    gInfo[idx][gWaren] = strval(arrCoords[5]);
    gInfo[idx][gMaxWaren] = strval(arrCoords[6]);
    gInfo[idx][gPreis] = strval(arrCoords[7]);
    gInfo[idx][gEnterX] = floatstr(arrCoords[8]);
    gInfo[idx][gEnterY] = floatstr(arrCoords[9]);
    gInfo[idx][gEnterZ] = floatstr(arrCoords[10]);
    gInfo[idx][gRausX] = floatstr(arrCoords[11]);
    gInfo[idx][gRausY] = floatstr(arrCoords[12]);
    gInfo[idx][gRausZ] = floatstr(arrCoords[13]);
    gInfo[idx][gInterior] = strval(arrCoords[14]);
    gInfo[idx][gKasse] = strval(arrCoords[15]);
    }
    }
    return 1;
    }


    Danke im Vorraus.
    //Edit-4
    Kann mir denn echt niemand helfen? Ich bin am verzweiflen. -.-

    Hallo.
    Ich habe derzeit ein kleines Problem mit dem Starten meines Servers.
    Sobald ich den Server anschalte, und in die Server-Liste schaue ist er nicht an. (0 Ping, 0/0, etc.)
    Wenn ich joine, komme ich nur bis "Connected. Joining the Game" dann passiert nichtsmehr.
    Wenn ich in die Console schaue steht dort auch nur "Incoming Connection 127.0.0.1:port".
    Wenn ich einen gmx ausführe, dann geht garnichtsmehr!


    Ich hoffe ihr könnt mir helfen.

    Ich bereue es schon öfters mal.
    Besonders wenn dieses dumme und verdreckte Modern Warfu**ing 3 so kacke ist. Spawns = Shit, Waffen = Shit. Ein "Ausraster"-Game eben.
    Kauf dir eine PS3, aber niemals, GAR niemals(!!) Modern Warfu**ing 3!
    Kauf dir die PS3 im Winter zusammen mit Black Ops 2. ;) Oder hol dir Mw2+black ops. oder mit cod4 noch dabei. cod4 = beschte.


    Ein nachteil noch: Man kann damit keine psx/ps2 spiele abspielen.