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

Wysłany: 2017-08-22, 00:21


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

Witam. Mam pytanie. Jak zrobi? losowanie punktu (z wybranych punktow dodanych do gm) na mapie i je?eli gracz jest w tym punkcie i wpisze komend? to dostaje hajs? Prosze o szybk? pomoc.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-22, 12:52


The_Crew







Wiek: 26
Na forum: 4548 dni
Posty: 27
Nick w MP: The_Crew

Piwa: 90

Respekt: 160
Respekt: 160Respekt: 160

Ostrzeżeń: 60%
Rozumiem, ?e chcesz zrobi? losowanie z pozycji zawartych w tablicy?
tworzysz sobie tablice:
Kod:

new Float:positions[][]={
{x,y,z},
{x,y,z},
{x,y,z}
};

losowanie i sprawdzenie w komendzie:
Kod:

CMD:randomcheck(playerid, params[])
{
/*Losowanie*/
new rand = random(sizeof(positions));
/*sprawdzenie*/
if(IsPlayerInRangeOfPoint(playerid, 1, positions[rand][0], positions[rand][1], positions[rand][2]))
{
/*Zajdujesz si? w pobli?u wylosowanego wcze?niej punktu*/
return 1;
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-22, 13:18


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

A czy ka?demu graczowi b?dzie losowa?o t? sam? pozycj?? Bo chcia?em zrobi? czasowe losowanie i aby ka?demu graczowi t? sam? pozycj? losowa?o i w komendzie tylko zrobi? czy znajduje si? w wylosowanym punkcie

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-22, 14:38


The_Crew







Wiek: 26
Na forum: 4548 dni
Posty: 27
Nick w MP: The_Crew

Piwa: 90

Respekt: 160
Respekt: 160Respekt: 160

Ostrzeżeń: 60%
"JameS18" napisał/a:

A czy ka?demu graczowi b?dzie losowa?o t? sam? pozycj?? Bo chcia?em zrobi? czasowe losowanie i aby ka?demu graczowi t? sam? pozycj? losowa?o i w komendzie tylko zrobi? czy znajduje si? w wylosowanym punkcie


W takim wypadku cz??? kodu odpowiadaj?c? za losowanie pozycji musisz przypisa? do zmiennej globalnej w timerze.

Pocz?tek kodu.
Kod:

new rand;

A w timerze:
Kod:

rand = random(...);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-22, 14:55


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

Czyli co? takiego ma by? w timerze?
Kod:


forward bonusok();
public bonusok()
{

new rand = random(sizeof(positions));

return 1;

}


A to w komendzie?
Kod:



CMD:punkt(playerid, params[])
{

if(IsPlayerInRangeOfPoint(playerid, 1, positions[rand][0], positions[rand][1], positions[rand][2]))
{
SendClientMessage(playerid,Czerwony,"# jeste? w punkcie!");
return 1;
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-22, 16:53


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

https://pastebin.com/FfgzUkXQ

Razem z pickupami w tych punktach. Licze na :piwo:

PS: w zasadzie to jest szkielet jak to ma mniej wiecej wyglada?.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
JameS18
Wysłany: 2017-08-23, 00:04


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

Co? jest nie tak albo z losowaniem punktu albo ze sprawdzaniem czy gracz znajduje si? w wylosowanym punkcie bo sprawdzi?em po wylosowaniu punktu ka?dy punkt ktory mozna wylosowac i w ?adnym nic si? nie dzieje.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-23, 00:18


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

1. R?b to 30 sekund po uruchomieniu serwera aby wykona? si? kod z timera.
2. Kod musi dzia?a?, chyba ?e nie doda?e? wiadomosci w komendzie o tym ?e dosta? kase.
3. Musisz byc nie wi?cej niz 2 metry od punktu czyli w tym pickupie.

PS: skrypt tesowalem i dzia?a.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
JameS18
Wysłany: 2017-08-23, 01:16


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

Ok, dzia?a. A mam jeszcze takie pytanie. Jak zrobi? aby ustawia? nazwy tych punktow i jak jaki? punkt wylosuje to na czacie pokazuje nazw? wylosowanego punktu?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-23, 03:50


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

https://pastebin.com/MvrZ8kAB

Skrypt po ma?ych poprawkach. Poprawi?em pickupy, i dodalem w tych miejscach 3dtext z nazwa punktu. Ustaw w tablicy "Pozycje" x y z i nazwe punktu. I to chyba tyle.

PS: Skrypt testowany, piewsze losowanie jest 60 sekund po odpaleniu serwera.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-23, 16:06


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

Ok, dzia?a tylko czasami wywala po kilkadziesi?t wiadomo?ci o wylosowanym magazynie i pokazuje r??ne wylosowane magazyny.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-23, 17:59


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

Nie wiem. Mi wszystko dzia?a, chyba ?e ustawi?e? czas losowania na jakis mniejszy (w ms), ja ustawi?em 60000 ms czyli 60 sekund.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-24, 12:23


JameS18







Wiek: 27
Na forum: 3212 dni
Posty: 20
Nick w MP: JameS



Respekt: 50

hmm... faktycznie, ustawi?em na 30 ms. Okej, dzi?kuj? za pomoc.

Postaw piwo autorowi tego posta
 

 
Tagi: losowanie :: punktu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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