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

Wysłany: 2017-05-01, 19:46


Adis.exe

LUA Developer






Wiek: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

Respekt: 110,3
Respekt: 110,3

siemka, jak zrobi? komende na otwieranie bram, ktora bedzie sprawdzala przy ktorej stoi gracz i czy gracz moze ja otworzyc ?
np mam brame :
Kod:


brama1
brama2
brama3


i brama1 moze otworzyc admin
brama2 moze otworzyc gracz
a brama3 moze otworzyc staly gracz

jak takie cos zrobic ??

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 20:10


zxcvb







Wiek: 36
Na forum: 3326 dni
Posty: 7
Nick w MP: ef9

Piwa: 1

Respekt: 70

Ostrzeżeń: 100%
mniej wi?cej co? takiego

Kod:

CMD:bramaopen(playerid)
{
// tworzysz warunek komendy tylko dla admina
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xDEEE20FF, "Tylko admin moze otworzyc bram?.");

// tworzysz strefe woko? ktorej bedzie dzialac otwieranie bramy
// 7.0 to wielkosc strefy a reszta to pozycje x,y,z
if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))
{
//kod na otwieranie bramy
}
else // jezeli jest daleko od bramy
{
SendClientMessage(playerid, 0xDEEE20FF, "musisz by? blisko bramy zeby otworzy?.");
}
return 1;
}


http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint
http://wiki.sa-mp.com/wiki/MoveObject

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Adis.exe
Wysłany: 2017-05-01, 20:59


Adis.exe

LUA Developer






Wiek: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

Respekt: 110,3
Respekt: 110,3

Dzi?ki dzi?ki ale nie o to chodzi, chodzi mi o to ?eby jedna komenda otwiera?a wszystkie bramy i sprawdza?a czy gracz moze otworzyc brame przy ktorej stoi

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 21:07


zxcvb







Wiek: 36
Na forum: 3326 dni
Posty: 7
Nick w MP: ef9

Piwa: 1

Respekt: 70

Ostrzeżeń: 100%
No to robisz tak

Kod:

CMD:bramaopen(playerid)
{
// brama 1
if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xDEEE20FF, "Tylko admin moze otworzyc bram?.");
//kod na otwieranie bramy
}
else // jezeli jest daleko od bramy
{
SendClientMessage(playerid, 0xDEEE20FF, "musisz by? blisko bramy zeby otworzy?.");
}

// brama 2
if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xDEEE20FF, "Tylko admin moze otworzyc bram?.");
//kod na otwieranie bramy
}
else // jezeli jest daleko od bramy
{
SendClientMessage(playerid, 0xDEEE20FF, "musisz by? blisko bramy zeby otworzy?.");
}
// ...
return 1;
}


Wszystko co potrzebne masz podane wystarczy to wykorzysta? pod w?asny skrypt ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 21:19


Dirtcaps

zamknij mordę






Wiek: 16
Na forum: 3503 dni
Posty: 122
Nick w MP: Dirtcaps

Piwa: 83

Respekt: 130,5
Respekt: 130,5

Pawn
CMD:otworzbrame(playerid)//Sobie zmie? t? komende jak chcesz
{
if(IsPlayerInRangeOfPoint(playerid, *Tutaj odleg?o?? w jakiej musi bygracz od danej bramy*, *Tutaj dajesz koordy pozycji tej danej bramy*) && IsPlayerAdmin(playerid))//IsPlayerAdmin mo?esz sobie zamieni? na w?asn? zmienn? rangi administratora
{
MoveObject();
bla bla bla
}
//No i powtarzasz ten kod dla pozosta?ych bram
return 1;
}


Podpis
Kod:

"~ Bo tylko ciężką pracą ludzie mogą się wzbogacić, Tu za walenie ch*ja nikt ci ziomuś nie zapłaci."


Kiedy jak nie dziś.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 21:24


Grace

Kierowca Pralki






Wiek: 24
Na forum: 3436 dni
Posty: 168
Nick w MP: Grace

Piwa: 1031

Respekt: 35,8

Oczywi?cie da si? to zrobi?.
Najlepiej by?oby zrobi? co? w stylu "System Bram", zapisywanie, wczytywnie itp.
Powiedzmy: w tabeli 'bramy' w MySQL b?dziesz mia? uid, x, y, z, oraz grup? kt?ra mo?e j? otwiera?.

