Wysłany: 2016-12-24, 23:28
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
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 ( playerid , TDwyb [ 3 ]);
SetPlayerSkin ( playerid , 12 );
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
Wysłany: 2016-12-26, 22:14
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
Pawn if( clickedid == TDwyb [ 1 ])
{
if( Plec [ playerid ] == 1 ) //m??czyzna
{
if( Skin [ playerid ] <= 298 )
{
TextDrawSetPreviewModel ( TDwyb [ 3 ], rSkin [ playerid ]+ 1 );
SetPlayerSkin ( playerid , rSkin [ playerid ]+ 1 );
}
if( Skin [ playerid ] == 299 )
{
TextDrawSetPreviewModel ( TDwyb [ 3 ], 0 );
SetPlayerSkin ( playerid , 0 );
}
TextDrawShowForPlayer ( playerid , TDwyb [ 3 ]);
}
if( Plec [ playerid ] == 2 ) //kobieta
{
if( Skin [ playerid ] <= 298 )
{
TextDrawSetPreviewModel ( TDwyb [ 3 ], rSkin [ playerid ]+ 1 );
SetPlayerSkin ( playerid , rSkin [ playerid ]+ 1 );
}
if( rSkin [ playerid ] == 299 )
{
TextDrawSetPreviewModel ( TDwyb [ 3 ], 0 );
SetPlayerSkin ( playerid , 0 );
}
TextDrawShowForPlayer ( playerid , TDwyb [ 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??
Wysłany: 2016-12-27, 13:30
borsuk
Wiek: 17 Na forum: 3547 dni Posty: 468
Piwa : 15622
Ten kod wygl?da bardzo dziwnie mo?esz wyt?umaczy? jak to dzia?a ?
Wysłany: 2016-12-27, 17:08
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
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 ( playerid , rSkin [ playerid ]+ 1 );
return 1 ;
}
else if( rSkin [ playerid ] == 7 )
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 14 );
SetPlayerSkin ( playerid , 14 );
return 1 ;
}
else if( rSkin [ playerid ] == 14 )
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 15 );
SetPlayerSkin ( playerid , 15 );
return 1 ;
}
else if( rSkin [ playerid ] == 15 )
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 299 );
SetPlayerSkin ( playerid , 299 );
return 1 ;
}
else if( rSkin [ playerid ] == 299 )
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 0 );
SetPlayerSkin ( playerid , 0 );
return 1 ;
}
[ Dodano : 2016-12-27, 17:09 ]
wiem ze mozna jakis case uzy? do tego ale jak? prosz? o pomoc
Wysłany: 2016-12-27, 18:02
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Pobierz sobie jaki? skrypt, kt?ry to zawiera, np. m?j. Pami?tam te?, ?e by? sam filterscript takiej wybiera?ki, musisz poszuka?.
Wysłany: 2016-12-27, 18:50
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
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
Wysłany: 2016-12-27, 19:17
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
Chcesz za pomoc? switch'a to trzymaj:
Pawn switch( rSkin [ playerid ])
{
case 0..6 :
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], rSkin [ playerid ]+ 1 );
SetPlayerSkin ( playerid , rSkin [ playerid ]+ 1 );
}
case 7 :
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 14 );
SetPlayerSkin ( playerid , 14 );
}
case 14 :
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 15 );
SetPlayerSkin ( playerid , 15 );
}
case 15 :
{
TextDrawSetPreviewModel ( TDRejestr [ 22 ], 299 );
SetPlayerSkin ( playerid , 299 );
}
}
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.
Wysłany: 2016-12-27, 19:36
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
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
}
Wysłany: 2016-12-27, 20:37
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
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?.
Wysłany: 2016-12-27, 20:50
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
?ap gotowca z dok?adnym opisem
Pawn new const Skins [ 6 ] = { 0 , 14 , 18 , 24 , 49 , 107 };
//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 ( playerid , TDRejestr [ 22 ]);
TextDrawSetPreviewModel ( TDRejestr [ 22 ], Skins [ 0 ]); //przypisujemy pierwszy index tablicy czyli 0
TextDrawShowForPlayer ( playerid , TDRejestr [ 22 ]);
SetPlayerSkin ( playerid , Skins [ 0 ]); //przypisujemy pierwszy index tablicy czyli 0
}
else
{
new sSkin = GetPVarInt ( playerid , "SelectSkin" ) + 1 ;
SetPVarInt ( playerid , "SelectSkin" , Skins [ sSkin ]);
TextDrawHideForPlayer ( playerid , TDRejestr [ 22 ]);
TextDrawSetPreviewModel ( TDRejestr [ 22 ], Skins [ sSkin ]);
TextDrawShowForPlayer ( playerid , TDRejestr [ 22 ]);
SetPlayerSkin ( playerid , Skins [ 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 ( playerid , TDRejestr [ 22 ]);
TextDrawSetPreviewModel ( TDRejestr [ 22 ], Skins [ 5 ]); //przypisujemy ostatni index tablicy czyli 5
TextDrawShowForPlayer ( playerid , TDRejestr [ 22 ]);
SetPlayerSkin ( playerid , Skins [ 5 ]); //przypisujemy ostatni index tablicy czyli 5
}
else
{
new rSkin = GetPVarInt ( playerid , "SelectSkin" ) - 1 ;
SetPVarInt ( playerid , "SelectSkin" , Skins [ rSkin ]);
TextDrawHideForPlayer ( playerid , TDRejestr [ 22 ]);
TextDrawSetPreviewModel ( TDRejestr [ 22 ], Skins [ rSkin ]);
TextDrawShowForPlayer ( playerid , TDRejestr [ 22 ]);
SetPlayerSkin ( playerid , Skins [ rSkin ]);
}
return 1 ;
}
Taka ciekawostka dla niedoinformowanych o zmiennych static/const/stock
http://gtao.pl.com/showthread.php?t=285994
Wysłany: 2016-12-28, 12:17
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
Dzia?a ale mam problem:
Pawn if( clickedid == TDWyb [ 1 ])
{
if( sPlec [ playerid ] == 0 ) //niewybra?
{
ShowPlayerDialog ( playerid , 5 , 0 , "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 ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinM [ 135 ]);
}
else
{
new SkinsS = GetPVarInt ( playerid , "SelectSkinM" ) - 1 ;
SetPVarInt ( playerid , "SelectSkinM" , SkinsS );
TextDrawSetPreviewModel ( TDWyb [ 2 ], SkinM [ SkinsS ]);
TextDrawShowForPlayer ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinM [ SkinsS ]);
}
}
if( sPlec [ playerid ] == 2 ) //kobita
{
if( GetPVarInt ( playerid , "SelectSkinK" ) == 0 )
{
SetPVarInt ( playerid , "SelectSkinK" , 56 );
TextDrawSetPreviewModel ( TDWyb [ 2 ], SkinK [ 56 ]);
TextDrawShowForPlayer ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinK [ 56 ]);
}
else
{
new SkinsK = GetPVarInt ( playerid , "SelectSkinK" ) - 1 ;
SetPVarInt ( playerid , "SelectSkinK" , SkinsK );
TextDrawSetPreviewModel ( TDWyb [ 2 ], SkinK [ SkinsK ]);
TextDrawShowForPlayer ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinK [ 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
Wysłany: 2016-12-28, 14:55
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
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 ( playerid , 5 , 0 , "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 ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinM [ 135 ]);
}
else
{
new SkinsS = GetPVarInt ( playerid , "SelectSkinM" ) - 1 ;
SetPVarInt ( playerid , "SelectSkinM" , SkinsS );
TextDrawSetPreviewModel ( TDWyb [ 2 ], SkinM [ SkinsS ]);
TextDrawShowForPlayer ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinM [ 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 ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinK [ 56 ]);
}
else
{
new SkinsK = GetPVarInt ( playerid , "SelectSkinK" ) - 1 ;
SetPVarInt ( playerid , "SelectSkinK" , SkinsK );
TextDrawSetPreviewModel ( TDWyb [ 2 ], SkinK [ SkinsK ]);
TextDrawShowForPlayer ( playerid , TDWyb [ 2 ]);
SetPlayerSkin ( playerid , SkinK [ 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.
Wysłany: 2016-12-28, 16:10
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
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
Wysłany: 2016-12-28, 16:17
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
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.
Wysłany: 2016-12-28, 16:26
Pila2
Wiek: 29 Na forum: 3449 dni Posty: 35
Piwa : 1
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
Tagi: skiny
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: