Skocz do zawartości

Plajcyt

Użytkownik
  • Zawartość

    60
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez Plajcyt

  1. Witam chcę stworzyć listę postaci w textdrawie jakie gracz posiada ale nie mam pojęcia jak to ma wyglądać. Zrobiłem sobie to w gui i jest dobrze ale chciał bym to przenieść na textdraw bo jest więcej możliwości zrobienia takiego panelu niż przeskakiwać z gui do gui (logowanie, usuwanie i tworzenie i takie tam inne bajery) Chodzi mi tylko by ktoś mi pokazał jak użyć textdrawu w tym kodzie: By tak jak w gui postać była pod postacią np: Twoje postacie: Plajcyt Plajcyt2 itd... FuncPub::OnPlayerLogin(playerid, global_id) { new buffer[100], row[32], uid, name[MAX_PLAYER_NAME]; new lista[32], list[160]; format(buffer, sizeof buffer, "SELECT uid, name FROM rrp_players WHERE guid = %d LIMIT 5", global_id); mysql_query(buffer); mysql_store_result(); if(mysql_num_rows() != 0) { while(mysql_fetch_row_format(row, "|") == 1) { sscanf(row, "p<|>ds[24]", uid, name); //printf("UID: %d | Name: %s", uid, name); format(lista, sizeof lista, "%d\t%s", uid, name); format(list, sizeof list, "%s\n%s", list, lista); } new charlist[256]; format(charlist, sizeof charlist, "Stwórz postać\nUID:\tImię i nazwisko:\n%s", list); ShowPlayerDialog(playerid, GUI_CHARACTER_LIST, DIALOG_STYLE_LIST, "{33cc33}Real-RP >> {ffffff}Lista postaci", charlist, "Zatwierdź", "Wyjdź z gry"); } else { ShowPlayerDialog(playerid, GUI_CHARACTER_LIST, DIALOG_STYLE_LIST, "{33cc33}Real-RP >> {ffffff}Lista postaci", "Stwórz postać", "Zatwierdź", "Wyjdź z gry"); } mysql_free_result(); return 1; }
  2. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    Wszystko pięknie teraz działa . Teraz problem z tym przypisaniem UID postaci do danego textdrawu... Po prawdzie nie mam pojęcia jak to zrobić.
  3. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    A powiedz mi czy tak się da? Zrobić 5 tekstdrawów w pętli tak np: for(new i = 0; i < MAX_CHARACTERS; i++) { CharacterListText[playerid][i] = CreatePlayerTextDraw(playerid, 20.0, 240.0, "_"); PlayerTextDrawUseBox(playerid, CharacterListText[playerid][i], 1); PlayerTextDrawBoxColor(playerid, CharacterListText[playerid][i], 0x00000066); PlayerTextDrawLetterSize(playerid, CharacterListText[playerid][i], 0.3, 0.8); PlayerTextDrawAlignment(playerid, CharacterListText[playerid][i], 0); PlayerTextDrawBackgroundColor(playerid, CharacterListText[playerid][i], 0x000000cc); PlayerTextDrawFont(playerid, CharacterListText[playerid][i], 1); PlayerTextDrawTextSize(playerid, CharacterListText[playerid][i], 150.0, 100.0); PlayerTextDrawColor(playerid, CharacterListText[playerid][i], 0xFFFFFFFF); PlayerTextDrawSetOutline(playerid, CharacterListText[playerid][i], 1); PlayerTextDrawSetProportional(playerid, CharacterListText[playerid][i], 1); PlayerTextDrawSetShadow(playerid, CharacterListText[playerid][i], 1); PlayerTextDrawSetSelectable(playerid, CharacterListText[playerid][i], 1); }I jak zrobić by każdy był o 20 pikseli niżej by wyglądało to że jeden jest pod drugim? co muszę dać tutaj: CreatePlayerTextDraw(playerid, 20.0, 240.0, "_");pod liczbą 240.0 ??
  4. Plajcyt

    [ROZWIĄZANY]UID domu

    Pętla na wszystkie domy i sprawdzasz w tej pętli czy gracz znajduje się x, y, z tego domu zazwyczaj przed wejściem lub wyjsciem (drzwi itp). Jeśli znajduje się w jakiejś pozycji pobieranej z bazy danych lub z pliku (jeśli na plikach) to podajesz jego UID i inne dane jakie chcesz. Tu masz przykład z mojej komendy na zamykanie drzwi, na pobieranie danych będziesz miał to samo. new doorid = -1; for(new h = 0; h < sizeof(DoorData); h++) { if(DoorData[h][dUID] != 0) { if(PlayerToPoint(3.0, playerid, DoorData[h][dEnterX], DoorData[h][dEnterY], DoorData[h][dEnterZ]) || PlayerToPoint(3.0, playerid, DoorData[h][dExitX], DoorData[h][dExitY], DoorData[h][dExitZ])) { doorid = h; } } }
  5. Plajcyt

    [ROZWIĄZANY]Prace dorywcze- problem ze zrozumieniem

    Ja bym zrobił to tak, że poszukał bym jakiegoś skryptu na wyścigi i na jego podstawie zrobił bym pracę kuriera .
  6. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    A jak zrobię by po wybraniu danej postaci kod wiedział że wybrałem postać o danym UID w gui wygląda to tak a tu?? Kod z gui: if(dialogid == GUI_CHARACTER_LIST) { if(!response) Kick(playerid); new uid = strval(inputtext); //printf("%d", uid); if(uid != 0) { printf("Buton wyboru postaci"); } }
  7. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    Wygodniejszy ale brzydki Zrobił byś mi przykład takiej pętli na 2 do 3 powtórzeń? Tylko taki szkic roboczy Założeniem moim jest takie by każdy mógł mieć max 5-10 postaci na konto.
  8. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    No ok działa. Ale po najechaniu podświetla mi wszystkie Nicki jak zrobić by poswietlało tylko ten na który najadę? Pewnie będę musiał dla każdego z osobna zrobić nowy TD tylko jak to wykonać tak żeby jeden był pod drugim i żeby to było dynamiczne jeśli gracz ma 3 postacie to 3x a jeśli 5 to 5x ??
  9. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    W którym to miejscu mam dodać?? Dałem to tak SelectTextDraw(playerid, 0xFF4040AA); PlayerTextDrawShow(playerid, CharacterListText[playerid][0]); PlayerTextDrawSetString(playerid, CharacterListText[playerid][0], list); PlayerTextDrawSetSelectable(playerid, CharacterListText[playerid][0], 1);I nawet nie podświetla po najechaniu myszką. Jest jakiś poradnik na temat tworzenia takich textdrawów?
  10. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    Dobra zrobiłem takie coś ale jak dałem wg. wiki sampa by móc klikać na textdraw to coś nie działa. Tak to wygląda mniej więcej i jak teraz zrobić by gracz mógł wybrać sobie którąś postać klikając na nick i żeby dalej coś się działo. tutaj dam OnPlayerConnect: FuncPub::OnPlayerConnect(playerid) { if(playerid > MAX_PLAYERS) return Kick(playerid); CharacterListText[playerid][0] = CreatePlayerTextDraw(playerid, 20.0, 240.0, "_"); PlayerTextDrawUseBox(playerid, CharacterListText[playerid][0], 1); PlayerTextDrawBoxColor(playerid, CharacterListText[playerid][0], 0x00000066); PlayerTextDrawLetterSize(playerid, CharacterListText[playerid][0], 0.3, 0.8); PlayerTextDrawAlignment(playerid, CharacterListText[playerid][0], 0); PlayerTextDrawBackgroundColor(playerid, CharacterListText[playerid][0], 0x000000cc); PlayerTextDrawFont(playerid, CharacterListText[playerid][0], 1); PlayerTextDrawTextSize(playerid, CharacterListText[playerid][0], 150.0, -9.0); PlayerTextDrawColor(playerid, CharacterListText[playerid][0], 0xFFFFFFFF); PlayerTextDrawSetOutline(playerid, CharacterListText[playerid][0], 1); PlayerTextDrawSetProportional(playerid, CharacterListText[playerid][0], 1); PlayerTextDrawSetShadow(playerid, CharacterListText[playerid][0], 1); ...(reszta kodu nie potrzebna) return 1; }A Tutaj funkcję odpowiadającą za listę postaci: FuncPub::OnPlayerCharacterList(playerid, global_id) { new buffer[100], row[32], uid, name[MAX_PLAYER_NAME]; new lista[32], list[160]; format(buffer, sizeof buffer, "SELECT uid, name FROM rrp_players WHERE guid = %d LIMIT 5", global_id); mysql_query(buffer); mysql_store_result(); if(mysql_num_rows() != 0) { while(mysql_fetch_row_format(row, "|") == 1) { sscanf(row, "p<|>ds[24]", uid, name); //printf("UID: %d | Name: %s", uid, name); format(lista, sizeof lista, "%d~>~%s", uid, name); format(list, sizeof list, "%s~n~%s", list, lista); } PlayerTextDrawShow(playerid, CharacterListText[playerid][0]); PlayerTextDrawSetString(playerid, CharacterListText[playerid][0], list); PlayerTextDrawSetSelectable(playerid, CharacterListText[playerid][0], 1); } else { } mysql_free_result(); return 1; }
  11. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    Ok pobawię się zobaczę jak coś napiszę dzięki za wskazówki. Temat jeszcze nie rozwiązany jak by co
  12. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    Nie potrzebuję żadnych pętli żeby dla każdej postaci stworzyć osobny button(TextDraw) ??
  13. Plajcyt

    [ROZWIĄZANY]Lista postaci w textdrawie

    No ok ale jak teraz będę chciał wybrać którąś z postaci klikając na TextDraw? I gracz ma kilka postaci do wyboru. Stworze sobie box w tym boxie ma być pseudo lista (na razie pseudo ) i żeby to wyglądało jak lista, wybierasz postać i dalej co ma się dziać już sobie ogarne.
  14. Plajcyt

    Podzielenie Los Santos na GangZone

    Normalnie zbierasz kordy i robisz.
  15. Plajcyt

    Blokada.

    Na moje to coś związane z OnPlayerKeyStateChange + ClearAnimations. Coś na zasadzie blokady skakania (anty bunny hop)
  16. Plajcyt

    Gamemod i zcmd

    #up ślepy? Wojtek020699 Nie jestem taką internetową pyrą jak ty żeby znać te znaczki robię jak mi się podoba a na tym gta coś tam nie mam nawet konta. Połowa tych twoich postów to pewnie coś w stylu tego na co zwróciłem uwagę. Zresztą nie będę się z tobą siłował bo za stary jestem na takie gierki. Zapewne liczby w twoim nicku mówią o drugi czerwca 1999r mam racje?? Bo gdybym się pierwszy raz w trawę nie spuścił to był był twoim ojcem.
  17. Plajcyt

    TEMAT DO USUNIĘCIA

    Do usunięcia poradziłem sobie bez was...
  18. Plajcyt

    TEMAT DO USUNIĘCIA

    del
  19. Plajcyt

    Ogólna sytuacja na forum. Stosunki między rangami.

    Co wam to przeszkadza? Mi do szczęścia nie jest potrzebny Avatar czy Sygnatura a tym bardziej shitbox. Nie mam tu kolegów, wchodzę tylko na dział pawno, zaglądam w tematy i tyle. Połowa z was krzykaczy i płaczków nawet nie ma pojęcia jak ciężko jest prowadzić takie forum. Większość nie poradziła by sobie nawet z 20 userami...
  20. Plajcyt

    CreateObject i CreateDynamicObject

    Zrób sobie freezowanie gracza na 2 sekundy bo może obiekty za wolno się wczytują. To w kodzie gdzie wchodzisz do interiorku TogglePlayerControllable(playerid, false); SetTimerEx("UnFreeze", 2000, false, "i", playerid); A to na górze przy definicjach #define UnFreeze(%0) TogglePlayerControllable(%0, true)
  21. Plajcyt

    GameMode oparty o MySQL - Część 2

    Jak używasz notepad++ i tworzyłeś w nim nowy plik jako ctrl+n to zmień kodowanie w opcjach(format) na UTF8(bez BOM) lub ANSI Miałem to samo i mi to pomogło
  22. Plajcyt

    CreateObject i CreateDynamicObject

    herligho232 Ostatni parametr jest automatycznie na 200.0 ustawiony zmień sobie: CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0); Ponadto: worldid = -1 oznacza że wyświetli we wszystkich worldach, interiorid = -1 to samo co wyżej tylko że dla intków, playerid = -1 dla wszystkich graczy jak chcesz dla konkretnego to dajesz tu playerid, streamdistance = 200.0 to już pisałem wyżej odległość.
  23. Plajcyt

    CreateObject i CreateDynamicObject

    CreatePlayerObject masz limit do 1000 i w CreateDynamicObject jest parametr dla gracza domyślnie ustawiony -1 czyli dla każdego jak zmienisz na playerid to wyświetli tylko temu graczu. #up szybszy.
  24. Plajcyt

    Muzyka

    if(MovecameraCount[playerid] == 0) { InterpolateCameraPos(playerid, 1698.9635, -1975.9434, 73.5100, 1543.7468, -1715.2642, 29.4066, MOVETIME + 3000, CAMERA_MOVE); InterpolateCameraLookAt(playerid, 1543.7468, -1715.2642, 29.4066, 1496.1156, -1745.0728, 15.4122, MOVETIME + 3000, CAMERA_MOVE); MovecameraCount[playerid] = 1; } else if(MovecameraCount[playerid] == 1) { InterpolateCameraPos(playerid, 1543.7468, -1715.2642, 29.4066, 1277.5309, -1736.0372, 13.3312, MOVETIME + 3000, CAMERA_MOVE); InterpolateCameraLookAt(playerid, 1496.1156, -1745.0728, 15.4122, 1284.2826, -1685.6812, 16.7643, MOVETIME + 3000, CAMERA_MOVE); MovecameraCount[playerid] = 2; } else if(MovecameraCount[playerid] == 2) { InterpolateCameraPos(playerid, 1277.5309, -1736.0372, 13.3312, 1359.6582, -1354.4332, 56.1082, MOVETIME + 3000, CAMERA_MOVE); InterpolateCameraLookAt(playerid, 1284.2826, -1685.6812, 16.7643, 1330.8595, -1416.6991, 15.7816, MOVETIME + 3000, CAMERA_MOVE); MovecameraCount[playerid] = 3; } else if(MovecameraCount[playerid] == 3) { InterpolateCameraPos(playerid, 1359.6582, -1354.4332, 56.1082, 617.3528, -1391.7230, 18.3590, MOVETIME + 3000, CAMERA_MOVE); InterpolateCameraLookAt(playerid, 1330.8595, -1416.6991, 15.7816, 642.4980, -1439.2944, 15.3911, MOVETIME + 3000, CAMERA_MOVE); MovecameraCount[playerid] = 4; } else if(MovecameraCount[playerid] == 4) { InterpolateCameraPos(playerid, 617.3528, -1391.7230, 18.3590, 691.4628, -1952.7185, 57.2373, MOVETIME + 3000, CAMERA_MOVE); InterpolateCameraLookAt(playerid, 642.4980, -1439.2944, 15.3911, 908.4006, -1823.7035, 14.1942, MOVETIME + 3000, CAMERA_MOVE); MovecameraCount[playerid] = 0; } MovecameraCount[playerid] = 1; Robisz sobie zmienną która przechowuje numer kamery na ktorej jesteś i tylko zmieniasz jak dojdzie do końca to przełącza na 2 itp itd gdzieś jest poradnik wideo jednego gościa na YT. To jest przykład z mojego gamemoda może coś cię oświeci.
×