Przyk?adowo ja zrobi? tak:
1 - gracz
2 - sta?y gracz
3 - admin (admin otwiera wszystkie bramy)

A w komendzie, dodaj po prostu p?tl?, kt?ra b?dzie pobiera?a wszystkie te bramy, i sprawdza?a do kt?rej bramy gracz ma najbli?ej, potem sprawdza?a czy mo?e j? otworzy?, a w ostateczno?ci ?eby brama si? otwiera?a.

PS. Nie jestem w stanie poda? przyk?adu w kodzie na telefonie, ale my?l? ?e zrozumia?e? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 21:28


Dirtcaps

zamknij mordę






Wiek: 16
Na forum: 3503 dni
Posty: 122
Nick w MP: Dirtcaps

Piwa: 83

Respekt: 130,5
Respekt: 130,5

xMaslo, po co tak kombinowa? i robi? jaki? system bram XD. Skoro tak jest pro?ciej @2UP.

Podpis
Kod:

"~ Bo tylko ciężką pracą ludzie mogą się wzbogacić, Tu za walenie ch*ja nikt ci ziomuś nie zapłaci."


Kiedy jak nie dziś.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 23:49


Grace

Kierowca Pralki






Wiek: 24
Na forum: 3436 dni
Posty: 168
Nick w MP: Grace

Piwa: 1031

Respekt: 35,8

Dirtcaps, po co sie bawi? w 100000 komend do bram, jak mo?na zrobic jedna, np. /open.
Nie chce mi sie wierzy?, ze wola?by? tworzy? w mapie setki komend zeby te bramy dodawa?, ni? zrobic to dynamiczne np. W MySQL.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-01, 23:52


Dirtcaps

zamknij mordę






Wiek: 16
Na forum: 3503 dni
Posty: 122
Nick w MP: Dirtcaps

Piwa: 83

Respekt: 130,5
Respekt: 130,5

No tylko, ?e ja w?a?nie u?ywam do tego jednej komendy xD.

Podpis
Kod:

"~ Bo tylko ciężką pracą ludzie mogą się wzbogacić, Tu za walenie ch*ja nikt ci ziomuś nie zapłaci."


Kiedy jak nie dziś.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-02, 12:13


Adis.exe

LUA Developer






Wiek: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

Respekt: 110,3
Respekt: 110,3

Ja mam bardzo du?o tych bram ponad 50 i mam tyle tego pakowa? do komendy ?? ? :O
To mi ca?y dzie? zajmie

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-02, 13:00


Dirtcaps

zamknij mordę






Wiek: 16
Na forum: 3503 dni
Posty: 122
Nick w MP: Dirtcaps

Piwa: 83

Respekt: 130,5
Respekt: 130,5

No to zr?b sobie modu? w postaci includa, w kt?rym w jeden tablicy umie?cisz pozycje tych bram i rangi wymagane do ich otwarcia, a potem w jednej komendzie tylko b?dziesz sprawdza? :E.

Podpis
Kod:

"~ Bo tylko ciężką pracą ludzie mogą się wzbogacić, Tu za walenie ch*ja nikt ci ziomuś nie zapłaci."


Kiedy jak nie dziś.
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Virex_PL
Wysłany: 2017-05-02, 13:36


Adis.exe

LUA Developer






Wiek: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

Respekt: 110,3
Respekt: 110,3

"xMaslo" napisał/a:

Oczywi?cie da si? to zrobi?.
Najlepiej by?oby zrobi? co? w stylu "System Bram", zapisywanie, wczytywnie itp.
Powiedzmy: w tabeli 'bramy' w MySQL b?dziesz mia? uid, x, y, z, oraz grup? kt?ra mo?e j? otwiera?.

Przyk?adowo ja zrobi? tak:
1 - gracz
2 - sta?y gracz
3 - admin (admin otwiera wszystkie bramy)

A w komendzie, dodaj po prostu p?tl?, kt?ra b?dzie pobiera?a wszystkie te bramy, i sprawdza?a do kt?rej bramy gracz ma najbli?ej, potem sprawdza?a czy mo?e j? otworzy?, a w ostateczno?ci ?eby brama si? otwiera?a.

