Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-12-24, 23:28


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

witam robie sobie wybiera?ke mam prze??czniki:

Pawn
if(clickedid == TDwyb[1])
{
//zmiana skinu
}

if(clickedid == TDwyb[2])
{
//zmiana skinu
}


Pokazuje tym kodem skina:
Pawn
TextDrawSetPreviewModel(TDwyb[3], 12);
TextDrawShowForPlayer(playeridTDwyb[3]);
SetPlayerSkin(playerid12);


teraz mam pytanie jak zrobi? ?eby prze??cza? te skiny na takie jakie chce sobie podac tylko niewiem gdzie to podac xD tymi dwoma przyciskami. bo nie potrafie tego kompletnie przegl?dam wybiera?ki ale nie rozumiem xD

Ostatnio zmieniony przez ToxiC. 2016-12-25, 13:26, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-26, 22:14


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

Pawn
if(clickedid == TDwyb[1])
{
if(Plec[playerid] == 1)//m??czyzna
{
if(Skin[playerid] <= 298)
{
TextDrawSetPreviewModel(TDwyb[3], rSkin[playerid]+1);
SetPlayerSkin(playeridrSkin[playerid]+1);
}
if(Skin[playerid] == 299)
{
TextDrawSetPreviewModel(TDwyb[3], 0);
SetPlayerSkin(playerid0);
}
TextDrawShowForPlayer(playeridTDwyb[3]);
}
if(Plec[playerid] == 2)//kobieta
{
if(Skin[playerid] <= 298)
{
TextDrawSetPreviewModel(TDwyb[3], rSkin[playerid]+1);
SetPlayerSkin(playeridrSkin[playerid]+1);
}
if(rSkin[playerid] == 299)
{
TextDrawSetPreviewModel(TDwyb[3], 0);
SetPlayerSkin(playerid0);
}
TextDrawShowForPlayer(playeridTDwyb[3]);
}
}


Zrobi?em ju? to sam ale teraz mam jeden problem chce to w?asnie podzielic ze skiny kobiet oddzielnie i skiny mezczyzn oddzielnie tak dzia?a bez zarzut?w ale chce to podzielic na p?e? jescze jak to zrobi??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 13:30


borsuk







Wiek: 17
Na forum: 3547 dni
Posty: 468

Piwa: 15622

Respekt: 412
Respekt: 412

Ostrzeżeń: 80%
Ten kod wygl?da bardzo dziwnie mo?esz wyt?umaczy? jak to dzia?a ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 17:08


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

Rskin to pobranie skina gracza
Czyli hezeli gracz ma dkin 0 dodaje 1 i wychodzi jeden jezeli 2 to samo itd... jezeli 299 ustawi skina na 0


chce ten kod zoptymalizowa?: Bo gdy jest 5 skin?w to ok ale jak chce dac 60 skin?w to b?dzie to nieoptymalne
Pawn
if(rSkin[playerid] <= 6)
{
TextDrawSetPreviewModel(TDRejestr[22], rSkin[playerid]+1);
SetPlayerSkin(playeridrSkin[playerid]+1);
return 1;
}
else if(rSkin[playerid] == 7)
{
TextDrawSetPreviewModel(TDRejestr[22], 14);
SetPlayerSkin(playerid14);
return 1;
}
else if(rSkin[playerid] == 14)
{
TextDrawSetPreviewModel(TDRejestr[22], 15);
SetPlayerSkin(playerid15);
return 1;
}
else if(rSkin[playerid] == 15)
{
TextDrawSetPreviewModel(TDRejestr[22], 299);
SetPlayerSkin(playerid299);
return 1;
}
else if(rSkin[playerid] == 299)
{
TextDrawSetPreviewModel(TDRejestr[22], 0);
SetPlayerSkin(playerid0);
return 1;
}


[ Dodano: 2016-12-27, 17:09 ]
wiem ze mozna jakis case uzy? do tego ale jak? prosz? o pomoc :arrow: :arrow: :piwo: :piwo: :piwo: :piwo: :piwo: :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 18:02


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Pobierz sobie jaki? skrypt, kt?ry to zawiera, np. m?j. Pami?tam te?, ?e by? sam filterscript takiej wybiera?ki, musisz poszuka?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 18:50


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

tylko ze tam s? wszystkie skiny.. tak jak u mnie a ja chce niekt?re wiec twoj nic nie wnosi. moje dzia?a tylko chce poprostu optymalniej bo 1klinijek na g?upi 1 prze??cznik to troche za du?o

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 19:17


WWilk1







Wiek: 30
Na forum: 4699 dni
Posty: 116
Nick w MP: eep.Wilk

