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

Wysłany: 2018-03-09, 09:31


MG303







Wiek: 30
Na forum: 6418 dni
Posty: 654

Piwa: 2990

Respekt: 231,6
Respekt: 231,6Respekt: 231,6

Pawn
switch(zmienna[playerid])
{
       case 1://zmienna==1
       {
              //co?
        }
        case 2://zmienna==2
        {
              //co?
         }
         //itd
}


//pisze z tel

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-09, 12:02


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
a nie da si? jako? zrobi?
?eby wy?wietlano po prostu tyle x jaka jest warto?? zmiennej?

Np send.. Zmienna "x"

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-09, 12:57


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Oczywi?cie, ?e si? da. Jest taka przydatna funkcja, kt?ra wype?nia tablic? konkretnym znakiem.

Pawn
memset(aArray[], iValue 0iSize sizeof aArray)
{
    new iAddress;

    #emit LOAD.S.pri 12
    #emit STOR.S.pri iAddress

    iSize *= 4;

    while(iSize 0)
    {
        if(iSize >= 4096)
        {
            #emit LOAD.S.alt iAddress
            #emit LOAD.S.pri iValue
            #emit FILL 4096

            iSize    -= 4096;
            iAddress += 4096;
        }
        else if(iSize >= 1024)
        {
            #emit LOAD.S.alt iAddress
            #emit LOAD.S.pri iValue
            #emit FILL 1024

            iSize    -= 1024;
            iAddress += 1024;
        }
        else if(iSize >= 256)
        {
            #emit LOAD.S.alt iAddress
            #emit LOAD.S.pri iValue
            #emit FILL 256

            iSize    -= 256;
            iAddress += 256;
        }
        else if(iSize >= 64)
        {
            #emit LOAD.S.alt iAddress
            #emit LOAD.S.pri iValue
            #emit FILL 64

            iSize    -= 64;
            iAddress += 64;
        }
        else if(iSize >= 16)
        {
            #emit LOAD.S.alt iAddress
            #emit LOAD.S.pri iValue
            #emit FILL 16

            iSize    -= 16;
            iAddress += 16;
        }
        else
        {
            #emit LOAD.S.alt iAddress
            #emit LOAD.S.pri iValue
            #emit FILL 4

            iSize    -= 4;
            iAddress += 4;
        }
    }
    #pragma unused aArray
}

//gdzies dalej
new lString[50]; //w razie czego zmien sobie rozmiar tablicy, jesli masz wiecej znakow
memset(lString'X'20); //20 to ilosc znakow
print(lString); //XXXXXXXXXXXXXXXXXXXX


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-09, 21:00


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
Combacior prawie dobrze ale niewiem czemu jest taki b??d:

https://zapodaj.net/303059b1a1f82.png.html

P.S. Chodzi po to ze z ma?ych liczb na du?e dobrze liczy X ale z du?ych na ma?e nie bo zostawia t? najwieksz? :/ nwm czemu zerowa?em przed sprawdzaniem to nic nie daje :/

[ Dodano: 2018-03-09, 21:56 ]
a da?em to w ten spos?b:

memset(lString, 'X', Zmienna);
//tu wyswietlanie

a wiec powinno dzia?ac a tak nie jest :P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-10, 13:26


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Tablic? trzeba wyzerowa? przed ponownym u?yciem tego, bo ta funkcja zmienia tylko dane w tablicy do pewnego momentu (tyle, ile ustawisz), a reszta nie jest usuwana.

Kod:

new lString[50];
memset(lString, 'X', 20);

//
lString[0] = EOS; //EOS = End Of String
memset(lString, 'X', 10);


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-11, 14:58


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-11, 16:33


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
M?j b??d, zamiast

Kod:

lString[0] = EOS;


Wstaw

Kod:

memset(lString);


To wyczy?ci ca?? tablic?, bo poprzedni spos?b czy?ci? tylko pierwszy indeks.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-11, 20:58


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
dzi?ki dzia?a mam jeszce jedn? ostatni? spraw? czy to jest optymalne dla 100item?w czy da sie jakos inaczej to ogarnac?

Kod:

if(modelp[playerid] == Plecakprzedmiot[0][item_model])
{
format(pstring,sizeof(pstring),"%s",Plecakprzedmiot[0][item_opis]);
SendClientMessage(playerid,-1,pstring);
RemoveItem(playerid,modelp[playerid]);
}
if(modelp[playerid] == Plecakprzedmiot[1][item_model])
{
format(pstring,sizeof(pstring),"%s",Plecakprzedmiot[1][item_opis]);
SendClientMessage(playerid,-1,pstring);
RemoveItem(playerid,modelp[playerid]);
}


