Beiträge von Kaliber

    Naja... :S


    Da kann man noch ganz schön viel überarbeiten und verbessern...


    Ich habe mal ans Ende gescrollt und habe diese Funktion gesehen:


    stock GetAttachedCar(vID) //Return die VehicleID die am Auto hängt, wenn nichts dran hängt, wird -1 returnt
    {
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    if(IsTrailerAttachedToVehicle(i))
    {
    return i;
    }
    }
    return -1;
    }


    ?! Sinnlos das du da einen Parameter übergibst und die Funktion failt :D


    Naja ist ja auch egal...


    2/10...

    Da ein paar Leute interessiert sind an dieser Lösung, löse ich es einmal auf ^^


    COMMAND:savepos(playerid,params[])
    {
    #pragma unused params
    new Float:X, Float:Y, Float:Z, name[24], file[32];
    GetPlayerName(playerid, name, 24);
    format(file, 32, "%s.txt",name);//Pfad evtl ändern
    GetPlayerPos(playerid,X, Y, Z);
    dini_FloatSet(file, "lX", X);
    dini_FloatSet(file, "lY", Y);
    dini_FloatSet(file, "lZ", Z);
    SendClientMessage(playerid,blau,"Koordinaten erfolgreich gespeichert !");
    return 1;
    }


    COMMAND:gotopos(playerid, params[])
    {
    #pragma unused params
    new name[24], file[32];
    GetPlayerName(playerid, name, 24);
    format(file, 32, "%s.txt",name);//Pfad evtl ändern
    new Float: pX = dini_Float(file, "lX"), Float:pY = dini_Float(file, "lY"), Float:pZ = dini_Float(file, "lZ");
    SetPlayerPos(playerid, pX, pY, pZ);
    return 1;
    }


    mfg. :thumbup:

    TextDrawHideForPlayer(playerid,ServerName);


    Da fällt mir gerade mal was auf...schreibe das mal lieber so:


    new t_var[MAX_PLAYERS];//oben in dein Script


    //Unter OnPlayerConnect
    t_var[playerid] = 1;


    //Unter OnPlayerSpawn
    if(t_var[playerid]){ t_var[playerid] = 0; TextDrawShowForPlayer(playerid,ServerName); }


    Dann musst du Hide gar nicht verwenden, dies diente lediglich dazu, dass ein TextDraw nicht 2x angezeigt wird...aber mache es so ;)


    mfg. :thumbup:

    playerConnect


    Unter diesem Callback kann es manchmal zu unangenehmen Fehlern kommen, nämlich wenn der User noch nicht komplett Connectet ist, treten meist solche Fehler auf.
    Aus diesem Grund schreibe einfach unter OnPlayerSpawn:


    //OnPlayerSpawn (ganz nach oben)
    TextDrawHideForPlayer(playerid,ServerName);
    TextDrawShowForPlayer(playerid,ServerName);


    mfg. :thumbup:

    Du solltest die Admin Namen in einem Array speichern, sprich sowas:


    //Der Array
    enum aInfo {
    a_Name[MAX_PLAYER_NAME]
    };
    new Admin_Namen[][aInfo] = {
    {"Kaliber"},
    {"[NiCe]"}
    };
    //Der Code für den Command
    ocmd:admins(playerid, params[])
    {
    #pragma unused params
    new i, string[128], name[24], buffer[128], count, z;
    for(; z<sizeof(Admin_Namen); z++)
    {
    for(; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    GetPlayerName(i, name, 24);
    if(!strcmp(Admin_Namen[z][a_Name], name))
    {
    count = z;
    format(buffer, sizeof buffer,"%s {00FF00}[Online]\n",name);
    strins(string, buffer, strlen(string), sizeof string);
    }
    }
    if(!count)
    {
    format(buffer, sizeof buffer,"%s {FF0000}[Offline]\n",Admin_Namen[z][a_Name]);
    strins(string, buffer, strlen(string), sizeof string);
    }
    }
    ShowPlayerDialog(playerid,-1,DIALOG_STYLE_MSGBOX,"Adminliste",string,"Bestätigen","");
    return 1;
    }


    Aus dem Kopf geschrieben, sollte aber gehen hoffe ich ^^


    mfg. :thumbup:


    //Edit: Falls gerade noch jemand so einen Command sucht....