PS. Nie jestem w stanie poda? przyk?adu w kodzie na telefonie, ale my?l? ?e zrozumia?e? :)


Dobry pomys?, a jak b?dziesz na pc to podasz przyk?ad ? :)

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-02, 13:57


Virex_PL

Głos rozsądku






Wiek: 26
Na forum: 4187 dni
Posty: 170
Nick w MP: Virex_PL

Piwa: 31

Respekt: 120
Respekt: 120

To ju? lepiej zatwierdzic "na sztywno" x y z i klase do zmiennej potem w komendzie sprawdzic klase i czy jest przy bramie. Wyjdzie na to samo co wklepywanie danych do bazy. Po co pobierac bazy za pomoca komendy, nie lepiej w OnGameModeInit?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-02, 14:25


zxcvb







Wiek: 36
Na forum: 3326 dni
Posty: 7
Nick w MP: ef9

Piwa: 1

Respekt: 70

Ostrzeżeń: 100%
"Virex_PL" napisał/a:

To ju? lepiej zatwierdzic "na sztywno" x y z i klase do zmiennej potem w komendzie sprawdzic klase i czy jest przy bramie. Wyjdzie na to samo co wklepywanie danych do bazy. Po co pobierac bazy za pomoca komendy, nie lepiej w OnGameModeInit?


Dok?adnie.
Taki kod poda?em mu na pocz?tku, ale on szuka tutaj gotowca.

Nie musisz dodawa? wszystkiego w komendzie wystarczy tablica wielowymiarowa
i tam powrzuca? sobie wszystkie pozycje bram oraz kto do jakiej mo?e wej??, p??niej jedna p?tla na wszystkie bramy w komendzie kilka warunk?w i tyle.

Kod:

{float:pos_x, float:pos_z, float:pos_y, float:10.0, "admin"} // brama 1
{float:pos_x, float:pos_z, float:pos_y, float:10.0, "gracz"} // brama 2

pos_x, pos_z, pos_y - pozycja bramy
float:10.0 - jak daleko ma dziala? komenda od bramy
"admin","gracz" - dla kogo dost?pna komenda

Pobieranie takich rzeczy z bazy danych jest bez sensu, skoro mo?na co? odczyta? natychmiast z poziomu GM to po co pobiera? i zapycha? baz? zb?dnymi zapytaniami ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-05-02, 17:40


Zamek







Wiek: 26
Na forum: 3788 dni
Posty: 168
Nick w MP: Zamek

Piwa: 276

Respekt: 295,8
Respekt: 295,8Respekt: 295,8Respekt: 295,8

"Adikoo1302" napisał/a:

Dzi?ki dzi?ki ale nie o to chodzi, chodzi mi o to ?eby jedna komenda otwiera?a wszystkie bramy i sprawdza?a czy gracz moze otworzyc brame przy ktorej stoi


To nie ma najmniejszego sensu. Chcesz otworzy? WSZYSTKIE bramy, ale jednocze?nie chcesz otworzy? bram?, przy kt?rej gracz stoi? Zdecyduj si? ;) .

Tu masz przyk?adowe otwieranie bramy ;d

Pawn

#include <a_samp>

main () {}

new brama; 

public OnGameModeInit()
{
    brama CreateObject(980,0.0,0.0,0.0,0.0,0.0,0.0,100.0); 
    return 1;
}

public OnPlayerCommandText(playeridcmdtext[])
{
    if(strcmp(cmdtext,"/open",false) == 0)
    {
        MoveObject(brama,0.00.0, -10.00.5 0.000000.000000.00000);
        return 1;
    }
    if(strcmp(cmdtext,"/close",false) == 0)
    {
        MoveObject(brama,0.00.00.00.5 0.000000.000000.00000);
        return 1;
    }
    return 1;
}


Je?eli chodzi o warunki to odsy?am Ci? do google.pl -> Instrukcje warunkowe, jak nic nie znajdziesz to w ostateczno?ci polecam film TheSim00n'a, kt?ry pokazuje jak dzia?a instrukcja warunkowa.
https://www.youtube.com/watch?v=niO94dUEz7I

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: otwieranie :: bram
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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