Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Телепорт По Пикапу - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Урок ]
Телепорт По Пикапу
Оценка: -----

#1
Пользователь офлайн   Silver 

  • Местный
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
1. Объявляем переменную.

new teleport;


2. Создаем пикап.

В public OnGameModeInit() вставляем:

teleport = CreatePickup(model,type,Float:X,Float:Y,Float:Z,Virtualworld);

Model - Модель добавляемого пикапа.
Type - Тип создаваемого пикапа.
Float:X - X-координата добавляемого пикапа.
Float:Y - Y-координата добавляемого пикапа.
Float:Z - Z-координата добавляемого пикапа.
Virtualworld - ID виртуального мира пикапа. ID - 1 означает, что пикап виден во всех виртуальных мирах.

3. Указываем действия, которые будут происходить при активации пикапа.

В public OnPlayerPickUpPickup(playerid, pickupid) вставляем:

if(pickupid == teleport)
{
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,x,y,z);
    SendClientMessage(playerid, 0xFF0000FF, "Ваш текст");
}


Ниже приведено объяснение функций:

SetPlayerInterior(playerid, 0); // Задаете интерьер игроку, 0 - это улица. Пишите свой интерьер.

SetPlayerPos(playerid,x,y,z); // Задаете местоположение игрока. X,Y,Z - это координаты, на которые будет перемещен игрок.

SendClientMessage(playerid, 0xFF0000FF, "Ваш текст"); // Функция выводящая сообщение в чат при телепортации (можно убрать)


Список интерьеров можной найти в Интернете или на нашем портале.

Сообщение отредактировал Silver: 26 Март 2012 - 17:59

12

Сказали спасибо 7:

#2
Пользователь офлайн   Lwf 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Для новичков полезно лови +
0

#3
Пользователь офлайн   Cris_Pro 

  • Хочу создать серверок..
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
это же было вход через пикап...
0

#4
Пользователь офлайн   Erick 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Такой урок уже есть.. Romzes делал его.. вроде бы :rolleyes:
0

#5
Пользователь офлайн   Silver 

  • Местный
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
В этом разделе форума это единственный урок о пикапах.

Сообщение отредактировал Silver: 19 Декабрь 2011 - 13:21

0

#6
Пользователь офлайн   dongen112 

  • Прохожий
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
у меня такая вот проблема:
У меня на сервере была на бомж спавно аптечка, рабочая, сам испробовал, все работало. Но поставил пикап входа, почемуто начались варнинги именно аптечки.


C:\Users\PCPC\Desktop\????????? ????\??????\gamemodes\pwgm.pwn(297) : error 010: invalid function or declaration
C:\Users\PCPC\Desktop\????????? ????\??????\gamemodes\pwgm.pwn(301) : error 010: invalid function or declaration
C:\Users\PCPC\Desktop\????????? ????\??????\gamemodes\pwgm.pwn(82) : warning 204: symbol is assigned a value that is never used: "pickupheal"Pawn compiler 3.2.3664	 	 	
Copyright (c) 1997-2006, ITB CompuPhase2 Errors.


Код аптечки в public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == pickupheal)  
{	
SendClientMessage(playerid,0xA3FF03,"Вы пополнили здоровье");	
SetPlayerHealth(playerid,100.0);	
if ( pickupid == pickupheal ) DestroyPickup(pickupheal);	
}

и код в public OnGameModeInit()
	pickupheal=CreatePickup(1240,2,1764.1999511719,-1885.8000488281,13.60000038147);

Варнинг и эрроры только в этих кодах, подскажите, что не так делаю.
Вот заодно код и входа в public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == enter) 
 {    
SetPlayerInterior(playerid, 3);    
SetPlayerPos(playerid,1527.38,-11.02,1002.1);    
SendClientMessage(playerid, 0xFF0000FF, "Вы вошли в здание!");   
 }

0

#7
Пользователь офлайн   LiMOH 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию

Просмотр сообщенияdongen112 (11 Март 2012 - 02:11) писал:

у меня такая вот проблема:
У меня на сервере была на бомж спавно аптечка, рабочая, сам испробовал, все работало. Но поставил пикап входа, почемуто начались варнинги именно аптечки.


