Beiträge von Sharpadox

    define C1 0xFF0000


    define C1_1 C1FF
    define C1_1 C1AA
    define C1_1 C100


    Das würde nicht gehen.


    Schon das:
    #define C1 0xFF0000
    wird nicht gehen, denn wenn du dann C1FF eingeben würdest, steht da:

    Code
    error 017: undefined symbol "C1FF"



    #define T1 0xFF0000FF
    #define T2 T1


    Würde gehen, aber macht dann wenig Sinn..

    Hey,


    ich habe einen /kaufen Befehl erstellt um ein Haus zu kaufen.
    Also hier erstmal der Code:

    Spoiler anzeigen
    ocmd:kaufen(playerid,params[])
    {
    new i = GetNearestHouse(playerid), data[128];
    if(i == INVALID_HOUSE_ID) return SendClientMessage(playerid,-1,"Du bist nicht in der Nähe eines Hauses.");
    if(GetPlayerHouse(playerid) != INVALID_HOUSE_ID) return SendClientMessage(playerid,-1,"Du besitzt bereits ein Haus.");
    if(strcmp(HouseInfo[i][Besitzer],"Niemand",true)) return SendClientMessage(playerid,-1,"Dieses Haus gehört bereits einem Spieler!");
    else if(GetPlayerMoney(playerid) < HouseInfo[i][Preis]) return SendClientMessage(playerid,-1,"Du hast nicht genügend Geld, um dir dieses Haus zu kaufen!");
    else{
    GivePlayerMoneyEx(playerid,-HouseInfo[i][Preis]);
    format(HouseInfo[i][Besitzer],32,"%s",GetName(playerid));
    HouseInfo[i][Mietbar]=0;
    HouseInfo[i][Miete]=0;
    HouseInfo[i][Locked]=1;
    format(data,128,"Besitzer: %s\nMietbar: NEIN\nAbgeschlossen: %s",HouseInfo[i][Besitzer],GetLocked(i));
    Update3DTextLabelText(House3D[i],0xFF6600FF,data);
    format(data,128,"Du hast dir erfolgreich ein Haus gekauft, und erhältst den Schlüssel mit der Nr. %i ..",i);
    SendClientMessage(playerid,-1,data);
    //UpdateHouseInfo(GetPlayerHouse(playerid));
    return 1;
    }
    }



    Mein Problem ist:
    Immer wenn ich das Haus, mit der ID 0 kaufe, kann ich alles machen: abschließen, verkaufen usw.
    Doch wenn ich ein anderes Haus kaufe, wird er gekauft: Geld abgezogen, 3DText geupdatet ust.
    Doch trotzdem sagt mein Script dann, ich hätte kein Haus, obwohl "Besitzer" sogar auf "Sh12" steht.
    Aber beim Haus 0 geht alles tadellos.. Aber warum? ;/

    Hey,


    wie mache ich eine Funktion, die einen Boolean ausgibt? Ich bekomme immer "tag mismatch"..


    Funktion:
    stock GetPlayerHouse(playerid)
    {
    for(new i=0; i<MAX_HOUSES; i++)
    {
    if(HouseInfo[i][slotUsed]==0) continue;
    if(!strcmp(HouseInfo[i][Besitzer],GetName(playerid),true)) return true;
    break;
    }
    return false;
    }

    Es muss ein Fehler bei den mysql_fetch_field_row(); sein, denn mein Test, ergibt, dass alles als "0" geladen wird:

    &amp;amp;lt;-- Test
    ocmd:check(playerid,params[])
    {
    new string[128];
    for(new i=0; i<MAX_HOUSES; i++)
    {
    if(HouseInfo[i][slotUsed]==0)continue;
    format(string,128,"Besitzer:%s|Preis:%i$|Int:%i|PosX:%f|PosY:%f|PosZ:%f|Mietbar:%i|Miete:%i$|Locked:%i",HouseInfo[i][Besitzer],HouseInfo[i][Preis],HouseInfo[i][Interior],HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z],HouseInfo[i][Mietbar],HouseInfo[i][Miete],HouseInfo[i][Locked]);
    SendClientMessage(playerid,0xCCCCCCFF,string);
    }
    return 1;
    }



    MySQL Debug erkennt diese Sachen wohl ebenfalls alle als Leer:
    http://pastebin.com/rFURYeBi

    Hey,


    ich schreibe momentan ein Haussystem, kann mir einer sagen, warum sie nicht geladen werden?


    stock LoadHouses()
    {
    mysql_query("SELECT * FROM `houses`");
    mysql_store_result();
    if(!mysql_num_rows()) return mysql_free_result();
    new data[100];
    for(new i=0; i<mysql_num_rows(); i++)
    {
    mysql_fetch_field_row("Besitzer",data);
    format(HouseInfo[i][Besitzer],32,"%s",data);
    strdel(data,0,100);
    mysql_fetch_field_row("Interior",data);
    HouseInfo[i][Interior]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Preis",data);
    HouseInfo[i][Preis]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("PosX",data);
    HouseInfo[i][Pos_X]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field_row("PosY",data);
    HouseInfo[i][Pos_Y]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field_row("PosZ",data);
    HouseInfo[i][Pos_Z]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Mietbar",data);
    HouseInfo[i][Mietbar]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Miete",data);
    HouseInfo[i][Miete]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field_row("Locked",data);
    HouseInfo[i][Locked]=strval(data);
    strdel(data,0,100);

    if(strcmp(HouseInfo[i][Besitzer],"Niemand",true,10)==0)
    {
    new hstr[64];
    format(hstr,64,"Besitzer: %s\nPreis: %i$",HouseInfo[i][Besitzer],HouseInfo[i][Preis]);
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(hstr,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    else
    {
    if(HouseInfo[i][Mietbar]==1)
    {
    new hstr[64];
    format(hstr,64,"Besitzer: %s\nMietbar: JA\n Mietpreis: %i$\nAbgeschlossen: %s",HouseInfo[i][Besitzer],HouseInfo[i][Miete],GetLocked(i));
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(hstr,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    else
    {
    new hstr[64];
    format(hstr,64,"Besitzer: %s\nMietbar: NEIN\nAbgeschlossen: %s",HouseInfo[i][Besitzer],GetLocked(i));
    CreatePickup(1273,1,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]);
    Create3DTextLabel(hstr,0xFF6600FF,HouseInfo[i][Pos_X],HouseInfo[i][Pos_Y],HouseInfo[i][Pos_Z]+0.2,20.0,0,0);
    }
    }
    }
    mysql_free_result();
    return 1;
    }

    lol, ich Held.. ich bin heute iwie zu dämlich zum denken ^^


    Habe neu runtergeladen, und beim ersetzen des Includes fiel mir im Script auf, dass ich streamer garnicht inkludiert habe -_-


    Danke :D

    Nichts, ich habe ihn einfach hinzugefügt ^^


    Also inkludiert und die streamer.dll eingefügt.
    Und natürlich in Server.cfg eingetragen.


    Habe aber nichts geändert oder so. Aber das kann
    kein falscher Streamer sein, da es der selbe ist, den
    ich immer benutze :/

    Sicher das es der Streamer ist?
    Downloade dir mal das Plugin hier: http://forum.sa-mp.com/showthread.php?t=262796
    Füge es ein, und starte den Server. Danach zeigst du wieder den Serverlog.


    Nix passiert da:


    Hey,


    ich bekomme KEINE Errors, aber der Incognito Streamer beendet sich einfach selbstständig:
    Why that? I dont understand? :O


    Hey,


    ich bekomme hier immer ein "Server: Unknown Command!", weil anscheinend der Code irgendwo Fehlerhaft ist.
    Kann mir vielleicht einer sagen wo? Errors oder Warnings gibt es keine :/


    ocmd:create(playerid,params[])
    {
    new interior, preis, slot, Float:x, Float:y, Float:z;
    if(sscanf(params,"ii",interior,preis)) return SendClientMessage(playerid,-1,"/create [Größe (/hausbigs)] [Preis]");
    for(new i=0; i<MAX_HOUSES; i++)
    {
    if(HouseInfo[i][slotUsed]==1)continue;
    slot = i;
    HouseInfo[slot][slotUsed]=1;
    break;
    }
    GetPlayerPos(playerid,x,y,z);
    format(HouseInfo[slot][Besitzer],32,"%s","Niemand");
    HouseInfo[slot][Preis] = preis;
    HouseInfo[slot][Interior] = interior;
    HouseInfo[slot][Pos_X] = x;
    HouseInfo[slot][Pos_Y] = y;
    HouseInfo[slot][Pos_Z] = z;
    HouseInfo[slot][Mietbar] = 0;
    HouseInfo[slot][Miete] = 0;
    HouseInfo[slot][Locked] = 1;

    new query[256], hstr[64];
    format(query,256,"INSERT INTO `houses` (`ID`,`Besitzer`,`Preis`,`Interior`,`PosX`,`PosY`,`PosZ`,`Mietbar`,`Miete`,`Locked`) VALUES ('%i','%s','%i','%i','%f','%f','%f','%i','%i','%i')",slot,HouseInfo[slot][Besitzer],preis,interior,x,y,z,0,0,1);
    mysql_query(query);
    format(hstr,64,"Besitzer: %s\nPreis: %s",HouseInfo[slot][Besitzer],preis);

    CreateDynamicPickup(1273,1,x,y,z);
    CreateDynamic3DTextLabel(hstr,0xFF6600FF,x,y,z+0.3,20.0,0,0);
    return 1;
    }

    PHP
    $field = mysql_num_fields( $query );   
    for ( $i = 0; $i < $field; $i++ ) {


    Warum ist i nur die Größer der Felder? Müsstest du nicht auch noch die Zeilen rausschreiben? mysql_num_rows();
    mysql_num_fields
    sind doch nur die Felder der erten Zeile dann oder nicht? Bin mir gerade nicht sicher..

    Oke meine letzte Frage xd
    Ich würde gerne wissen, warum ich (wenn ich die dll erstellt habe), sie im Script nicht verwenden kann.


    Code:

    Spoiler anzeigen
    #include <sampgdk\a_samp.h>
    #include <sampgdk\a_players.h>

    Spoiler anzeigen
    static cell AMX_NATIVE_CALL Test(AMX *amx, const cell *params)
    {
    SendClientMessage(params[0],-1,params[1]);
    return true;
    }


    Mein Compiler sagt dann:

    Code
    [14:32:22]  Loading plugin: test
    [14:32:22]   Plugin does not conform to architecture.
    [14:32:22]   Failed.

    Aber warum xchar[128]; Ein Char hat doch eh nur einen Buchstaben :D



    Geht jetzt endlich. Dankö <3