Komenda ta jest stosunkowo prosta do wykonania. Pierw na g?rze kodu stw?rz sobie zmienn? do kt?rej przypiszesz stworzony szlaban (new Szlaban[MAX_PLAYERS];), w OnPlayerConnect domy?lnie przypisz do tej zmiennej -1 (Szlaban[playerid] = -1;), nast?pnie czas na sam? komend?. Funkcja tworz?ca szlaban b?dzie wygl?da?a nast?puj?co: Szlaban[playerid] = CreateObject(idobiektu, x+2,y,z,0.0,0.0,0.0);
Do parametr?w x,y,z przypiszemy sobie pozycje gracza. new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); Warto te? stworzy? warunek na samym pocz?tku komendy, kt?ry sprawdza czy nasz szlaban jest stworzony (if(Szlaban[playerid] != -1) return 1;). Je?eli chodzi o samo usuwanie naszego szlabanu to robimy kolejna komende, warto na poczatku sprawdzic, czy gracz ma zrobiony szlaban, u?yjemy do tego warunku (if(Szlaban[playerid] == -1) return 1;). Nast?pnie usuwamy nasz obiekt a do zmiennej Szlaban przypisujemy -1, (DestroyObject(Szlaban[playerid]); Szlaban[playerid] = -1;
Pozdrawiam . Do stworzenia komend polecam na pocz?tek callback OnPlayerCommandText, wi?cej na ten temat znajdziesz w google.
[b]PawnMasterRTRP[/b], Prosz? Cie, po co tu zmienna na x graczy? Tworzysz tu globalna tylko do obiektu a nie obiekt dla kazdego gracza osobno. Na dodatkek po co tu usuwac i dodawac obiekt skoro jest do tego funkcja kt?ra "przemieszcza" obiekt:
http://wiki.sa-mp.com/wiki/MoveObject
Heh, zmienna globalna jest u?ywana do obiekt?w, kt?re s? tworzone "na miejscu" bez ?adnego p??niejszego edytowania. M?j drogi, je?eli zrobimy to twoim sposobem i b?dziemy chcieli przemie?ci? ten obiekt to b?dzie to dzia?a?o tylko wtedy, gdy jeden gracz stworzy takowy szlaban, poniewa? gdy zostanie stworzony kolejny obiekt to ta zmienna globalna zostanie przypisana do NAST?PNEGO obiektu i ten wcze?niejszy nie b?dzie brany pod uwag?. Tutaj masz przyk?ad, ?eby nie by?o problem?w i w?tpliwo?ci.
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