C:\Users\PCPC\Desktop\????????? ????\??????\gamemodes\pwgm.pwn(297) : error 010: invalid function or declaration
C:\Users\PCPC\Desktop\????????? ????\??????\gamemodes\pwgm.pwn(301) : error 010: invalid function or declaration
C:\Users\PCPC\Desktop\????????? ????\??????\gamemodes\pwgm.pwn(82) : warning 204: symbol is assigned a value that is never used: "pickupheal"Pawn compiler 3.2.3664	 	 	
Copyright (c) 1997-2006, ITB CompuPhase2 Errors.


Код аптечки в public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == pickupheal)  
{	
SendClientMessage(playerid,0xA3FF03,"Вы пополнили здоровье");	
SetPlayerHealth(playerid,100.0);	
if ( pickupid == pickupheal ) DestroyPickup(pickupheal);	
}

и код в public OnGameModeInit()
	pickupheal=CreatePickup(1240,2,1764.1999511719,-1885.8000488281,13.60000038147);

Варнинг и эрроры только в этих кодах, подскажите, что не так делаю.
Вот заодно код и входа в public OnPlayerPickUpPickup(playerid, pickupid)
if(pickupid == enter) 
 {    
SetPlayerInterior(playerid, 3);    
SetPlayerPos(playerid,1527.38,-11.02,1002.1);    
SendClientMessage(playerid, 0xFF0000FF, "Вы вошли в здание!");   
 }


Попробуй убрать это в коде аптечки:
if(pickupid == pickupheal) DestroyPickup(pickupheal);


0

#8
Пользователь офлайн   dongen112 

  • Прохожий
  • Вставить ник
  • Цитировать
  • Раскрыть информацию

Просмотр сообщенияAlessandro Giordano (11 Март 2012 - 03:58) писал:

Попробуй убрать это в коде аптечки:
if(pickupid == pickupheal) DestroyPickup(pickupheal);



Не получилось, расскажите как правильно отделять друг от друга пикапы в паблике?
Вот мой public OnPlayerPickUpPickup(playerid, pickupid):
	if(pickupid == teleport)
{
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1767.4000244141, -1894.6999511719, 12.60000038147);
    SendClientMessage(playerid, 0xFF0000FF, "Вы вошли в здание Мэрии!");
}
	if(pickupid == heal)
{
	SendClientMessage(playerid,0xA3FF03,"Вы восстановили здоровье");
	SetPlayerHealth(playerid,100.0);
	if( pickupid == heal) DestroyPickup(heal);
}

0

#9
Пользователь офлайн   dongen112 

  • Прохожий
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
теперь у меня такое :
C:\Users\PCPC\Desktop\Скриптинг Самп\Модддд\gamemodes\pwgm.pwn(320) : error 010: invalid function or declaration
C:\Users\PCPC\Desktop\Скриптинг Самп\Модддд\gamemodes\pwgm.pwn(103) : warning 204: symbol is assigned a value that is never used: "teleport"
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


1 Error.


вот паблики
public OnPlayerPickUpPickup(playerid, pickupid)
	if(pickupid == heal)
{
	SendClientMessage(playerid,0xA3FF03,"Вы восстановили здоровье");
	SetPlayerHealth(playerid,100.0);
}
//===================[мэрия]================
	if(pickupid == teleport)
{
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1767.4000244141, -1894.6999511719, 12.60000038147);
    SendClientMessage(playerid, 0xFF0000FF, "Вы вошли в здание Мэрии!");
}

Неужели в одном паблике нельзя несколько пикапов ставить? Я видел в других скриптах можно было вроде. Помогите пожалуйста, может я неправильно отделаю пикапы, а вот кстати сами пикапы в public OnGameModeInit()
heal = CreatePickup(1240, 2, 1764.1999511719, -1885.8000488281, 13.60000038147);
	teleport = CreatePickup(1318, 23, 1753.6999511719, -1903.5, 12.60000038147);

0

#10
Пользователь офлайн   zejbo 

  • Местный
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
У меня нет ни одной ошибки, сделал все по уроку, но пикап так и не появился :D
0

Поделиться темой:


  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей