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

Wysłany: 2016-06-17, 23:50


Foker







Wiek: 33
Na forum: 3639 dni
Posty: 2



Respekt: 50

Ostrzeżeń: 100%
Witam, zrobi?em frakcje na rangi i mam

//Frakcje
//0 = Gracz
//1 = Policja
//2 = Taxi
//3 = Medyk
//4 = Pomoc Drogowa

Czy jak dam

new Frakcja = gGracz[playerid][Frakcja];
if(Frakcja>= 1)

to b?dzie m?g? u?ywa? frakcja Taxi komendy Policji?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-18, 02:20


Mac







Wiek: 28
Na forum: 4136 dni
Posty: 133
Nick w MP: Mac

Piwa: 27

Respekt: 130
Respekt: 130

Ten kod jest z?y. Zmienna 'Frakcja' nie posiada indeksu do kt?rego mo?na by by?o przypisa? ID gracza. Bez tego w warunkach, czy te? innych operacjach na tej zmiennej mog? wyst?powa? przer??ne b??dy, gdy? skrypt zapisze do zmiennej ostatnie ID po przypisaniu warto?ci.

Poprawny kod:
Pawn


new Frakcja[MAX_PLAYERS];

// teraz w przyk?adowo w komendzie add_police

CMD:add_police(playeridparams[])
{
     Frakcja[playerid] = 1// Policja
     return 1;
}

// warunki
if(Frakcja[playerid] == 1// je?li jest policjantem
else // nie jest policjantem

if(Frakcja[playerid] >= 1// je?li jest policjantem lub taks?wkarzem lub medykiem, lub mechanikiem
else // jest zwyk?ym graczem


Pozdrawiam.


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-18, 10:28


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
"Mac" napisał/a:

Ten kod jest z?y. Zmienna 'Frakcja' nie posiada indeksu do kt?rego mo?na by by?o przypisa? ID gracza


"Foker" napisał/a:

new Frakcja = gGracz[playerid][Frakcja];


"Foker" napisał/a:

new Frakcja = gGracz[playerid][Frakcja];


"Foker" napisał/a:

new Frakcja = gGracz[playerid][Frakcja];


"Foker" napisał/a:

new Frakcja = gGracz[playerid][Frakcja];


Co do tematu, to je?li chcesz, aby co? dzia?o si? dla kilku frakcji, np. jak napisa?e? dla policji i taxi, to nie mo?esz u?ywa? znaku wi?kszo?ci, bo wtedy kod przepu?ci frakcje oznaczone wi?kszymi numerami. Zamiast tego u?yj znaku r?wna si? i zr?b kilka warunk?w.

Kod:

new actionid = gGracz[playerid][Frakcja];

if(actionid == FRACTION_POLICE || actionid == FRACTION_TAXI)
{
//gracz jest we frakcji policji albo taxi, wykonaj kod
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-18, 12:47


Foker







Wiek: 33
Na forum: 3639 dni
Posty: 2



Respekt: 50

Ostrzeżeń: 100%
No dobra a je?li mam tak frakcj?
Kod:

enum DaneGracza
{
bool:FotoradarCoolDown,
bool:Zalogowany,
bool:SniegWlaczony,
bool:Muted,
bool:sobcheck,

Float:checkx,
Float:checky,
Float:checkz,
Float:PojazdZycie,

RangaAdmina,
Frakcja,
Towar,
WypadekGracza,
Warny,
Kicki

}


Jest Frakcja , zrobi?em to na wz?r Rangi admina

Ale bardziej mi o to chodzi jak to zrobi? ,?e jak medyk uleczy co nie to ?eby inne frakcje nie mog?y tego u?ywa?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-18, 16:01


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Foker, jak chcesz, aby tylko jedna frakcja mog?a u?ywa? danej komendy to:

Przyk?adowo, 0 - Policja, 1 - Pomoc Drogowa, 2 - Pogotowie.

Pawn
enum DaneGracza
{
    Frakcja,
    Admin
    //reszta opcji
}

new PlayerInfo[MAX_PLAYERS][DaneGracza];

CMD:ulecz(playeridparams[])
{
    if(PlayerInfo[playerid][Frakcja] != 2)
        return SendClientMessage(playerid, -1"Nie jeste? zatrudniony w frakcji pogotowie.");
    //reszta kodu
    return 1;
}


Tym warunkiem:

Pawn
if(PlayerInfo[playerid][Frakcja] != 2)


Sprawdzasz zmienn? Frakcja dla gracza, je?eli nie jest r?wna 2, czyli gracz nie jest w pogotowiu to "ko?czysz kod", daj?c return. Og?lnie jak chcesz, aby komendy dzia?a?y tylko dla danej frakcji to przy sprawdzaniu dajesz != (nie jest r?wne, wykrzyknik zaprzecza w tym wypadku), a jak chcesz, aby dan? komend? mog?o u?ywa? kilka frakcji to robisz tak jak Combacior napisa?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-19, 02:22


Mac







Wiek: 28
Na forum: 4136 dni
Posty: 133
Nick w MP: Mac

Piwa: 27

Respekt: 130
Respekt: 130

"Combacior" napisał/a:

"Mac" napisał/a:

Ten kod jest z?y. Zmienna 'Frakcja' nie posiada indeksu do kt?rego mo?na by by?o przypisa? ID gracza


"Foker" napisał/a:

new Frakcja = gGracz[playerid][Frakcja];



gGracz[playerid][Frakcja] - zwr?ci ID frakcji, ale nie ID gracza

Mo?e i ?le my?l?, ale wydaje mi si?, ?e ta zmienna powinna by? jednowymiarowa. Na pewno nie b?dzie ona lokalna, a globalna, co za tym idzie? Przy wczytaniu statystyk gracza z frakcj? wy?sz? ni? 0 i przypisaniu jej do tej zmiennej spowoduje, ?e wszyscy b?d? mogli u?ywa? komend z warunkami typu

Pawn
if(Frakcja != 0)


Mo?liwe, ?e co? ?le kmini?.

Postaw piwo autorowi tego posta
 

 
Tagi: frakcja
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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