Beiträge von palwal

    Danke Jeffry! :love: Hat funktioniert und funktioniert wieder :)


    Ich hab den UpdateTacho so umgeschrieben wie du es dir vorgestellt hast.


    public UpdateTacho()
    {


    new bug[200];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerNPC(i)) continue;
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInAnyVehicle(i)) continue;

    new string[128];
    format(string, sizeof(string), "%d KM/H",getKmh(i, true));
    TextDrawSetString(KMH[i], string);
    format(bug, sizeof(bug), "UpdateTacho() für Spieler %s (ID %i) aufgerufen und ist im Fahrzeug!", GetName(i), i);
    print(bug);


    }
    return 1;
    }

    Ich hab mir schon überlegt ob ich einfach eine Abfrage rein mache ob es NPC ist oder nicht und wenn nicht wird SetTimer ausgeführt.


    Nur der allererste Bot mit der Playerid 0 bekommt die Ehre ein Teil des SetTimers UpdateTacho zu sein :)

    Irgendwas stimmt mit der MySQL Syntax nicht von mir, eigentlich sollte es gehen ?(


    mysql LOG
    [18:02:50] CMySQLHandler::Query(INSERT INTO haus (beschreibung, x, y, z) VALUES (`test`, `1544.662353`, `-1676.093139`, `13.558847`)) - An error has occured. (Error ID: 1054, Unknown column 'test' in 'field list')


    public newHouse(playerid, beschreibung[])
    {
    new Float:p_x, Float:p_y, Float:p_z, query[256];
    GetPlayerPos(playerid, p_x, p_y, p_z);

    format(query, sizeof(query), "INSERT INTO haus (beschreibung, x, y, z) VALUES (`%s`, `%f`, `%f`, `%f`)", beschreibung, p_x, p_y, p_z);
    mysql_query(query);

    new id = mysql_insert_id();
    random(9);
    HausInfo[id][h_interior] = random(9);
    HausInfo[id][h_preis] = HausInnenraum[HausInfo[id][h_interior]][addpreis];
    format(HausInfo[id][h_addtime], 50, "%d", gettime());
    format(HausInfo[id][h_updatetime], 50, "%d", gettime());
    saveHouse(id);
    genereteHouse(id);

    return 1;
    }


    und in save House wird das Haus wieder gespeichert:
    public saveHouse(id)
    {
    new query[300];
    format(query, sizeof(query), "UPDATE haus SET besitzer = '%s', beschreibung = '%s', x = '%f', y = '%f', z = '%f', interior = '%i', lock = '%i' WHERE id = '%i'", HausInfo[id][h_owner], HausInfo[id][h_beschreibung], HausInfo[id][h_x], HausInfo[id][h_y], HausInfo[id][h_z], HausInfo[id][h_interior], HausInfo[id][h_lock], id);
    mysql_query(query);
    format(query, sizeof(query), "UPDATE haus SET preis = '%d', muell = '%d', mietpreis = '%d', sperre = '%i', addtime = '%d', updatetime = '%d' WHERE id = '%i'", HausInfo[id][h_preis], HausInfo[id][h_muell], HausInfo[id][h_mietpreis], HausInfo[id][h_sperre], HausInfo[id][h_addtime], HausInfo[id][h_updatetime], id);
    mysql_query(query);
    return 1;
    }


    Allerding werden mir falsche Werte wie z.b die x, y,z Koordinate angezeigt was mit GetPlayerPos eigentlich richtig in die Variable eingepsiechert werden sollte:
    [18:02:50] CMySQLHandler::Query(UPDATE haus SET besitzer = '', beschreibung = '', x = '0.000000', y = '0.000000', z = '0.000000', interior = '6', lock = '0' WHERE id = '0') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lock = '0' WHERE id = '0'' at line 1)


    [18:02:50] >> mysql_query( Connection handle: 1 )


    [18:02:50] CMySQLHandler::Query(UPDATE haus SET preis = '174000', muell = '0', mietpreis = '0', sperre = '0', addtime = '49', updatetime = '49' WHERE id = '0') - An error has occured. (Error ID: 1054, Unknown column 'muell' in 'field list')


    [18:02:57] >> mysql_query( Connection handle: 1 )


    Bitte zitiert oder makiert mich wenn ihr antwortet damit ich es schnell sehe :thumbup:


    Bitte um schnelle Hilfe.

    So hab es abgeprint damit es in der ServerLog speichert. Ich habe gemerkt das der UpdateTacho immer an den einen Bot im Server zugewiesen wird.


    UpdateTacho für Spieler Wurzel_Sepp (ID 0) aufgerufen und ist im Fahrzeug.


    Gerade spinnt die Server-Log, man sieht die Angaben nur im samp_server.exe CMD-Fenster und nur der Server Start wird in der server-log.txt geprint.

    Daran liegt es leider nicht , geht immer noch nicht :/

    Hey Leute,


    mein Tacho (die Geschwindigkeitsanzeige) funktioniert bei mir nicht. Ich bin den kompletten Code durchgegangen und prinzipell solte es funktionieren.


    [pwn=221]new Text:KMH[MAX_PLAYERS];[/pwn]


    [pwn=2460]KMH[playerid] = TextDrawCreate(291.000000, 386.000000, "0KM/H");
    TextDrawBackgroundColor(KMH[playerid], 255);
    TextDrawFont(KMH[playerid], 1);
    TextDrawLetterSize(KMH[playerid], 0.450000, 2.000000);
    TextDrawColor(KMH[playerid], -1);
    TextDrawSetOutline(KMH[playerid], 0);
    TextDrawSetProportional(KMH[playerid], 1);
    TextDrawSetShadow(KMH[playerid], 1);[/pwn]


    [pwn=2618]public OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid,HintergrundTacho);
    TextDrawHideForPlayer(playerid,Geschwindigkeit);
    TextDrawHideForPlayer(playerid,KMH[playerid]);
    TextDrawHideForPlayer(playerid,StrichTacho);
    TextDrawHideForPlayer(playerid,BoxStrichTacho);[/pwn]


    [pwn=5469]public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    TextDrawShowForPlayer(playerid,HintergrundTacho);
    TextDrawShowForPlayer(playerid,Geschwindigkeit);
    TextDrawShowForPlayer(playerid,KMH[playerid]);
    TextDrawShowForPlayer(playerid,StrichTacho);
    TextDrawShowForPlayer(playerid,BoxStrichTacho);[/pwn]


    [pwn=5479] if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid,HintergrundTacho);
    TextDrawHideForPlayer(playerid,Geschwindigkeit);
    TextDrawHideForPlayer(playerid,KMH[playerid]);
    TextDrawHideForPlayer(playerid,StrichTacho);
    TextDrawHideForPlayer(playerid,BoxStrichTacho);[/pwn]


    [pwn=5508] if(oldstate == PLAYER_STATE_PASSENGER && newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid,HintergrundTacho);
    TextDrawHideForPlayer(playerid,Geschwindigkeit);
    TextDrawHideForPlayer(playerid,KMH[playerid]);
    TextDrawHideForPlayer(playerid,StrichTacho);
    TextDrawHideForPlayer(playerid,BoxStrichTacho);[/pwn]


    [pwn=7366]stock getKmh(playerid,bool:kmh)
    {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh?floatround(rtn * 50 * 2.51):floatround(rtn * 50);
    //return kmh?floatround(rtn * 50 * 1.61):floatround(rtn * 50);
    }[/pwn]


    [pwn=8001]public UpdateTacho(playerid)
    {
    new string[128];
    format(string, sizeof(string), "%d KM/H",getKmh(playerid, true));
    TextDrawSetString(KMH[playerid], string);
    return 1;
    }[/pwn]


    [pwn=266]forward UpdateTacho(playerid);[/pwn]


    //Bei OnPlayerConnect
    SetTimerEx("UpdateTacho", 500, true, "u", playerid);


    Es wird nur der Default-Wert 0KM/H angezeigt. Warum funktioniert es nicht? Hab ich was übersehen? :evil: ?(

    Hallo,


    ich habe eine Function geschrieben, nur leider gibt es eine Fehlermeldung aus.


    [pwn=1896]forward SendMessageAdmin(color[], text[]);
    public SendMessageAdmin(color[], text[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pAdminlevel] >= 1)
    {
    SendClientMessage(i, color, text);
    }
    }
    }
    return 1;
    }[/pwn]


    [pwn=3023]ocmd:ac(playerid, params[])
    {
    new adminchat[200], ausgabe[250];
    if(isPlayerAnAdmin(playerid, 1))
    {
    if(sscanf(params,"s",adminchat))
    {
    format(ausgabe, sizeof(ausgabe), "(( AC - %s: %s ))", GetName(playerid), adminchat);
    SendMessageAdmin(0xFFF000FF, ausgabe);
    }
    else
    {
    SendClientMessage(playerid, 0xFEFEFEFF, "{00CC1E}Verwende: {002DFF}/ac [Text]");
    }
    }
    else
    {
    SendClientMessage(playerid, 0xCD0900FF, "Du hast nicht die nötigen Rechte!");
    }

    return 1;
    }[/pwn]

    Und die Fehlermeldungen:

    C:\Users\Patrick\Desktop\NGL4\gamemodes\ngl.pwn(1904) : error 035: argument type mismatch (argument 2)
    C:\Users\Patrick\Desktop\NGL4\gamemodes\ngl.pwn(3031) : error 035: argument type mismatch (argument 1)


    Also irgendwas stimmt mit SendMessageAdmin nicht. Aber ich habe es eins zu eins vom alten GM kopiert und da funktioniert s ja.

    @BlackAce


    Ich habe mein Windows auf 8 geupdatet. Und jetzt fehlen beide Dateien (MSVCR100.dll | MSVCP120.dll). Ich habe ganz google abgegogelt und immer wird angezeigt das Microsoft Virsual C++ 2010 installiert sein muss oder die Grafikkarte aktualisiert. Beides habe ich gemacht. Grafikkartentreiber ist auf den neusten Stand und Microsoft Virsual C++ ist auch installiert.


    Trotzdem wird mir die Fehlermeldung weiterhin angezeigt und ich habe keine Ahnung mehr was das Problem beheben könnte. Und im Windows/system32 Ordner sind die 2 Dateien auch vorhanden.


    ?( ?( ?( ?( :(


    PS: Ich habe Windows 8 64 Bit

    Hallo,


    Fehlermeldung:
    C:\Users\Patrick\Desktop\NGL\gamemodes\NGL.pwn(3897) : error 035: argument type mismatch (argument 2)


    [pwn=3873]ocmd:gmsg(playerid,params[])
    {
    new text[200], admrank[50], returns[400];
    if(SpielerInfo[playerid][pAdmin] >= 2) {
    if (SpielerInfo[playerid][pAdmin]==1) {
    format(admrank, sizeof(admrank), "Supporter");
    } else if (SpielerInfo[playerid][pAdmin]==2) {
    format(admrank, sizeof(admrank), "Moderator");
    } else if (SpielerInfo[playerid][pAdmin]==3) {
    format(admrank, sizeof(admrank), "Super Moderator");
    } else if (SpielerInfo[playerid][pAdmin]==4) {
    format(admrank, sizeof(admrank), "Administrator");
    } else if (SpielerInfo[playerid][pAdmin]==5) {
    format(admrank, sizeof(admrank), "Administrator II");
    } else if (SpielerInfo[playerid][pAdmin]==6) {
    format(admrank, sizeof(admrank), "Server Manager");
    } else if (SpielerInfo[playerid][pAdmin]==7) {
    format(admrank, sizeof(admrank), "Projektleiter");
    }



    if(sscanf(params,"s",text)) {
    format(returns, sizeof(returns), "%s - %s: %s", GetName(playerid), admrank, text);
    return SendClientMessageToAll(playerid,0xFF004BFF,returns);
    } else {
    return SendClientMessage(playerid,0x0055FFFF,"Verwende: {00B700}/gmsg [Text]");
    }
    } else {
    return SendClientMessage(playerid, COLOR_RED, "Du hast nicht die nötigen Rechte!");
    }


    return 1;
    }[/pwn]

    Deswegen hängt sich die .exe vom Server nicht auf :/ Ich hab die aktuellesste Version vom Streamer was man sollte.


    EDIT: Jetzt geht die .exe wieder.
    Aber...
    [01:37:56] Error: Function not registered: 'SSCANF_Init'
    [01:37:56] Error: Function not registered: 'SSCANF_Join'
    [01:37:56] Error: Function not registered: 'SSCANF_Leave'
    [01:37:56] Script[gamemodes/NGL.amx]: Run time error 19: "File or function is not found"


    Das wird mir noch angezeigt. SSCANF_Init function ect sind im GM nicht vorhanden.