https://pastebin.com/jW0hLn24

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-12, 00:42


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Jak najbardziej jest optymalne, ale chce ci si? tak 100 razy kopiuj/wklej i zmienia? liczby? A co zrobisz jak b?dziesz chcia? co? zmieni?? B?dziesz musia? w ka?dym warunku zrobi? te zmiany. Od tego s? p?tle, poczytaj o nich. Optymalno?? jak najbardziej jest jedn? z wa?niejszych rzeczy, ale r?wnie wa?ne jest pisanie kodu tak, aby by? on czytelny oraz ?atwy do szybkiej modyfikacji w razie potrzeby.

Kod:

format(pstring,sizeof(pstring),"%s",Plecakprzedmiot[1][item_opis]);


Swoj? drog?, nie w taki spos?b u?ywa si? funkcji format. Je?li tylko kopiujesz jedn? tablic? do drugiej, to u?yj funkcji strcpy -> http://gtao.pl.com/showpo...209&postcount=4

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-13, 21:16


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
Dobra ogarn??em juz :D Teraz tylko pytanko jak zrobic zeby zablokowac mozliwosc wyjscia z auta gdy masz zapiete poasy

i gdzie to dac?
If(zmiennaodpasow[playerid] == 1)
{
//co tutaj
}

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-13, 21:38


MG303







Wiek: 30
Na forum: 6418 dni
Posty: 654

Piwa: 2990

Respekt: 231,6
Respekt: 231,6Respekt: 231,6

OnPlayerExitVehicle?

http://wiki.sa-mp.com/wiki/PutPlayerInVehicle

@down: to raczej w exitvehicle; )

Ostatnio zmieniony przez MG303 2018-03-13, 21:46, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-13, 21:44


macks







Wiek: 18
Na forum: 3578 dni
Posty: 1002

Piwa: 2856

Respekt: 463
Respekt: 463

Ostrzeżeń: 20%
Pawn
public OnPlayerExitVehicle(playeridvehicleid)
{
    If(zmiennaodpasow[playerid] == 1) 
    { 
           PutPlayerInVehicle(playeridvehicleid0);
    }
    return 1;
}


O ile si? nie myl?, mo?e by? te? potrzebne pobranie pozycji gracza, jak i id pojazdu.
http://gtao.pl.com/showthread.php?t=136250

Ostatnio zmieniony przez macks 2018-03-13, 21:53, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-13, 21:46


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
Jaglak czemu przy wejsciu to robisz?

[ Dodano: 2018-03-13, 21:48 ]
Kod:

public OnPlayerExitVehicle(playerid, vehicleid)
{
If(zmiennaodpasow[playerid] == 1)
{
PutPlayerInVehicle(playerid, vehicleid, 0);
}
return 1;
}


to nie dzia?a :/ kiedys to robi?em ale uzywa?em wtedy innego publica niz exitbehicle nwm czy nie :
OnPlayerStateChange

Ale to nie dzia?a nwm czemu :/ jednak OnPlayerStateChange tez nie dzia?a to nwm :/

[ Dodano: 2018-03-13, 22:09 ]
ClearAnimations(playerid);
PutPlayerInVehicle(playerid, vehicleid, 0);

zrobi?em tak dzia?a ale kazdego daje na kierowce a ja chce zeby zostawali na swoich pozycjach :/ jak to zrobic?

Komentarz Jaglak dodany 2018-03-13, 21:53pomyliło mi się po prostu :d
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-03-14, 05:44


MG303







Wiek: 30
Na forum: 6418 dni
Posty: 654

Piwa: 2990

Respekt: 231,6
Respekt: 231,6Respekt: 231,6

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Lucenzo
Wysłany: 2018-03-14, 20:13


Lucenzo







Wiek: 33
Na forum: 3010 dni
Posty: 31
Nick w MP: Kotuń

Piwa: 2

Respekt: 50

Ostrzeżeń: 100%
okej :D

a teraz mam problem ze nie umiem zrobic komendy na

/komenda [id gracza] [wartosc]

pom?g? by ktos i wyt?umaczy? dlaczego tak?

korzystam z strcmp

Postaw piwo autorowi tego posta
 

 
Tagi: zmienne
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » Zmienne 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