Beiträge von [LP]Tochnas

    Hallo habe ein Gangzonensystem geschrieben, er ladet es und erstellt sie auch,
    dennoch wenn ich in die Zone hinein gehe und gebe /test ein bekomme ich den Zonennamen nicht angezeigt.


    /test ist nur drine ob das ich das System auch richtig geschrieben habe... zum testen halt.


    So sollte es aussehen:
    Sektor: No-Name


    So sieht es aus:
    Sektor:


    Code zur Namenabfrage der Zone:
    stock CheckSektorName(playerid)
    {
    new str[16];
    for(new i = 0; i <System[SektorOnline]; i++)
    {
    if(IsPlayerInArea(playerid, SektorInfo[i][sX1],SektorInfo[i][sY1],SektorInfo[i][sX2],SektorInfo[i][sY2]))
    {
    format(str, sizeof(str), "%s",SektorInfo[i][sName]);
    break;
    }
    }
    return str;
    }


    IsPlayerInArea:
    stock IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X <= MinX && X >= MaxX && Y <= MinY && Y >= MaxY) {
    return 1;
    }
    return 0;
    }


    und zuguter letzt die Funktion wo den Zonennamen anzeigt.
    stock GenerateNeeds(playerid)
    {
    new string[256];
    format(string, 256, "~r~%s [UID: %d]~n~~n~~r~SAD: ~y~%d~n~~r~Erfahrung: ~w~%d~n~~r~Ehre: ~w~%d~n~~r~Level: ~w~%d~n~~r~Clan: ~w~%s~n~~r~Sektor: ~w~%s",
    SpielerInfo[playerid][pName], SpielerInfo[playerid][pUID], SpielerInfo[playerid][pSAD], SpielerInfo[playerid][pEXP],
    SpielerInfo[playerid][pEhre], SpielerInfo[playerid][pLevel],PlayerClan(SpielerInfo[playerid][pClan]), CheckSektorName(playerid));
    TextDrawSetString(SpielerInfo[playerid][Needs], string);
    return 1;
    }


    Ich hoffe ihr könnt mir helfen....


    Tochnas

    Also ist keine Gute Idee....


    Der Scripter ist mit seinem Script ein Herz und eine Seele...
    Also ich könnte keinen anderen darin rum fummeln lassen,
    aus Angst ich muss mich wieder zurrecht finden oder er baut ein Bug ein oder hin und her.
    Deswegen empfehle ich nur ein Scripter, denn er weis was er Scriptet und wie er was definiert hat.


    Meine Meinung hierzu.

    Hallo ich habe einen Handel erstellt, wo ich Sachen ersteigern kann,
    es Funktioniert alles wie geplant, doch im Herzstück des System hängt es.
    Glaube habe etwas falsch gemacht mit den MySQL-Befehlen, finde den Fehler aber nicht.


    Also beim printf erscheint der Name des Spielers nicht und die Datenbank vehicles wird nicht aktualiesiert, obwohl die UserID stimmt.


    Könntet Ihr vielleicht mal drüber schauen ?


    stock HandelFunction()
    {
    for(new i = 0; i <MAX_WAREN; i++)
    {
    if(HandelInfo[i][hUser] != 0)
    {
    switch(HandelInfo[i][hArt])
    {
    case 0:
    {
    new mainquery[512],Name[24];
    strcat(mainquery,"UPDATE `vehicles` SET `Model` = '411' WHERE `ID` = '%d'", HandelInfo[i][hUser]);
    mysql_query(mainquery);
    new str[1024];
    mysql_query("SELECT `Name` FROM `accounts` WHERE `UID` = '%d'", HandelInfo[i][hUser]);
    mysql_store_result();
    while(mysql_fetch_row(str))
    {
    sscanf("s[24]",Name);
    }
    mysql_free_result();
    printf("%s hat den Infernus für $%d ersteigert.", Name, HandelInfo[i][hGebot]);
    }
    }
    }
    HandelInfo[i][hUser] = 0;
    HandelInfo[i][hGebot] = 0;
    }
    return 1;
    }

    1. Du Speicherst dein Datum und Uhrzeit in der MySQL-Tabelle
    2. Bei OnPlayerConnect rufst du die gespeicherten Werte ab und wiedergibst dem Spieler
    3. Nach wiedergeben der Informationen an den Spieler speicherst du die neuen Werte.


    Das wars schon.

    symbol already defined: "strcat" -> strcat hast du bereits definiert, irgendwo hast du strcat falsch angewendet, oder Aktualiesiere mal deine Standart Includes.
    symbol is never used: "fullstr" -> fullstr wird ist Definiert aber wird nicht benutzt. Hängt wahrscheinlich mit dem oberen zusammen.

    60, //"Landstalker",
    60,//"Bravura",
    60,//"Buffalo",
    60,//"Linerunner",
    100,//"Pereniel",
    100,//"Sentinel",
    100,//"Dumper",
    100,//"Firetruck",


    Wie du siehst habe ich die Fahrzeug namen hinten dran, deswegen sind die untereinander gereit, damit ich später eventuell
    bei einem Fahrzeug das Ändern kann ohne zu zählen !!

    Le FlasH
    Danke für deine Verbesserungen und Erklärungen.
    Zu Verbesserung 4 wie schon zu Sh13 gesagt.

    Zitat

    Ich benutze nicht MAX_PLAYERS,
    sonder PlayerOnServer, ich benutze das um die for schleife auch nur wirklich so oft laufen zu lassen wieviele Spieler auch auf dem Server sind.


    @Andrzejxy'
    Verstehe ich nicht ganz


    @Sh13
    Habe das ja nur gesagt, weil du ja geschrieben hattest 495x weitere durchläufe, deswegen.
    Aber danke für die Information, das mit dem break; wusste ich nicht

    Ist schon klar, es ging mir hier nur um die Übersicht, denn was bringts wenn er nur Copy & Paste macht und weiß net was er macht,
    bzw wofür die Funktion jetzt gut ist und was die auslöst. Durch rumfuchteln kommt man darauf :D Aber Trotzdem danke für die Erklärung