Piwa: 147

Respekt: 130
Respekt: 130

Chcesz za pomoc? switch'a to trzymaj:

Pawn
switch(rSkin[playerid])
{
    case 0..6:
    {
        TextDrawSetPreviewModel(TDRejestr[22], rSkin[playerid]+1);
        SetPlayerSkin(playeridrSkin[playerid]+1);
    }
    case 7:
    {
        TextDrawSetPreviewModel(TDRejestr[22], 14);
        SetPlayerSkin(playerid14);
    }
    case 14:
    {
        TextDrawSetPreviewModel(TDRejestr[22], 15);
        SetPlayerSkin(playerid15);
    }
    case 15:
    {
        TextDrawSetPreviewModel(TDRejestr[22], 299);
        SetPlayerSkin(playerid299);
    }
}


Ja gdybym mia? zrobi? wiele r??nych skin?w do swojej wybiera?ki to nie bawi?bym si? switchem tylko zrobi?bym za pomoc? tablicy lokalnej ze swoimi skinami i jednego warunku z PVarem kt?ry sprawdza?by przy wciskaniu wstecz czy jest na pierwszym skinie i zmienia? warto?? PVara na ostatni index w tablicy gdy da?by zn?w wstecz, a poza warunkiem tylko odejmowa?. Dodawa? gdyby wciska? dalej. Warto?? PVara odpowiada?aby indexowi w tablicy.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 19:36


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

nie musi byc za pomoc? switcha chodzi o optymalizacje jak mozesz pokaz jak bys to zrobi?
przycisk do przodu:
if(clickedid == TDwyb[2])
{
//zmiana skinu
}

do ty?u:
if(clickedid == TDwyb[1])
{
//zmiana skinu
}

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 20:37


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Przeczyta?e? mo?e wy?ej co napisa? kolega? Zapewne nie

Cytat:

tablicy lokalnej ze swoimi skinami i jednego warunku


Wiesz jak stworzy? tablic?? Wiesz jak zrobi? warunek?

Kod:

new const SkinArray[] = {0, 15, 18, 23, 230}; //id skinow

if(clickedid == TDwyb[2])
{
//zmiana skinu
}

do ty?u:
if(clickedid == TDwyb[1])
{
//zmiana skinu
}


W tym kodzie nast?pnym/poprzednim skinem b?dzie warto?? tablicy SkinArray na indeksie rSkin[playerid] (czyli SkinArray[rSkin[playerid]]). Pami?taj, aby sprawdza?, czy podczas cofania do ty?u rSkin wynosi 0, bo wyjedziesz poza zakres - to samo w drug? stron?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-27, 20:50


WWilk1







Wiek: 30
Na forum: 4699 dni
Posty: 116
Nick w MP: eep.Wilk

Piwa: 147

Respekt: 130
Respekt: 130

?ap gotowca z dok?adnym opisem

Pawn
new const Skins[6] = {014182449107}; 
//przyk?adowe ID skin?w. Wpisa?em 6 poniewa? tyle mamy skin?w. Pierwszy index tablicy to 0, ostatni 5. Przy tworzeniu tablicy dodajemy 1.

