Beiträge von Jeffry

    Eddy:
    public OnPlayerSpawn(playerid)
    {
    SetSpawnInfo(playerid,0,185,1579.6324,-1327.7070,16.4844,319.4559,0,0,0,0,0,0);
    if(IsPlayerInFrakt(playerid,1))
    {
    SetPlayerPos(playerid,FSpawnInfo[Spieler[playerid][pFraktion]][fspawnx],FSpawnInfo[Spieler[playerid][pFraktion]][fspawny],FSpawnInfo[Spieler[playerid][pFraktion]][fspawnz]);
    SetPlayerInterior(playerid,FSpawnInfo[Spieler[playerid][pFraktion]][fspawnint]);
    SetPlayerVirtualWorld(playerid,FSpawnInfo[Spieler[playerid][pFraktion]][fspawnworld]);
    return 1;
    }
    return 1;
    }


    Einfacher zu sehen wäre es gewesen, wenn du hier mit einer Hilfsvariable für die Fraktions-ID gearbeitet hättest.

    Kann es sein, dass das SetPlayerSkin bei OnPlayerSpawn nicht aufgerufen wird? Setze mal einen Print vor das SetPlayerSkin und schau ob der Print im Log steht, wenn du spawnst.



    EDIT:
    @Aviero: Alles klar, super! :)

    Ok, super!


    Mache beim Login:
    sInfo[playerid][pSkin] = cache_get_field_content_int(0,"skins",dbhandle);
    SetPlayerSkin(playerid,sInfo[playerid][pSkin]);


    Und bei OnPlayerSpawn ganz unten:
    SetPlayerSkin(playerid,sInfo[playerid][pSkin]);


    Natürlich pSkin noch im enum deklarieren.

    Einfach die GetRangName Funktion nehmen und entsprechend mit den Namen befüllen (roter Text). Probiere es mal aus und wenn du es nicht hinbekommst, poste den Code wie du ihn gemacht hast.

    @Rocky: Das wird dir einen Error empty statement geben, wegen dem Semikolon. Außerdem muss es ein Spieler Array sein.;)


    if(Duty[playerid] == 1)

    stock LoadWeapons(playerid)
    {
    new query[256];
    format(query,sizeof(query),"SELECT * FROM Waffen WHERE Name='%s'",PlayerName[playerid]);
    mysql_query(query);
    mysql_store_result();
    mysql_retrieve_row();


    new wstring[10],data[64];
    new waffe, wammo;


    if(mysql_num_rows()==0)
    {
    mysql_free_result();
    format(query,sizeof(query),"INSERT INTO Waffen (Name) VALUES ('%s')",PlayerName[playerid]);
    mysql_query(query);
    return 1;
    }
    for(new i=1; i<=11; i++)
    {
    format(wstring,sizeof(wstring),"Waffe%i",i);
    mysql_fetch_field_row(data,wstring);
    waffe=strval(data);
    format(wstring,sizeof(wstring),"Ammo%i",i);
    mysql_fetch_field_row(data,wstring);
    wammo=strval(data);
    GivePlayerWeapon(playerid,waffe,wammo);
    format(str,144,"UPDATE Waffen SET Ammo%i='0' WHERE Name='%s'",i,PlayerName[playerid]);
    mysql_query(str);
    }
    mysql_fetch_field_row(data,"Armor");
    mysql_free_result();
    wammo=strval(data);
    SetPlayerArmour(playerid,wammo);
    SetPVarInt(playerid,"waffengeladen",1);
    return 1;
    }


    mysql_retrieve_row(); hat gefehlt sehe ich grade. Das braucht man ja beim R5 noch. Teste es mal so.

    Achso, du meinst das so. Ok, dann musst du noch das hier ändern zu:
    stock UpdateHaus(id)
    {
    new str[128];
    if(hInfo[id][h_pickup] != -1)
    {
    DestroyPickup(hInfo[id][h_pickup]);
    }
    if(hInfo[id][h_text] != Text3D:-1)
    {
    Delete3DTextLabel(hInfo[id][h_text]);
    }
    if(!strlen(hInfo[id][hBesitzer]))
    {
    hInfo[id][h_pickup] = CreatePickup(1273, 1, hInfo[id][hX], hInfo[id][hY], hInfo[id][hZ], -1);
    format(str,sizeof(str), "HausID: %i\nZu Verkaufen\nPreis: %i$\n/hauskaufen", hInfo[id][hID], hInfo[id][Preis]);
    hInfo[id][h_text] = Text3D:Create3DTextLabel(str, WEISS, hInfo[id][hX], hInfo[id][hY], hInfo[id][hZ], 10, 0, 1);
    } else {
    hInfo[id][h_pickup] = CreatePickup(1272,1,hInfo[id][hX],hInfo[id][hY],hInfo[id][hZ], -1);
    format(str,sizeof(str), "HausID: %i\nBesitzer: %s\n'F' zum hinein gehen.", hInfo[id][hID], hInfo[id][hBesitzer]);
    hInfo[id][h_text] = Text3D:Create3DTextLabel(str, GELB, hInfo[id][hX], hInfo[id][hY], hInfo[id][hZ], 10, 0, 1);
    }
    return 1;
    }


    Und natürlich:
    for(new i=0; i<sizeof(hInfo); i++)
    {
    hInfo[i][h_text] = Text3D:-1;
    hInfo[i][h_pickup] = -1;
    }