//do przodu
if(clickedid == TDwyb[2]) 
{
    if(GetPVarInt(playerid"SelectSkin") == 5//sprawdzamy czy po prze??cza? do ostatniego skinu
    {
        SetPVarInt(playerid"SelectSkin"0); //dajemy pierwszy index tablicy skoro ju? wszystkie po prze??cza?
        TextDrawHideForPlayer(playeridTDRejestr[22]);
        TextDrawSetPreviewModel(TDRejestr[22], Skins[0]); //przypisujemy pierwszy index tablicy czyli 0
        TextDrawShowForPlayer(playeridTDRejestr[22]);
        SetPlayerSkin(playeridSkins[0]); //przypisujemy pierwszy index tablicy czyli 0
    }
    else
    {
        new sSkin GetPVarInt(playerid"SelectSkin") + 1;
        SetPVarInt(playerid"SelectSkin"Skins[sSkin]);
        TextDrawHideForPlayer(playeridTDRejestr[22]);
        TextDrawSetPreviewModel(TDRejestr[22], Skins[sSkin]);
        TextDrawShowForPlayer(playeridTDRejestr[22]);
        SetPlayerSkin(playeridSkins[sSkin]);
    }
    return 1;
}

if(clickedid == TDwyb[1]) //do ty?u
{
    if(GetPVarInt(playerid"SelectSkin") == 0//sprawdzamy czy ju? po prze??cza? do pierwszego skinu
    {
        SetPVarInt(playerid"SelectSkin"5); //dajemy ostatni index tablicy czyli ostatni skin skoro ju? wszystkie po prze??cza?
        TextDrawHideForPlayer(playeridTDRejestr[22]);
        TextDrawSetPreviewModel(TDRejestr[22], Skins[5]); //przypisujemy ostatni index tablicy czyli 5
        TextDrawShowForPlayer(playeridTDRejestr[22]);
        SetPlayerSkin(playeridSkins[5]);  //przypisujemy ostatni index tablicy czyli 5
    }
    else
    {
        new rSkin GetPVarInt(playerid"SelectSkin") - 1;
        SetPVarInt(playerid"SelectSkin"Skins[rSkin]);
        TextDrawHideForPlayer(playeridTDRejestr[22]);
        TextDrawSetPreviewModel(TDRejestr[22], Skins[rSkin]);
        TextDrawShowForPlayer(playeridTDRejestr[22]);
        SetPlayerSkin(playeridSkins[rSkin]);
    }
    return 1;
}


Taka ciekawostka dla niedoinformowanych o zmiennych static/const/stock
http://gtao.pl.com/showthread.php?t=285994

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-28, 12:17


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

Dzia?a ale mam problem:

Pawn
if(clickedid == TDWyb[1])
{
if(sPlec[playerid] == 0)//niewybra?
{
ShowPlayerDialog(playerid50"Rejestracja""Najpierw musisz wybra? p?e?""Ok""");
}
if(sPlec[playerid] == 1)//m??czyzna
{
    if(GetPVarInt(playerid"SelectSkinM") == 0)
    {
        SetPVarInt(playerid"SelectSkinM"135);
        TextDrawSetPreviewModel(TDWyb[2], SkinM[135]);
        TextDrawShowForPlayer(playeridTDWyb[2]);
        SetPlayerSkin(playeridSkinM[135]);
    }
    else
    {
        new SkinsS GetPVarInt(playerid"SelectSkinM") - 1;
        SetPVarInt(playerid"SelectSkinM"SkinsS);
        TextDrawSetPreviewModel(TDWyb[2], SkinM[SkinsS]);
        TextDrawShowForPlayer(playeridTDWyb[2]);
        SetPlayerSkin(playeridSkinM[SkinsS]);
    }
}
if(sPlec[playerid] == 2)//kobita
{
    if(GetPVarInt(playerid"SelectSkinK") == 0)
    {
        SetPVarInt(playerid"SelectSkinK"56);
        TextDrawSetPreviewModel(TDWyb[2], SkinK[56]);
        TextDrawShowForPlayer(playeridTDWyb[2]);
        SetPlayerSkin(playeridSkinK[56]);
    }
    else
    {
        new SkinsK GetPVarInt(playerid"SelectSkinK") - 1;
        SetPVarInt(playerid"SelectSkinK"SkinsK);
        TextDrawSetPreviewModel(TDWyb[2], SkinK[SkinsK]);
        TextDrawShowForPlayer(playeridTDWyb[2]);
        SetPlayerSkin(playeridSkinK[SkinsK]);
    }
}
}


new SkinK[57] ={9,11,12,13,40,41,54,55,56,64,65,69,76,85,90,91,93,129,130,131,141,148,150,152,157,169,190,191,192,193,194,195,198,199,201,207,211,214,215,216,219,224,225,226,231,232,233,237,238,243,245,251,256,257,263,298};
new SkinM[136] = {0,1,2,3,4,5,6,7,14,15,17,18,19,21,22,23,24,25,26,28,29,30,34,35,36,37,43,44,45,46,47,48,51,52,57,58,59,60,66,67,68,72,73,80,81,82,83,84,86,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,133,135,136,137,142,143,144,146,147,153,154,156,158,159,161,163,164,165,166,170,173,174,175,176,177,179,180,181,184,185,186,187,188,189,202,208,210,212,217,220,221,222,223,227,228,230,235,240,241,242,247,248,249,250,252,254};


pokazuje mi skiny do pewnego momentu a w tych ostatnich pokazuje CJa nwm moze jest ich za duzo? czy o co chodzi policzone napewno dobrze bo sprawdzane 3 razy nawet w kobietach pokazuje skin 0 pod koniec a nie powinno bo tam nie ma zawartego skinu 0.

Ostatnio zmieniony przez Pila2 2016-12-28, 16:10, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-28, 14:55


WWilk1







Wiek: 30
Na forum: 4699 dni
Posty: 116
Nick w MP: eep.Wilk

Piwa: 147

Respekt: 130
Respekt: 130

Nast?pnym razem sp?jrz ponownie na post kt?ry wys?a?e?, bo znaczniki [pawn][./pawn] ?le wpisa?e? i musia?em kod uk?ada?.. By?oby mi?o gdyby jaki? moderator poprawi?. Nie jest to przez ilo?? skin?w po prostu zapomnia?em doda? po warunku w dw?ch miejscach

Pawn
if(clickedid == TDWyb[1]) 
{ 
    if(sPlec[playerid] == 0)//niewybra? 
    { 
        ShowPlayerDialog(playerid50"Rejestracja""Najpierw musisz wybra? p?e?""Ok"""); 
    } 
    if(sPlec[playerid] == 1)//m??czyzna 
    { 
        if(GetPVarInt(playerid"SelectSkinM") == 0) 
        { 
            SetPVarInt(playerid"SelectSkinM"135); 
            TextDrawSetPreviewModel(TDWyb[2], SkinM[135]); 
            TextDrawShowForPlayer(playeridTDWyb[2]); 
            SetPlayerSkin(playeridSkinM[135]); 
        } 
        else 
        { 
            new SkinsS GetPVarInt(playerid"SelectSkinM") - 1; 
            SetPVarInt(playerid"SelectSkinM"SkinsS); 
            TextDrawSetPreviewModel(TDWyb[2], SkinM[SkinsS]); 
            TextDrawShowForPlayer(playeridTDWyb[2]); 
            SetPlayerSkin(playeridSkinM[SkinsS]); 
            if(SkinsS == 0)
                SetPVarInt(playerid"SelectSkinM"135);
        } 
    } 
    if(sPlec[playerid] == 2)//kobita 
    { 
        if(GetPVarInt(playerid"SelectSkinK") == 0) 
        { 
            SetPVarInt(playerid"SelectSkinK"56); 
            TextDrawSetPreviewModel(TDWyb[2], SkinK[56]); 
            TextDrawShowForPlayer(playeridTDWyb[2]); 
            SetPlayerSkin(playeridSkinK[56]); 
        } 
        else 
        { 
            new SkinsK GetPVarInt(playerid"SelectSkinK") - 1; 
            SetPVarInt(playerid"SelectSkinK"SkinsK); 
            TextDrawSetPreviewModel(TDWyb[2], SkinK[SkinsK]); 
            TextDrawShowForPlayer(playeridTDWyb[2]); 
            SetPlayerSkin(playeridSkinK[SkinsK]); 
            if(SkinsK == 0)
                SetPVarInt(playerid"SelectSkinK"56);
        } 
    } 
} 


new SkinK[57] ={9,11,12,13,40,41,54,55,56,64,65,69,76,85,90,91,93,129,130,131,141,148,150,152,157,169,190,191,192,193,194,195,198,199,201,207,211,214,215,216,219,224,225,226,231,232,233,237,238,243,245,251,256,257,263,298}; 
new SkinM[136] = {0,1,2,3,4,5,6,7,14,15,17,18,19,21,22,23,24,25,26,28,29,30,34,35,36,37,43,44,45,46,47,48,51,52,57,58,59,60,66,67,68,72,73,80,81,82,83,84,86,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,133,135,136,137,142,143,144,146,147,153,154,156,158,159,161,163,164,165,166,170,173,174,175,176,177,179,180,181,184,185,186,187,188,189,202,208,210,212,217,220,221,222,223,227,228,230,235,240,241,242,247,248,249,250,252,254};


Ja te skiny da?bym w jednej tablicy, ale skoro tak Ci wygodniej to ok. ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-28, 16:10


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

dodanie
Pawn

        if(SkinsS == 0)
        SetPVarInt(playerid"SelectSkinM"135);


nic nie zmieni?o nie wiem co mo?e pom?c.

sory ?e tam nie da?em pawn

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-28, 16:17


WWilk1







Wiek: 30
Na forum: 4699 dni
Posty: 116
Nick w MP: eep.Wilk

Piwa: 147

Respekt: 130
Respekt: 130

Sprawdza?e? na pewno na przycisku od "cofania"? Jak testowa?em to po prze??czeniu wszystkich skin?w na ko?cu nie by?o ju? skinu CJ'a.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-28, 16:26


Pila2







Wiek: 29
Na forum: 3449 dni
Posty: 35

Piwa: 1

Respekt: 50

no ale na cofaniu wraz jest ten cj wiec s?abo to wygl?da co mam powiedziec graczom zeby nie cofali zanim nie przejd? dalej?.

[ Dodano: 2016-12-28, 16:27 ]
i w kobietach na koncu wraz jest cj

Postaw piwo autorowi tego posta
 

 
Tagi: skiny
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » Skiny Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku