Содержание
- Error 021 symbol already defined isvalidclient
- Похожий контент
- Error 021 symbol already defined isvalidclient
- Форум Pawn.Wiki — Воплоти мечту в реальность!: error 021: symbol already defined (cmd_get) — Форум Pawn.Wiki — Воплоти мечту в реальность!
- error 021: symbol already defined (cmd_get) Помогите исправить)
- Форум Pawn.Wiki — Воплоти мечту в реальность!: error 021: symbol already defined — Форум Pawn.Wiki — Воплоти мечту в реальность!
- error 021: symbol already defined
- Форум Pawn.Wiki — Воплоти мечту в реальность!: 021 — Форум Pawn.Wiki — Воплоти мечту в реальность!
Error 021 symbol already defined isvalidclient
Ни одного зарегистрированного пользователя не просматривает данную страницу
Похожий контент
Кто знает как пофиксить?
C:UsersUserDesktopsliv4ikgamemodesNVEGM.pwn(13206) : warning 202: number of arguments does not match definition
C:UsersUserDesktopsliv4ikgamemodesNVEGM.pwn(13206) : warning 202: number of arguments does not match definition
C:UsersUserDesktopsliv4ikgamemodesNVEGM.pwn(33802) : warning 215: expression has no effect
C:UsersUserDesktopsliv4ikgamemodesNVEGM.pwn(38135) : warning 204: symbol is assigned a value that is never used: «region_index»
C:UsersUserDesktopsliv4ikgamemodesNVEGM.pwn(38550) : warning 203: symbol is never used: «IsCopCar»
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 19980 bytes
Code size: 2184936 bytes
Data size: 30086780 bytes
Stack/heap size: 72000 bytes; estimated max. usage=1780 cells (7120 bytes)
Total requirements:32363696 bytes
5 Warnings.
Работает на IPS Community Suite 4
2017 — н.в. PAWNO-RUS.RU
При копировании материалов с сайта ссылка на наш форум обязательна!
Вы видите это сообщение, так как вы не вошли или не зарегистрировались. Чтобы получить более расширенные возможности войдите или зарегистрируйтесь.
Однако без регистрации Вы также сможете пользоваться форумом.
Источник
Error 021 symbol already defined isvalidclient
Hi, I was edit that plugin (https://forums.alliedmods.net/showthread.php?t=257911) that plugin was show just aimed player’s name than @m_bNightstalker was helped me. plugin show player’s name and HP someone can add. Aimed player is Friend or a enemy and whan aimed to space display in hud just ‘.’ like that;
HUD;
Playername
100 HP (Enemy)
HUD Aimed on space;
.
#include
#include
#include
#define PLUGIN_VERSION «1.0»
public Plugin:myinfo =
<
name = «Show nickname on HUD»,
author = «Graffiti»,
description = «Show nickname on HUD for CSGO»,
version = PLUGIN_VERSION,
url = «http://www.sourcemod.net/»
>;
public OnPluginStart()
<
CreateConVar(«sm_show_nickname_on_hud_version», PLUGIN_VERSION, «Show nickname on HUD», FCVAR_PLUGIN | FCVAR_SPONLY | FCVAR_DONTRECORD | FCVAR_NOTIFY);
CreateTimer(0.5, Timer, _, TIMER_REPEAT);
>
stock TraceClientViewEntity(client)
<
new Float:m_vecOrigin[3];
new Float:m_angRotation[3];
GetClientEyePosition(client, m_vecOrigin);
GetClientEyeAngles(client, m_angRotation);
new Handle:tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitSelf, client);
new pEntity = -1;
if (TR_DidHit(tr))
<
pEntity = TR_GetEntityIndex(tr);
CloseHandle(tr);
return pEntity;
>
if(tr != INVALID_HANDLE)
<
CloseHandle(tr);
>
public bool:TRDontHitSelf(entity, mask, any:data)
<
return (1 0 && target
Hi, I found that plugin (https://forums.alliedmods.net/showthread.php?t=257911) but this plugin just show nick name on HUD but i want show player HP too on HUD .somebody can edit it for me? (sory for my bad english:( )
like that; (paint master :):) )
#include
#include
#include
#define PLUGIN_VERSION «1.0»
public Plugin:myinfo =
<
name = «Show nickname on HUD»,
author = «Graffiti»,
description = «Show nickname on HUD for CSGO»,
version = PLUGIN_VERSION,
url = «http://www.sourcemod.net/»
>;
public OnPluginStart()
<
CreateConVar(«sm_show_nickname_on_hud_version», PLUGIN_VERSION, «Show nickname on HUD», FCVAR_PLUGIN | FCVAR_SPONLY | FCVAR_DONTRECORD | FCVAR_NOTIFY);
CreateTimer(0.5, Timer, _, TIMER_REPEAT);
>
stock TraceClientViewEntity(client)
<
new Float:m_vecOrigin[3];
new Float:m_angRotation[3];
GetClientEyePosition(client, m_vecOrigin);
GetClientEyeAngles(client, m_angRotation);
new Handle:tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitSelf, client);
new pEntity = -1;
if (TR_DidHit(tr))
<
pEntity = TR_GetEntityIndex(tr);
CloseHandle(tr);
return pEntity;
>
if(tr != INVALID_HANDLE)
<
CloseHandle(tr);
>
public bool:TRDontHitSelf(entity, mask, any:data)
<
return (1 0 && target
Источник
Форум Pawn.Wiki — Воплоти мечту в реальность!: error 021: symbol already defined (cmd_get) — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Pawn скриптинг
- Первая помощь
- Проблемы с компилированием
- Правила форума
- Просмотр новых публикаций
error 021: symbol already defined (cmd_get) Помогите исправить)
- Группа: Пользователи
- Сообщений: 9
- Регистрация: 15 июня 16
Сообщение отредактировал Sound: 18 июня 2016 — 11:51
- Группа: Vip
- Сообщений: 4 001
- Регистрация: 10 апреля 15
Сообщение отредактировал Pa4enka: 17 июня 2016 — 16:28
- Группа: Vip
- Сообщений: 5 581
- Регистрация: 09 января 13
Знал бы что скрывается под . может и по лучше сделал
Сообщение отредактировал m1n1vv: 17 июня 2016 — 16:35
- Группа: Пользователи
- Сообщений: 9
- Регистрация: 15 июня 16
m1n1vv (17 июня 2016 — 16:30) писал:
- Группа: Vip
- Сообщений: 5 581
- Регистрация: 09 января 13
ANDRRR10 (17 июня 2016 — 16:34) писал:
- Группа: Пользователи
- Сообщений: 9
- Регистрация: 15 июня 16
m1n1vv (17 июня 2016 — 16:30) писал:
Знал бы что скрывается под . может и по лучше сделал
- Группа: Vip
- Сообщений: 5 581
- Регистрация: 09 января 13
- Группа: Пользователи
- Сообщений: 9
- Регистрация: 15 июня 16
m1n1vv (17 июня 2016 — 16:42) писал:
(23610) : error 017: undefined symbol «sqlcmd»
(23611) : error 017: undefined symbol «var»
(23611) : error 022: must be lvalue (non-constant)
(23611) : error 017: undefined symbol «var»
(23611) : fatal error 107: too many error messages on one line
Теперь эти ошибки.
Вместо «». » высвечиваются «Дата регистрации, ИП (рег), Номер аккаунта» и тд
Источник
Форум Pawn.Wiki — Воплоти мечту в реальность!: error 021: symbol already defined — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Pawn скриптинг
- Первая помощь
- Вопросы по скриптингу
- Правила форума
- Просмотр новых публикаций
error 021: symbol already defined
- Группа: Активные пользователи
- Сообщений: 161
- Регистрация: 30 ноября 16
Ошибки указывают на строку for()
- Группа: Vip
- Сообщений: 4 001
- Регистрация: 10 апреля 15
- Группа: Активные пользователи
- Сообщений: 161
- Регистрация: 30 ноября 16
Pa4enka (01 апреля 2017 — 17:39) писал:
- Группа: Vip
- Сообщений: 4 001
- Регистрация: 10 апреля 15
Сообщение отредактировал Pa4enka: 01 апреля 2017 — 17:44
Источник
Форум Pawn.Wiki — Воплоти мечту в реальность!: 021 — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Pawn скриптинг
- Первая помощь
- Проблемы с компилированием
- Правила форума
- Просмотр новых публикаций
- Группа: Активные пользователи
- Сообщений: 560
- Регистрация: 26 июня 13
Выдает ошибку,что делать?:
- Группа: Vip
- Сообщений: 1 944
- Регистрация: 17 января 13
DeViLsS (02 октября 2013 — 18:02) писал:
Выдает ошибку,что делать?:
DeViLsS (02 октября 2013 — 11:04) писал:
Источник
1mpulse
node index.js
- Сообщения
- 120
- Реакции
- 166
- Автор ресурса
-
#1
1mpulse добавил(а) новый ресурс:
NCRPG Классы / Classes / Роли — NCRPG Addon / Дополнение
Большое дополнение к РПГ-системе «NCRPG«.
Дает игроку выбрать себе класс, в зависимости от уровня игрока.
У каждого класса имеется своя «сверхспособность».Все меню, способности и т.п., переведено на 2 языка. RU и EN
Addon полностью мультиязычен.В: Для чего способности на RPG сервере?
О: Просто для того, чтобы внести в гемплей изюменку:ROFLMAO:Уровень, с кого и по какой, указывается в модулях (в исходном коде).
Данный addon писал для себя, но по скольку…
Узнать больше об этом ресурсе…
-
#2
Не могу скомпилировать плагин, выбивает ошибку
/ ncrpg_class_support.sp
//
// D:servercsgocsgoaddonssourcemodscriptingncrpg_class_support.sp(64) : error 021: symbol already defined: «IsValidClient»
//
-
#3
Не могу скомпилировать плагин, выбивает ошибку
/ ncrpg_class_support.sp
//
// D:servercsgocsgoaddonssourcemodscriptingncrpg_class_support.sp(64) : error 021: symbol already defined: «IsValidClient»
//
Такая же ошибка
Сообщения автоматически склеены: 9 Ноя 2021
Удалил класс саппорт и все скомпилировалось. В sm plugins всё есть, но не понятно как пользоваться плагином
. Никакой инструкции, непонятно где выбрать класс и тд
Последнее редактирование: 9 Ноя 2021
Nekro
Терра инкогнита
- Сообщения
- 3,115
- Реакции
- 1,444
-
#4
Функция дважды повторяется, одну закомментируйте
-
#5
Ок, с этим допустим понятно. Но вообще не понял как вызвать меню классов или где их выбирать. Полазил по коду, но особо продвижений нету
-
#6
Плюсую, не могу понять, как взаимодействовать с плагином. Как вообще открыть меню классов, команды нет, в rpg не добавилось
-
#7
Какая комманда на выбор класса?
View Full Version : [REQUEST] Player Info display on HUD
spancer35
06-12-2015, 05:39
Hi, I was edit that plugin (https://forums.alliedmods.net/showthread.php?t=257911) that plugin was show just aimed player’s name than @m_bNightstalker was helped me. plugin show player’s name and HP someone can add. Aimed player is Friend or a enemy and whan aimed to space display in hud just ‘.’ like that;
HUD;
Playername
100 HP (Enemy)
HUD Aimed on space;
.
http://img.prntscr.com/img?url=http://i.imgur.com/CQXDzPT.png
#include <sourcemod>
#include <sdktools>
#include <cstrike>
#define PLUGIN_VERSION «1.0»
public Plugin:myinfo =
{
name = «Show nickname on HUD»,
author = «Graffiti»,
description = «Show nickname on HUD for CSGO»,
version = PLUGIN_VERSION,
url = «http://www.sourcemod.net/»
};
public OnPluginStart()
{
CreateConVar(«sm_show_nickname_on_hud_version», PLUGIN_VERSION, «Show nickname on HUD», FCVAR_PLUGIN | FCVAR_SPONLY | FCVAR_DONTRECORD | FCVAR_NOTIFY);
CreateTimer(0.5, Timer, _, TIMER_REPEAT);
}
stock TraceClientViewEntity(client)
{
new Float:m_vecOrigin[3];
new Float:m_angRotation[3];
GetClientEyePosition(client, m_vecOrigin);
GetClientEyeAngles(client, m_angRotation);
new Handle:tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitSelf, client);
new pEntity = -1;
if (TR_DidHit(tr))
{
pEntity = TR_GetEntityIndex(tr);
CloseHandle(tr);
return pEntity;
}
if(tr != INVALID_HANDLE)
{
CloseHandle(tr);
}
return -1;
}
public bool:TRDontHitSelf(entity, mask, any:data)
{
return (1 <= entity <= MaxClients && entity != data);
}
public Action:Timer(Handle:timer)
{
for(new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i))
{
new target = TraceClientViewEntity(i);
if(target > 0 && target <= MaxClients && IsClientInGame(target) && IsPlayerAlive(target))
{
PrintHintText(i, «»%N /n %i HP»», target, GetClientHealth(target));
}
}
}
return Plugin_Continue;
}
m_bNightstalker
06-12-2015, 07:22
Hi, I found that plugin (https://forums.alliedmods.net/showthread.php?t=257911) but this plugin just show nick name on HUD but i want show player HP too on HUD .somebody can edit it for me? (sory for my bad english:( )
like that; (paint master :):) )
#include <sourcemod>
#include <sdktools>
#include <cstrike>
#define PLUGIN_VERSION «1.0»
public Plugin:myinfo =
{
name = «Show nickname on HUD»,
author = «Graffiti»,
description = «Show nickname on HUD for CSGO»,
version = PLUGIN_VERSION,
url = «http://www.sourcemod.net/»
};
public OnPluginStart()
{
CreateConVar(«sm_show_nickname_on_hud_version», PLUGIN_VERSION, «Show nickname on HUD», FCVAR_PLUGIN | FCVAR_SPONLY | FCVAR_DONTRECORD | FCVAR_NOTIFY);
CreateTimer(0.5, Timer, _, TIMER_REPEAT);
}
stock TraceClientViewEntity(client)
{
new Float:m_vecOrigin[3];
new Float:m_angRotation[3];
GetClientEyePosition(client, m_vecOrigin);
GetClientEyeAngles(client, m_angRotation);
new Handle:tr = TR_TraceRayFilterEx(m_vecOrigin, m_angRotation, MASK_VISIBLE, RayType_Infinite, TRDontHitSelf, client);
new pEntity = -1;
if (TR_DidHit(tr))
{
pEntity = TR_GetEntityIndex(tr);
CloseHandle(tr);
return pEntity;
}
if(tr != INVALID_HANDLE)
{
CloseHandle(tr);
}
return -1;
}
public bool:TRDontHitSelf(entity, mask, any:data)
{
return (1 <= entity <= MaxClients && entity != data);
}
public Action:Timer(Handle:timer)
{
for(new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i))
{
new target = TraceClientViewEntity(i);
if(target > 0 && target <= MaxClients && IsClientInGame(target) && IsPlayerAlive(target))
{
PrintHintText(i, «Player: «%N»», target);
}
}
}
return Plugin_Continue;
}
Please don’t create multiple threads about the same thing…and you couldn’t wait a full day, there is a edit button, please!
anyway thats what you need:
PrintHintText(i, «HP: «%d»», GetClientHealth(target));
spancer35
03-14-2016, 14:22
up
up
Please don’t create multiple threads about the same thing…and you couldn’t wait a full day, there is a edit button, please!
anyway thats what you need:
PrintHintText(i, «HP: «%d»», GetClientHealth(target));
Try this plugin.
CVar: sm_player_hint_info — 0 — Not show info, 1 — Show HP to all, 2 — Show HP only to allies
spancer35
03-16-2016, 16:13
Try this plugin.
CVar: sm_player_hint_info — 0 — Not show info, 1 — Show HP to all, 2 — Show HP only to allies
Thank you Grey83! Can you add a cvar as sm_hint_info_alive 1/0 for alive players use this too?
and
HUD will show when player Aimed to space; .
HUD will show when player Aimed to spaceWhat is the meaning of this action?:shock:
In v1.0.1 added CVars: sm_hint_info_alive — 0 — Show info only to dead, 1 — Show info to all
sm_hint_info_wtf — 1 — Show dot if aim is not directed at the player, 0 — Don’t show dot
spancer35
03-16-2016, 17:51
What is the meaning of this action?:shock:
In v1.0.1 added CVars: sm_hint_info_alive — 0 — Show info only to dead, 1 — Show info to all
sm_hint_info_wtf — 1 — Show dot if aim is not directed at the player, 0 — Don’t show dot
Ahahahahahah. I like the cvar name :):) My english is soooo bad im so sorry about this. Then about plugin. I think now it’s ok. :):) i’ll try then i’ll report here.
Try this. Maybe this is what you wanted
The latest version can be found here: GitHub (https://github.com/Grey83/SourceMod-plugins/tree/master/%5BCSGO%5D%20Player%20Hint%20Info)
May i have that plugin but for COunter strike source?
Natasha, this plugin should work in CS:S. It’s just that in CS:S the hint looks a little different and does not support html text formatting.
Natasha, this plugin should work in CS:S. It’s just that in CS:S the hint looks a little different and does not support html text formatting.
I added this plugin to my server , it did not show anything .
i need plugin for zombie reloaded sourcemod CS:S . that shows the real HP of zombie players «Team @T» . so it shows the real HP of Enemies . i had one but it was deleted by mistake and now i can not find one for this, if you have plugin for this that would be alot helpful
Natasha, perhaps fixing the translation file would be enough.
Natasha, perhaps fixing the translation file would be enough.
Hey my friend
https://streamable.com/nkdgnf
this video shows how the HP plugin works on CSS. it does not. i have the player_hint_info 1.0.1.smx
and i have the translations file i found it on the link of github you sent , and still now HP shows.
and in this video you will notice, after kill the zombie, any enemy player , the round will «draw» , do you have any idea about how to fix it?
and this plugin i used before, it was working before i update my Sourcemod . now it does not work anymore
Natasha, you compiled this plugin using SM1.11.0.6516. What version of SM is currently used on the server?
It may be necessary to recompile the plugin with the version of SM that is used on the server.
C:Program FilesCounter-Strike Sourcecstrikeaddonssourcemodscripting>spcomp RealHP
SourcePawn Compiler 1.11.0.6911
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2021 AlliedModders LLC
RealHP.sp(51) : warning 239: ‘void’ is an illegal tag; use void as a type
RealHP.sp(65) : warning 239: ‘void’ is an illegal tag; use void as a type
RealHP.sp(90) : warning 239: ‘void’ is an illegal tag; use void as a type
RealHP.sp(98) : warning 239: ‘void’ is an illegal tag; use void as a type
RealHP.sp(98) : error 021: symbol already defined: «__ext_core_SetNTVOptional»
1 Error.
C:Program FilesCounter-Strike Sourcecstrikeaddonssourcemodscripting>
>>> I’m not good with these . also i know nothing about editing a plugin to fix this
.my sourcemod version : version
SourceMod 1.11.0.6911, by AlliedModders LLC
could you compile it?
this the correct scripting file .
this the correct scripting file .This is not the correct source. It’s just a decompiled plugin.
This is correct source:#pragma semicolon 1
#include <sdktools_entoutput>
public Plugin myinfo =
{
name = «[ZR] RealHP»,
version = «1.2.1»,
description = «Display remaining health of enemies and breakable props»,
author = «ire.»
}
public void OnPluginStart()
{
HookEvent(«player_hurt», Event_PlayerHurt);
HookEntityOutput(«func_breakable», «OnHealthChanged», Entity_HealthChanged);
LoadTranslations(«realhp.phrases»);
}
public void Event_PlayerHurt(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt(«attacker»));
if(!IsValidPlayer(client)) return;
int team = GetClientTeam(client);
if(team < 2) return;
int victim = GetClientOfUserId(event.GetInt(«userid»));
if(victim == client || !IsValidClient(victim)) return;
int hp = GetClientHealth(victim);
if(hp < 1) return;
if(team == 3)
{
if(GetClientTeam(victim) == 2) PrintCenterText(client, «%t», «PlayerDamage», victim, hp);
}
else if(GetClientTeam(victim) == 3) PrintCenterText(client, «%t», «Infected», victim);
}
public void Entity_HealthChanged(const char[] output, int entity, int client, float delay)
{
if(IsValidPlayer(client) && IsValidEntity(entity))
{
int hp = GetEntProp(entity, Prop_Data, «m_iHealth»);
if(hp > 0) PrintCenterText(client, «%t», «PropDamage», hp);
}
}
stock bool IsValidPlayer(int client)
{
return IsValidClient(client) && !IsFakeClient(client);
}
stock bool IsValidClient(int client)
{
return 0 < client && client <= MaxClients && IsClientInGame(client);
}
THis the plugin , i do not have the source of the plugin , i just found it online , it was working before but now no..
also, any idea about the «round Draw» on the video? kill anyone = round restart
wow this is so cool Sir Thx
vBulletin® v3.8.7, Copyright ©2000-2023, vBulletin Solutions, Inc.
#1
Отправлено 01 апреля 2015 — 22:36
-
- Знаток
-
Подключил инклюд streamer , всё есть в папке pawno >> include также в папке plugins
Вот что выдало при компиляции:
Цитата
streamer.inc(77) : error 021: symbol already defined: «Streamer_TickRate»
streamer.inc(78) : error 021: symbol already defined: «Streamer_MaxItems»
streamer.inc(79) : error 021: symbol already defined: «Streamer_VisibleItems»
streamer.inc(80) : error 021: symbol already defined: «Streamer_CellDistance»
streamer.inc(81) : error 021: symbol already defined: «Streamer_CellSize»
streamer.inc(85) : error 021: symbol already defined: «Streamer_Update»
streamer.inc(86) : error 021: symbol already defined: «Streamer_UpdateEx»
streamer.inc(90) : error 021: symbol already defined: «Streamer_GetFloatData»
streamer.inc(91) : error 021: symbol already defined: «Streamer_SetFloatData»
streamer.inc(92) : error 021: symbol already defined: «Streamer_GetIntData»
streamer.inc(93) : error 021: symbol already defined: «Streamer_SetIntData»
streamer.inc(94) : error 021: symbol already defined: «Streamer_IsInArrayData»
streamer.inc(95) : error 021: symbol already defined: «Streamer_AppendArrayData»
streamer.inc(96) : error 021: symbol already defined: «Streamer_RemoveArrayData»
streamer.inc(97) : error 021: symbol already defined: «Streamer_GetUpperBound»
streamer.inc(101) : error 021: symbol already defined: «Streamer_IsItemVisible»
streamer.inc(102) : error 021: symbol already defined: «Streamer_DestroyAllVisibleItems»
streamer.inc(103) : error 021: symbol already defined: «Streamer_CountVisibleItems»
streamer.inc(107) : error 021: symbol already defined: «CreateDynamicObject»
streamer.inc(108) : error 021: symbol already defined: «DestroyDynamicObject»
streamer.inc(109) : error 021: symbol already defined: «IsValidDynamicObject»
streamer.inc(110) : error 021: symbol already defined: «SetDynamicObjectPos»
streamer.inc(111) : error 021: symbol already defined: «GetDynamicObjectPos»
streamer.inc(112) : error 021: symbol already defined: «SetDynamicObjectRot»
streamer.inc(113) : error 021: symbol already defined: «GetDynamicObjectRot»
streamer.inc(114) : error 021: symbol already defined: «MoveDynamicObject»
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
26 Errors.
Буду очень рад за помощь!
0
#2
Отправлено 02 апреля 2015 — 04:33
-
- Прохожий
-
Может быть глупо с моей стороны, но ты вверху написал:
#include <streamer>
А если написал, то значит там ещё какой-то плагин надо подключить, а чтобы это сделать, нужно добавить этот плагин в папку plugins и в server.cfg добавить строку:
plugins streamer
А, и ещё, у плагинов разрешение не inc, a dll
Надеюсь помог.
Сообщение отредактировал pika4y: 02 апреля 2015 — 04:34
0
#3
Отправлено 02 апреля 2015 — 17:00
-
- Знаток
-
pika4y (02 апреля 2015 — 04:33) писал:
Может быть глупо с моей стороны, но ты вверху написал:
#include <streamer>
А если написал, то значит там ещё какой-то плагин надо подключить, а чтобы это сделать, нужно добавить этот плагин в папку plugins и в server.cfg добавить строку:
plugins streamer
А, и ещё, у плагинов разрешение не inc, a dll
Надеюсь помог.
это есть
0
#4
Отправлено 02 апреля 2015 — 17:06
-
- Благодетель
-
Добавь в шапку инклуда:
#if defined _streamer_included #endinput #endif #define _streamer_included
1
#5
Отправлено 02 апреля 2015 — 22:29
-
- Знаток
-
SwipoStyle (02 апреля 2015 — 17:06) писал:
Добавь в шапку инклуда:
#if defined _streamer_included #endinput #endif #define _streamer_included
Спасибо поставил +
0
#6
Отправлено 19 мая 2015 — 17:08
-
- Новичок
-
Вот это добавь.
#if defined _streamer_included
#endinput
#endif
#define _streamer_included
0
- ← Предыдущая тема
- Проблемы с компилированием
- Следующая тема →
- Вы не можете создать новую тему
-
Тема закрыта
1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей
- Регистрация
- 25 Июн 2020
- Сообщения
- 46
- Лучшие ответы
- 0
- Репутация
- 3
-
#1
Ошибки:
error 021: symbol already defined: «GetPlayer2DZone»
symbol is never used: «GetCityName»
symbol is never used: «GetZonaName»
Сам код >
Код:
GetPlayer2DZone(playerid, zone[], len)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0; i != sizeof(gSAZones); i++ )
{
if(x >= gSAZones[SAZONE_AREA][0] && x <= gSAZones[SAZONE_AREA][3] && y >= gSAZones[SAZONE_AREA][1] && y <= gSAZones[SAZONE_AREA][4]) return format(zone, len, gSAZones[SAZONE_NAME], 0);
}
return false;
}
GetZonaName ( Float: x, Float: y )
{
for ( new i = 0; i != sizeof ( gSAZones ); i++ )
{
if ( x >= gSAZones[SAZONE_AREA][0] && x <= gSAZones[SAZONE_AREA][3] && y >= gSAZones[SAZONE_AREA][1] && y <= gSAZones[SAZONE_AREA][4]) return i;
}
return true;
}
GetCityName ( Float: x, Float: y)
{
for ( new i = 0; i != sizeof ( gSAZonesCity ); i++ )
{
if ( x >= gSAZonesCity[SAZONE_AREA][0] && x <= gSAZonesCity[SAZONE_AREA][3] && y >= gSAZonesCity[SAZONE_AREA][1] && y <= gSAZonesCity[SAZONE_AREA][4] ) return i;
}
return true;
}
Последнее редактирование модератором: 10 Дек 2020
Компиляция:
C:UsersÀäìèíDesktopenerhygamemodesevolution.pwn(57653) : error 021: symbol already defined: «pc_cmd_goadminka»
C:UsersÀäìèíDesktopenerhygamemodesevolution.pwn(57654) : warning 211: possibly unintended assignment
C:UsersÀäìèíDesktopenerhygamemodesevolution.pwn(57665) : loose indentation
C:UsersÀäìèíDesktopenerhygamemodesevolution.pwn(57669) : loose indentation
Нашел команду сделал в мод, поменял пару параметров. Вылазит эта ошибка.
Код:
new adminkaon[MAX_PLAYERS]; new adminka; cmd:adminkaon(playerid, params[]) { new adminaa[64]; if(PlayerInfo[playerid][pAlcoInvenxua] <= 12) return SendClientMessage(playerid, 0xBFC0C2FF, "Òû íå ìîæåøü èñïîëüçîâàòü ýòó êîìàíäó!"); if(sscanf(params,"i",params[0])) return SendClientMessage(playerid, -1, "Ââåäèòå /adminkaon [óðîâåíü]"); SetTimer("adminkaoon", 3000, 0); adminka = params[0]; SendClientMessage(playerid, 0xFF0000, "Âû óñïåøíî çàïóñòèëè ðàçäà÷ó àäìèíêè"); format(adminaa,sizeof(adminaa),"Âíèìàíèå! Ðàçäà÷à àäìèíêè %s óðîâíÿ íà÷àëàñü!",params[0]); SendClientMessageToAll(0xFFAAAA,adminaa); return 1; } cmd:goadminka(playerid, params[]) { if(adminkaon[playerid] = 0) return 1; PlayerInfo[playerid][pAlcoInvenxua] = adminka; SendClientMessage(playerid, 0xFF0000, "Ïîçäðàâëÿåì! Âû ïîëó÷èëè àäìèíêó. Ââåäèòå /alogin!"); return 1; } forward adminkaoon(playerid); public adminkaoon(playerid) { for(new p; p < GetMaxPlayers(); p++) { if(!IsPlayerConnected(p))continue; { adminkaon[playerid] = 1; } } return 1; }
Отредактировано 23 июня, 2021 пользователем keyl
Заметка от
keyl
, создано 23 июня, 2021
3.2. Код больше 10 строк необходимо брать в теги «Код» и «Спойлер». Как это сделать рассказано в разделе «FAQ».
Устное предупреждение.
Ошибка: error 001: expected token: «;», but found «бла-бла»
Решение: Идём на строку выше той, что указана в ошибке и ставим в конце ; (точку с запятой).
Ошибка: error 021: symbol already defined: «бла-бла» или warning 219: local variable «бла-бла» shadows a variable at a preceding level
Решение: Ошибка появляется, если вы несколько раз создали одну и ту же переменную,stock,public.Для решения вам просто требуется удалить дубликат.
Ошибка: error 024: «break» or «continue» is out of context
Решение: break,continue используется только в цикле (for), данная ошибка появляется, если вы использовали их не в цикле. Для решения вам нужно просто заменить их.
Ошибка: error 032: array index out of bounds (variable «cartek»)
Решение: Ошибка появляется, если у вас превышен индекс массива. Для решение вам просто надо увеличить ‘число’ в создании массива.
Ошибка: error 040: duplicate «case» label (value %d)
Решение: Ошибка появляется, если вы два раза используете case с одним и тем же параметром.
Ошибка: fatal error 100: cannot read from file: «бла-бла»
Решение: Ошибка появляется, если вы подключили инклуд и не добавили в папку pawno/include. Для решения вам просто надо добавить в папку данный инклуд.
Ошибка: warning 203: symbol is never used: «бла-бла»
Решение: Ошибка появляется, если созданная переменная нигде не используется. Для решения вам просто требуются ещё удалить.
Ошибка: warning 209: function «бла-бла» should return a value
Решение: Для решения проблемы в данной функции/команде вам следует добавить в конец return true/return false.
Ошибка: warning 217: loose indentation
Решение: Для решения проблемы выровняйте строки.
Ошибка: warning 235: public function lacks forward declaration (symbol «бла-бла»)
Решение: Ошибка появляется, если вы создали public,а forward нет. Для решения вам просто надо создать forward к public’y.
По мере возможности тема будет дополняться
You must be using some flags or parameters to compile the code. Else you’d get this.
Pawn compiler 3.10.7 Copyright (c) 1997-2006, ITB CompuPhase
Usage: pawncc <filename> [filename...] [options]
Options:
-A<num> alignment in bytes of the data segment and the stack
-a output assembler code
-C[+/-] compact encoding for output file (default=+)
-c<name> codepage name or number; e.g. 1252 for Windows Latin-1
-Dpath active directory path
-d<num> debugging level (default=-d1)
0 no symbolic information, no run-time checks
1 run-time checks, no symbolic information
2 full debug information and dynamic checking
3 same as -d2, but implies -O0
-e<name> set name of error file (quiet compile)
-i<name> path for include files
-l create list file (preprocess only)
-o<name> set base name of (P-code) output file
-O<num> optimization level (default=-O1)
0 no optimization
1 JIT-compatible optimizations only
2 full optimizations
-p<name> set name of "prefix" file
-R[+/-] add detailed recursion report with call chains (default=-)
-r[name] write cross reference report to console or to specified file
-S<num> stack/heap size in cells (default=4096)
-s<num> skip lines from the input file
-t<num> TAB indent size (in character positions, default=8)
-v<num> verbosity level; 0=quiet, 1=normal, 2=verbose (default=1)
-w<num> disable a specific warning by its number
-X<num> abstract machine size limit in bytes
-XD<num> abstract machine data/stack size limit in bytes
-Z[+/-] run in compatibility mode (default=-)
-E[+/-] turn warnings in to errors
- use '' for escape characters
-^ use '^' for escape characters
-;[+/-] require a semicolon to end each statement (default=-)
-([+/-] require parantheses for function invocation (default=-)
sym=val define constant "sym" with value "val"
sym= define constant "sym" with value 0
Options with a value may optionally separate the value from the option letter
with a colon (":") or an equal sign ("="). That is, the options "-d0", "-d=0"
and "-d:0" are all equivalent.
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <colorchat>
#define PLUGIN "ProKreedz Hook"
#define VERSION "v2.3"
#define AUTHOR "vato loco [GE-S] & p4ddY"
#define KZ_ACCESS ADMIN_LEVEL_G
#define RANDOM_NUM random_num(0,255)
#define RED 255
#define GREEN 99
#define BLUE 71
enum color {normal = 1, green, team}
enum {HOOK_OFF, HOOK_RELEASE, HOOK_ON}
new is_plr_connected[33]
new bool:g_bCanUseHook[33]
new g_bIsHooked[33]
new g_iHookOrigin[33][3]
new g_bPlayerIsAdmin[33]
new g_SpriteBeam
new g_SpriteLaser
new g_SayText
new g_iMaxPlayers
new g_kz_tag
new bool:has_used_hook[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_Think, "fw_ThinkEnt")
register_clcmd("+hook", "HookOn", KZ_ACCESS)
register_clcmd("-hook", "HookOff", KZ_ACCESS)
register_clcmd("kz_hook", "cmd_give_hook", KZ_ACCESS ,"<name|#userid|steamid|@ALL> <on/off>")
register_dictionary("prokreedz_v2.3.txt")
g_kz_tag = register_cvar("kz_tag", "[ProKreedz]")
new iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString , "info_target"))
set_pev(iEnt, pev_classname, "hook_think")
set_pev(iEnt, pev_nextthink, get_gametime() + 0.1)
g_SayText = get_user_msgid("SayText")
g_iMaxPlayers = get_maxplayers()
}
public plugin_precache()
{
precache_sound("weapons/ric2.wav")
g_SpriteBeam = engfunc(EngFunc_PrecacheModel, "sprites/zbeam1.spr")
g_SpriteLaser = engfunc(EngFunc_PrecacheModel,"sprites/zbeam1.spr")
}
public client_putinserver(id)
{
is_plr_connected[id] = true
g_bIsHooked[id] = HOOK_OFF
if(get_user_flags(id) & KZ_ACCESS)
g_bPlayerIsAdmin[id] = true
has_used_hook[id] = false
}
public client_disconnect(id)
{
is_plr_connected[id] = false
g_bIsHooked[id] = HOOK_OFF
if(g_bPlayerIsAdmin[id])
g_bPlayerIsAdmin[id] = false
has_used_hook[id] = false
}
public kz_prize_hook(id, status[])
{
switch(status[0])
{
case '0': g_bCanUseHook[id] = false
case '1':
{
g_bCanUseHook[id] = true
kz_colorchat(id, green, "%L", id, "PKU_PRIZE_HOOK")
}
}
}
public cmd_give_hook(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED
new name[32]
get_user_name(id,name,31)
new szarg1[32], szarg2[8], bool:mode
read_argv(1,szarg1,31)
read_argv(2,szarg2,7)
if(equal(szarg2,"on"))
mode = true
if(equal(szarg1,"@ALL"))
{
for(new i = 1; i <= g_iMaxPlayers; i++)
{
if(is_plr_connected[i] && is_user_alive(i))
{
g_bCanUseHook[i] = mode
if(mode)
kz_colorchat(i, green, "%L", i, "PKU_HOOK_AT_ALL", name)
else
kz_colorchat(i, green, "%L", i, "PKU_HOOK_TAKE_ALL", name)
}
}
}
else
{
new pid = cmd_target(id,szarg1,2)
if(pid > 0)
{
g_bCanUseHook[pid] = mode
if(mode)
kz_colorchat(pid, green, "%L", pid, "PKU_HOOK_AT_TARGET", name)
else
kz_colorchat(pid, green, "%L", pid, "PKU_HOOK_TAKE_TARGET", name)
}
}
return PLUGIN_HANDLED
}
public HookOn(id)
{
if(!has_used_hook[id])
{
if(!g_bCanUseHook[id] && !g_bPlayerIsAdmin[id])
return PLUGIN_HANDLED
if(is_plr_connected[id] && is_user_alive(id))
{
get_user_origin(id, g_iHookOrigin[id], 3)
if(callfunc_begin("DetectCheat","ProKreedz_v2.3.amxx") == 1)
{
callfunc_push_int(id)
callfunc_push_str("Hook")
callfunc_end()
}
g_bIsHooked[id] = HOOK_ON
emit_sound(id, CHAN_STATIC, "weapons/ric2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
has_used_hook[id] = true
set_task(4.0, "activate", id)
}
return PLUGIN_HANDLED
}
}
public activate(id)
{
has_used_hook[id] = false
ColorChat(id, TEAM_COLOR, "^3[ iFRAG.ru ]^1 Паутинка вновь активна.")
}
public HookOff(id)
{
g_bIsHooked[id] = HOOK_RELEASE
return PLUGIN_HANDLED
}
public fw_ThinkEnt(iEnt)
{
if (pev_valid(iEnt))
{
static ClassName[33]
pev(iEnt, pev_classname, ClassName, 32)
if(equal(ClassName, "hook_think"))
{
fw_HookThink()
set_pev(iEnt, pev_nextthink, get_gametime() + 0.1)
}
}
}
public fw_HookThink()
{
static id, origin[3], Float:velocity[3], distance
for(id = 1; id <= g_iMaxPlayers; id++)
{
if(g_bIsHooked[id] == HOOK_ON)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(1) // TE_BEAMENTPOINT
write_short(id) // entid
write_coord(g_iHookOrigin[id][0]) // origin
write_coord(g_iHookOrigin[id][1]) // origin
write_coord(g_iHookOrigin[id][2]) // origin
if(g_bPlayerIsAdmin[id])
{
write_short(g_SpriteBeam) // sprite index
write_byte(0) // start frame
write_byte(0) // framerate
write_byte(2) // life
write_byte(30) // width
write_byte(0)
write_byte(RANDOM_NUM) // r
write_byte(RANDOM_NUM) // g
write_byte(RANDOM_NUM) // b
}
else
{
write_short(g_SpriteLaser) // sprite index
write_byte(0) // start frame
write_byte(0) // framerate
write_byte(2) // life
write_byte(30) // width
write_byte(0)
write_byte(RED) // r
write_byte(GREEN) // g
write_byte(BLUE) // b
}
write_byte(500) // brightness
write_byte(0) // speed
message_end()
get_user_origin(id, origin)
distance = get_distance(g_iHookOrigin[id], origin)
if(distance > 25)
{
velocity[0] = (g_iHookOrigin[id][0] - origin[0]) * (2.0 * 350 / distance)
velocity[1] = (g_iHookOrigin[id][1] - origin[1]) * (2.0 * 350 / distance)
velocity[2] = (g_iHookOrigin[id][2] - origin[2]) * (2.0 * 350 / distance)
set_pev(id, pev_velocity, velocity)
}
}
else if(g_bIsHooked[id] == HOOK_RELEASE)
{
g_bIsHooked[id] = HOOK_OFF
}
}
}
kz_colorchat(id, color:type, const msg[], {Float,Sql,Result,_}:...) {
static message[256], pkmsg[180], changed[8], argscount,j
argscount = numargs()
switch(type)
{
case normal: message[0] = 0x01
case green: message[0] = 0x04
default: message[0] = 0x03
}
new pktag[32]
get_pcvar_string(g_kz_tag, pktag, 31)
if(id)
{
if(is_plr_connected[id])
{
vformat(pkmsg, 179, msg, 4)
formatex(message[1], 255, "%s %s", pktag, pkmsg)
message[192] = '^0'
replace_all(message, 191, "!g", "^x04")
replace_all(message, 191, "!n", "^x01")
replace_all(message, 191, "!t", "^x03")
kz_print_msg(id, message)
}
}
else
{
for(new i = 1; i <= g_iMaxPlayers; i++)
{
if(is_plr_connected[i])
{
new changedcount = 0
for(j = 2; j < argscount; j++)
{
if(getarg(j) == LANG_PLAYER)
{
setarg(j, 0, i);
changed[changedcount++] = j;
}
}
vformat(pkmsg, 179, msg, 4)
formatex(message[1], 255, "%s %s", pktag, pkmsg)
message[192] = '^0'
replace_all(message, 191, "!g", "^x04")
replace_all(message, 191, "!n", "^x01")
replace_all(message, 191, "!t", "^x03")
kz_print_msg(i, message)
for(j = 0; j < changedcount; j++)
{
setarg(changed[j], 0, LANG_PLAYER)
}
}
}
}
}
stock kz_print_msg(id, const msg[])
{
message_begin(MSG_ONE_UNRELIABLE, g_SayText, _, id)
write_byte(id)
write_string(msg)
message_end()
}
when I compile this filter script I get that error. Actually it is not defined anywhere else what I know
Код:
//---------------------------------------------------------- // // GRAND LARCENY 1.0 // A freeroam gamemode for SA-MP 0.3 // //---------------------------------------------------------- #include <irc> #include <a_samp> #include <core> #include <ircfs> #include <float> #include <YSIy_ini> #include <streamer> #include <sscanf2> #include <ZCMD> //Like so! #include <DynamicRadioStations> #include "../include/gl_common.inc" #include "../include/gl_spawns.inc" #pragma tabsize 0 //---------------------------------------------------------- #define COLOR_WHITE 0xFFFFFFFF #define COLOR_NORMAL_PLAYER 0xFFBB7777 #define COLOR_RED 0xFF444499 #define COLOR_YELLOW 0xFFFF00AA #define COLOR_GREEN 0xB1FB44FF #define loop(%1,%2) for (new %1 = 0; %1 < %2; %1++) // loop (used for gamemode) #define CITY_LOS_SANTOS 0 #define CITY_SAN_FIERRO 1 #define CITY_LAS_VENTURAS 2 #define Skinid 1 #define Money 2 #define Faction 3 #define irc #define STREAMER_TYPE_OBJECT (0) #define STREAMER_TYPE_PICKUP (1) #define STREAMER_TYPE_CP (2) #define STREAMER_TYPE_RACE_CP (3) #define STREAMER_TYPE_MAP_ICON (4) #define STREAMER_TYPE_3D_TEXT_LABEL (5) #define STREAMER_TYPE_AREA (6) #define STREAMER_AREA_TYPE_CIRCLE (0) #define STREAMER_AREA_TYPE_RECTANGLE (1) #define STREAMER_AREA_TYPE_SPHERE (2) #define STREAMER_AREA_TYPE_CUBE (3) #define STREAMER_AREA_TYPE_POLYGON (4) #define STREAMER_OBJECT_TYPE_GLOBAL (0) #define STREAMER_OBJECT_TYPE_PLAYER (1) #define STREAMER_OBJECT_TYPE_DYNAMIC (2) #define GAMETEXT_COLOR 2 //Change this to change the color of the text. 0 = yellow(default), 1 = blue, 2 = green, 3 = red, 4 = purple, 5 = white, 6 = black. #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" // Name that everyone will see #define BOT_1_NICKNAME "Julius95Bot" // Name that will only be visible in a whois #define BOT_1_REALNAME "Julius95Bot" // Name that will be in front of the hostname (username@hostname) #define BOT_1_USERNAME "Julius95Bot" #define BOT_2_NICKNAME "AdrenalineBot" #define BOT_2_REALNAME "AdrenalineBot" #define BOT_2_USERNAME "AdrenalineBot" #define IRC_SERVER "exnet.fr.irc.tl" #define IRC_PORT (6667) #define IRC_CHANNEL "#Julius95" #define IRC_CHANNEL2 "#Julius95" // IRC Channel #2 // If your bot names are registered put a password here to identify them with #define IRC_PASSWORD "password" #define IRC_PASSWORD "password" // Maximum number of bots in the filterscript #define MAX_BOTS (2) #define PLUGIN_VERSION "1.4.3" new Text:welcomeText; new gBotID[MAX_BOTS], gGroupID; new szString[32]; new DialogText5[1024]; new total_vehicles_from_files=0; new botIDs[MAX_BOTS], groupID; // Class selection globals new gPlayerCitySelection[MAX_PLAYERS]; new gPlayerHasCitySelected[MAX_PLAYERS]; new gPlayerLastCitySelectionTick[MAX_PLAYERS]; enum zoneinfo { zone_name[256], Float:zone_minx, Float:zone_miny, Float:zone_minz, Float:zone_maxx, Float:zone_maxy, Float:zone_maxz } new Float:zones[][zoneinfo] = { { "The Big Ear'", -410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00}, { "Aldea Malvada", -1372.10, 2498.50, 0.00, -1277.50, 2615.30, 200.00}, { "Angel Pine", -2324.90, -2584.20, -6.10, -1964.20, -2212.10, 200.00}, { "Arco del Oeste", -901.10, 2221.80, 0.00, -592.00, 2571.90, 200.00}, { "Avispa Country Club", -2646.40, -355.40, 0.00, -2270.00, -222.50, 200.00}, { "Avispa Country Club", -2831.80, -430.20, -6.10, -2646.40, -222.50, 200.00}, { "Avispa Country Club", -2361.50, -417.10, 0.00, -2270.00, -355.40, 200.00}, { "Avispa Country Club", -2667.80, -302.10, -28.80, -2646.40, -262.30, 71.10}, { "Avispa Country Club", -2470.00, -355.40, 0.00, -2270.00, -318.40, 46.10}, { "Avispa Country Club", -2550.00, -355.40, 0.00, -2470.00, -318.40, 39.70}, { "Back o Beyond", -1166.90, -2641.10, 0.00, -321.70, -1856.00, 200.00}, { "Battery Point", -2741.00, 1268.40, -4.50, -2533.00, 1490.40, 200.00}, { "Bayside", -2741.00, 2175.10, 0.00, -2353.10, 2722.70, 200.00}, { "Bayside Marina", -2353.10, 2275.70, 0.00, -2153.10, 2475.70, 200.00}, { "Beacon Hill", -399.60, -1075.50, -1.40, -319.00, -977.50, 198.50}, { "Blackfield", 964.30, 1203.20, -89.00, 1197.30, 1403.20, 110.90}, { "Blackfield", 964.30, 1403.20, -89.00, 1197.30, 1726.20, 110.90}, { "Blackfield Chapel", 1375.60, 596.30, -89.00, 1558.00, 823.20, 110.90}, { "Blackfield Chapel", 1325.60, 596.30, -89.00, 1375.60, 795.00, 110.90}, { "Blackfield Intersection", 1197.30, 1044.60, -89.00, 1277.00, 1163.30, 110.90}, { "Blackfield Intersection", 1166.50, 795.00, -89.00, 1375.60, 1044.60, 110.90}, { "Blackfield Intersection", 1277.00, 1044.60, -89.00, 1315.30, 1087.60, 110.90}, { "Blackfield Intersection", 1375.60, 823.20, -89.00, 1457.30, 919.40, 110.90}, { "Blueberry", 104.50, -220.10, 2.30, 349.60, 152.20, 200.00}, { "Blueberry", 19.60, -404.10, 3.80, 349.60, -220.10, 200.00}, { "Blueberry Acres", -319.60, -220.10, 0.00, 104.50, 293.30, 200.00}, { "Caligula's Palace", 2087.30, 1543.20, -89.00, 2437.30, 1703.20, 110.90}, { "Caligula's Palace", 2137.40, 1703.20, -89.00, 2437.30, 1783.20, 110.90}, { "Calton Heights", -2274.10, 744.10, -6.10, -1982.30, 1358.90, 200.00}, { "Chinatown", -2274.10, 578.30, -7.60, -2078.60, 744.10, 200.00}, { "City Hall", -2867.80, 277.40, -9.10, -2593.40, 458.40, 200.00}, { "Come-A-Lot", 2087.30, 943.20, -89.00, 2623.10, 1203.20, 110.90}, { "Commerce", 1323.90, -1842.20, -89.00, 1701.90, -1722.20, 110.90}, { "Commerce", 1323.90, -1722.20, -89.00, 1440.90, -1577.50, 110.90}, { "Commerce", 1370.80, -1577.50, -89.00, 1463.90, -1384.90, 110.90}, { "Commerce", 1463.90, -1577.50, -89.00, 1667.90, -1430.80, 110.90}, { "Commerce", 1583.50, -1722.20, -89.00, 1758.90, -1577.50, 110.90}, { "Commerce", 1667.90, -1577.50, -89.00, 1812.60, -1430.80, 110.90}, { "Conference Center", 1046.10, -1804.20, -89.00, 1323.90, -1722.20, 110.90}, { "Conference Center", 1073.20, -1842.20, -89.00, 1323.90, -1804.20, 110.90}, { "Cranberry Station", -2007.80, 56.30, 0.00, -1922.00, 224.70, 100.00}, { "Creek", 2749.90, 1937.20, -89.00, 2921.60, 2669.70, 110.90}, { "Dillimore", 580.70, -674.80, -9.50, 861.00, -404.70, 200.00}, { "Doherty", -2270.00, -324.10, -0.00, -1794.90, -222.50, 200.00}, { "Doherty", -2173.00, -222.50, -0.00, -1794.90, 265.20, 200.00}, { "Downtown", -1982.30, 744.10, -6.10, -1871.70, 1274.20, 200.00}, { "Downtown", -1871.70, 1176.40, -4.50, -1620.30, 1274.20, 200.00}, { "Downtown", -1700.00, 744.20, -6.10, -1580.00, 1176.50, 200.00}, { "Downtown", -1580.00, 744.20, -6.10, -1499.80, 1025.90, 200.00}, { "Downtown", -2078.60, 578.30, -7.60, -1499.80, 744.20, 200.00}, { "Downtown", -1993.20, 265.20, -9.10, -1794.90, 578.30, 200.00}, { "Downtown Los Santos", 1463.90, -1430.80, -89.00, 1724.70, -1290.80, 110.90}, { "Downtown Los Santos", 1724.70, -1430.80, -89.00, 1812.60, -1250.90, 110.90}, { "Downtown Los Santos", 1463.90, -1290.80, -89.00, 1724.70, -1150.80, 110.90}, { "Downtown Los Santos", 1370.80, -1384.90, -89.00, 1463.90, -1170.80, 110.90}, { "Downtown Los Santos", 1724.70, -1250.90, -89.00, 1812.60, -1150.80, 110.90}, { "Downtown Los Santos", 1370.80, -1170.80, -89.00, 1463.90, -1130.80, 110.90}, { "Downtown Los Santos", 1378.30, -1130.80, -89.00, 1463.90, -1026.30, 110.90}, { "Downtown Los Santos", 1391.00, -1026.30, -89.00, 1463.90, -926.90, 110.90}, { "Downtown Los Santos", 1507.50, -1385.20, 110.90, 1582.50, -1325.30, 335.90}, { "East Beach", 2632.80, -1852.80, -89.00, 2959.30, -1668.10, 110.90}, { "East Beach", 2632.80, -1668.10, -89.00, 2747.70, -1393.40, 110.90}, { "East Beach", 2747.70, -1668.10, -89.00, 2959.30, -1498.60, 110.90}, { "East Beach", 2747.70, -1498.60, -89.00, 2959.30, -1120.00, 110.90}, { "East Los Santos", 2421.00, -1628.50, -89.00, 2632.80, -1454.30, 110.90}, { "East Los Santos", 2222.50, -1628.50, -89.00, 2421.00, -1494.00, 110.90}, { "East Los Santos", 2266.20, -1494.00, -89.00, 2381.60, -1372.00, 110.90}, { "East Los Santos", 2381.60, -1494.00, -89.00, 2421.00, -1454.30, 110.90}, { "East Los Santos", 2281.40, -1372.00, -89.00, 2381.60, -1135.00, 110.90}, { "East Los Santos", 2381.60, -1454.30, -89.00, 2462.10, -1135.00, 110.90}, { "East Los Santos", 2462.10, -1454.30, -89.00, 2581.70, -1135.00, 110.90}, { "Easter Basin", -1794.90, 249.90, -9.10, -1242.90, 578.30, 200.00}, { "Easter Basin", -1794.90, -50.00, -0.00, -1499.80, 249.90, 200.00}, { "Easter Bay Airport", -1499.80, -50.00, -0.00, -1242.90, 249.90, 200.00}, { "Easter Bay Airport", -1794.90, -730.10, -3.00, -1213.90, -50.00, 200.00}, { "Easter Bay Airport", -1213.90, -730.10, 0.00, -1132.80, -50.00, 200.00}, { "Easter Bay Airport", -1242.90, -50.00, 0.00, -1213.90, 578.30, 200.00}, { "Easter Bay Airport", -1213.90, -50.00, -4.50, -947.90, 578.30, 200.00}, { "Easter Bay Airport", -1315.40, -405.30, 15.40, -1264.40, -209.50, 25.40}, { "Easter Bay Airport", -1354.30, -287.30, 15.40, -1315.40, -209.50, 25.40}, { "Easter Bay Airport", -1490.30, -209.50, 15.40, -1264.40, -148.30, 25.40}, { "Easter Bay Chemicals", -1132.80, -768.00, 0.00, -956.40, -578.10, 200.00}, { "Easter Bay Chemicals", -1132.80, -787.30, 0.00, -956.40, -768.00, 200.00}, { "El Castillo del Diablo", -464.50, 2217.60, 0.00, -208.50, 2580.30, 200.00}, { "El Castillo del Diablo", -208.50, 2123.00, -7.60, 114.00, 2337.10, 200.00}, { "El Castillo del Diablo", -208.50, 2337.10, 0.00, 8.40, 2487.10, 200.00}, { "El Corona", 1812.60, -2179.20, -89.00, 1970.60, -1852.80, 110.90}, { "El Corona", 1692.60, -2179.20, -89.00, 1812.60, -1842.20, 110.90}, { "El Quebrados", -1645.20, 2498.50, 0.00, -1372.10, 2777.80, 200.00}, { "Esplanade East", -1620.30, 1176.50, -4.50, -1580.00, 1274.20, 200.00}, { "Esplanade East", -1580.00, 1025.90, -6.10, -1499.80, 1274.20, 200.00}, { "Esplanade East", -1499.80, 578.30, -79.60, -1339.80, 1274.20, 20.30}, { "Esplanade North", -2533.00, 1358.90, -4.50, -1996.60, 1501.20, 200.00}, { "Esplanade North", -1996.60, 1358.90, -4.50, -1524.20, 1592.50, 200.00}, { "Esplanade North", -1982.30, 1274.20, -4.50, -1524.20, 1358.90, 200.00}, { "Fallen Tree", -792.20, -698.50, -5.30, -452.40, -380.00, 200.00}, { "Fallow Bridge", 434.30, 366.50, 0.00, 603.00, 555.60, 200.00}, { "Fern Ridge", 508.10, -139.20, 0.00, 1306.60, 119.50, 200.00}, { "Financial", -1871.70, 744.10, -6.10, -1701.30, 1176.40, 300.00}, { "Fisher's Lagoon", 1916.90, -233.30, -100.00, 2131.70, 13.80, 200.00}, { "Flint Intersection", -187.70, -1596.70, -89.00, 17.00, -1276.60, 110.90}, { "Flint Range", -594.10, -1648.50, 0.00, -187.70, -1276.60, 200.00}, { "Fort Carson", -376.20, 826.30, -3.00, 123.70, 1220.40, 200.00}, { "Foster Valley", -2270.00, -430.20, -0.00, -2178.60, -324.10, 200.00}, { "Foster Valley", -2178.60, -599.80, -0.00, -1794.90, -324.10, 200.00}, { "Foster Valley", -2178.60, -1115.50, 0.00, -1794.90, -599.80, 200.00}, { "Foster Valley", -2178.60, -1250.90, 0.00, -1794.90, -1115.50, 200.00}, { "Frederick Bridge", 2759.20, 296.50, 0.00, 2774.20, 594.70, 200.00}, { "Gant Bridge", -2741.40, 1659.60, -6.10, -2616.40, 2175.10, 200.00}, { "Gant Bridge", -2741.00, 1490.40, -6.10, -2616.40, 1659.60, 200.00}, { "Ganton", 2222.50, -1852.80, -89.00, 2632.80, -1722.30, 110.90}, { "Ganton", 2222.50, -1722.30, -89.00, 2632.80, -1628.50, 110.90}, { "Garcia", -2411.20, -222.50, -0.00, -2173.00, 265.20, 200.00}, { "Garcia", -2395.10, -222.50, -5.30, -2354.00, -204.70, 200.00}, { "Garver Bridge", -1339.80, 828.10, -89.00, -1213.90, 1057.00, 110.90}, { "Garver Bridge", -1213.90, 950.00, -89.00, -1087.90, 1178.90, 110.90}, { "Garver Bridge", -1499.80, 696.40, -179.60, -1339.80, 925.30, 20.30}, { "Glen Park", 1812.60, -1449.60, -89.00, 1996.90, -1350.70, 110.90}, { "Glen Park", 1812.60, -1100.80, -89.00, 1994.30, -973.30, 110.90}, { "Glen Park", 1812.60, -1350.70, -89.00, 2056.80, -1100.80, 110.90}, { "Green Palms", 176.50, 1305.40, -3.00, 338.60, 1520.70, 200.00}, { "Greenglass College", 964.30, 1044.60, -89.00, 1197.30, 1203.20, 110.90}, { "Greenglass College", 964.30, 930.80, -89.00, 1166.50, 1044.60, 110.90}, { "Hampton Barns", 603.00, 264.30, 0.00, 761.90, 366.50, 200.00}, { "Hankypanky Point", 2576.90, 62.10, 0.00, 2759.20, 385.50, 200.00}, { "Harry Gold Parkway", 1777.30, 863.20, -89.00, 1817.30, 2342.80, 110.90}, { "Hashbury", -2593.40, -222.50, -0.00, -2411.20, 54.70, 200.00}, { "Hilltop Farm", 967.30, -450.30, -3.00, 1176.70, -217.90, 200.00}, { "Hunter Quarry", 337.20, 710.80, -115.20, 860.50, 1031.70, 203.70}, { "Idlewood", 1812.60, -1852.80, -89.00, 1971.60, -1742.30, 110.90}, { "Idlewood", 1812.60, -1742.30, -89.00, 1951.60, -1602.30, 110.90}, { "Idlewood", 1951.60, -1742.30, -89.00, 2124.60, -1602.30, 110.90}, { "Idlewood", 1812.60, -1602.30, -89.00, 2124.60, -1449.60, 110.90}, { "Idlewood", 2124.60, -1742.30, -89.00, 2222.50, -1494.00, 110.90}, { "Idlewood", 1971.60, -1852.80, -89.00, 2222.50, -1742.30, 110.90}, { "Jefferson", 1996.90, -1449.60, -89.00, 2056.80, -1350.70, 110.90}, { "Jefferson", 2124.60, -1494.00, -89.00, 2266.20, -1449.60, 110.90}, { "Jefferson", 2056.80, -1372.00, -89.00, 2281.40, -1210.70, 110.90}, { "Jefferson", 2056.80, -1210.70, -89.00, 2185.30, -1126.30, 110.90}, { "Jefferson", 2185.30, -1210.70, -89.00, 2281.40, -1154.50, 110.90}, { "Jefferson", 2056.80, -1449.60, -89.00, 2266.20, -1372.00, 110.90}, { "Julius Thruway East", 2623.10, 943.20, -89.00, 2749.90, 1055.90, 110.90}, { "Julius Thruway East", 2685.10, 1055.90, -89.00, 2749.90, 2626.50, 110.90}, { "Julius Thruway East", 2536.40, 2442.50, -89.00, 2685.10, 2542.50, 110.90}, { "Julius Thruway East", 2625.10, 2202.70, -89.00, 2685.10, 2442.50, 110.90}, { "Julius Thruway North", 2498.20, 2542.50, -89.00, 2685.10, 2626.50, 110.90}, { "Julius Thruway North", 2237.40, 2542.50, -89.00, 2498.20, 2663.10, 110.90}, { "Julius Thruway North", 2121.40, 2508.20, -89.00, 2237.40, 2663.10, 110.90}, { "Julius Thruway North", 1938.80, 2508.20, -89.00, 2121.40, 2624.20, 110.90}, { "Julius Thruway North", 1534.50, 2433.20, -89.00, 1848.40, 2583.20, 110.90}, { "Julius Thruway North", 1848.40, 2478.40, -89.00, 1938.80, 2553.40, 110.90}, { "Julius Thruway North", 1704.50, 2342.80, -89.00, 1848.40, 2433.20, 110.90}, { "Julius Thruway North", 1377.30, 2433.20, -89.00, 1534.50, 2507.20, 110.90}, { "Julius Thruway South", 1457.30, 823.20, -89.00, 2377.30, 863.20, 110.90}, { "Julius Thruway South", 2377.30, 788.80, -89.00, 2537.30, 897.90, 110.90}, { "Julius Thruway West", 1197.30, 1163.30, -89.00, 1236.60, 2243.20, 110.90}, { "Julius Thruway West", 1236.60, 2142.80, -89.00, 1297.40, 2243.20, 110.90}, { "Juniper Hill", -2533.00, 578.30, -7.60, -2274.10, 968.30, 200.00}, { "Juniper Hollow", -2533.00, 968.30, -6.10, -2274.10, 1358.90, 200.00}, { "K.A.C.C. Military Fuels", 2498.20, 2626.50, -89.00, 2749.90, 2861.50, 110.90}, { "Kincaid Bridge", -1339.80, 599.20, -89.00, -1213.90, 828.10, 110.90}, { "Kincaid Bridge", -1213.90, 721.10, -89.00, -1087.90, 950.00, 110.90}, { "Kincaid Bridge", -1087.90, 855.30, -89.00, -961.90, 986.20, 110.90}, { "King's", -2329.30, 458.40, -7.60, -1993.20, 578.30, 200.00}, { "King's", -2411.20, 265.20, -9.10, -1993.20, 373.50, 200.00}, { "King's", -2253.50, 373.50, -9.10, -1993.20, 458.40, 200.00}, { "LVA Freight Depot", 1457.30, 863.20, -89.00, 1777.40, 1143.20, 110.90}, { "LVA Freight Depot", 1375.60, 919.40, -89.00, 1457.30, 1203.20, 110.90}, { "LVA Freight Depot", 1277.00, 1087.60, -89.00, 1375.60, 1203.20, 110.90}, { "LVA Freight Depot", 1315.30, 1044.60, -89.00, 1375.60, 1087.60, 110.90}, { "LVA Freight Depot", 1236.60, 1163.40, -89.00, 1277.00, 1203.20, 110.90}, { "Las Barrancas", -926.10, 1398.70, -3.00, -719.20, 1634.60, 200.00}, { "Las Brujas", -365.10, 2123.00, -3.00, -208.50, 2217.60, 200.00}, { "Las Colinas", 1994.30, -1100.80, -89.00, 2056.80, -920.80, 110.90}, { "Las Colinas", 2056.80, -1126.30, -89.00, 2126.80, -920.80, 110.90}, { "Las Colinas", 2185.30, -1154.50, -89.00, 2281.40, -934.40, 110.90}, { "Las Colinas", 2126.80, -1126.30, -89.00, 2185.30, -934.40, 110.90}, { "Las Colinas", 2747.70, -1120.00, -89.00, 2959.30, -945.00, 110.90}, { "Las Colinas", 2632.70, -1135.00, -89.00, 2747.70, -945.00, 110.90}, { "Las Colinas", 2281.40, -1135.00, -89.00, 2632.70, -945.00, 110.90}, { "Las Payasadas", -354.30, 2580.30, 2.00, -133.60, 2816.80, 200.00}, { "Las Venturas Airport", 1236.60, 1203.20, -89.00, 1457.30, 1883.10, 110.90}, { "Las Venturas Airport", 1457.30, 1203.20, -89.00, 1777.30, 1883.10, 110.90}, { "Las Venturas Airport", 1457.30, 1143.20, -89.00, 1777.40, 1203.20, 110.90}, { "Las Venturas Airport", 1515.80, 1586.40, -12.50, 1729.90, 1714.50, 87.50}, { "Last Dime Motel", 1823.00, 596.30, -89.00, 1997.20, 823.20, 110.90}, { "Leafy Hollow", -1166.90, -1856.00, 0.00, -815.60, -1602.00, 200.00}, { "Lil' Probe Inn", -90.20, 1286.80, -3.00, 153.80, 1554.10, 200.00}, { "Linden Side", 2749.90, 943.20, -89.00, 2923.30, 1198.90, 110.90}, { "Linden Station", 2749.90, 1198.90, -89.00, 2923.30, 1548.90, 110.90}, { "Linden Station", 2811.20, 1229.50, -39.50, 2861.20, 1407.50, 60.40}, { "Little Mexico", 1701.90, -1842.20, -89.00, 1812.60, -1722.20, 110.90}, { "Little Mexico", 1758.90, -1722.20, -89.00, 1812.60, -1577.50, 110.90}, { "Los Flores", 2581.70, -1454.30, -89.00, 2632.80, -1393.40, 110.90}, { "Los Flores", 2581.70, -1393.40, -89.00, 2747.70, -1135.00, 110.90}, { "Los Santos International", 1249.60, -2394.30, -89.00, 1852.00, -2179.20, 110.90}, { "Los Santos International", 1852.00, -2394.30, -89.00, 2089.00, -2179.20, 110.90}, { "Los Santos International", 1382.70, -2730.80, -89.00, 2201.80, -2394.30, 110.90}, { "Los Santos International", 1974.60, -2394.30, -39.00, 2089.00, -2256.50, 60.90}, { "Los Santos International", 1400.90, -2669.20, -39.00, 2189.80, -2597.20, 60.90}, { "Los Santos International", 2051.60, -2597.20, -39.00, 2152.40, -2394.30, 60.90}, { "Marina", 647.70, -1804.20, -89.00, 851.40, -1577.50, 110.90}, { "Marina", 647.70, -1577.50, -89.00, 807.90, -1416.20, 110.90}, { "Marina", 807.90, -1577.50, -89.00, 926.90, -1416.20, 110.90}, { "Market", 787.40, -1416.20, -89.00, 1072.60, -1310.20, 110.90}, { "Market", 952.60, -1310.20, -89.00, 1072.60, -1130.80, 110.90}, { "Market", 1072.60, -1416.20, -89.00, 1370.80, -1130.80, 110.90}, { "Market", 926.90, -1577.50, -89.00, 1370.80, -1416.20, 110.90}, { "Market Station", 787.40, -1410.90, -34.10, 866.00, -1310.20, 65.80}, { "Martin Bridge", -222.10, 293.30, 0.00, -122.10, 476.40, 200.00}, { "Missionary Hill", -2994.40, -811.20, 0.00, -2178.60, -430.20, 200.00}, { "Montgomery", 1119.50, 119.50, -3.00, 1451.40, 493.30, 200.00}, { "Montgomery", 1451.40, 347.40, -6.10, 1582.40, 420.80, 200.00}, { "Montgomery Intersection", 1546.60, 208.10, 0.00, 1745.80, 347.40, 200.00}, { "Montgomery Intersection", 1582.40, 347.40, 0.00, 1664.60, 401.70, 200.00}, { "Mulholland", 1414.00, -768.00, -89.00, 1667.60, -452.40, 110.90}, { "Mulholland", 1281.10, -452.40, -89.00, 1641.10, -290.90, 110.90}, { "Mulholland", 1269.10, -768.00, -89.00, 1414.00, -452.40, 110.90}, { "Mulholland", 1357.00, -926.90, -89.00, 1463.90, -768.00, 110.90}, { "Mulholland", 1318.10, -910.10, -89.00, 1357.00, -768.00, 110.90}, { "Mulholland", 1169.10, -910.10, -89.00, 1318.10, -768.00, 110.90}, { "Mulholland", 768.60, -954.60, -89.00, 952.60, -860.60, 110.90}, { "Mulholland", 687.80, -860.60, -89.00, 911.80, -768.00, 110.90}, { "Mulholland", 737.50, -768.00, -89.00, 1142.20, -674.80, 110.90}, { "Mulholland", 1096.40, -910.10, -89.00, 1169.10, -768.00, 110.90}, { "Mulholland", 952.60, -937.10, -89.00, 1096.40, -860.60, 110.90}, { "Mulholland", 911.80, -860.60, -89.00, 1096.40, -768.00, 110.90}, { "Mulholland", 861.00, -674.80, -89.00, 1156.50, -600.80, 110.90}, { "Mulholland Intersection", 1463.90, -1150.80, -89.00, 1812.60, -768.00, 110.90}, { "North Rock", 2285.30, -768.00, 0.00, 2770.50, -269.70, 200.00}, { "Ocean Docks", 2373.70, -2697.00, -89.00, 2809.20, -2330.40, 110.90}, { "Ocean Docks", 2201.80, -2418.30, -89.00, 2324.00, -2095.00, 110.90}, { "Ocean Docks", 2324.00, -2302.30, -89.00, 2703.50, -2145.10, 110.90}, { "Ocean Docks", 2089.00, -2394.30, -89.00, 2201.80, -2235.80, 110.90}, { "Ocean Docks", 2201.80, -2730.80, -89.00, 2324.00, -2418.30, 110.90}, { "Ocean Docks", 2703.50, -2302.30, -89.00, 2959.30, -2126.90, 110.90}, { "Ocean Docks", 2324.00, -2145.10, -89.00, 2703.50, -2059.20, 110.90}, { "Ocean Flats", -2994.40, 277.40, -9.10, -2867.80, 458.40, 200.00}, { "Ocean Flats", -2994.40, -222.50, -0.00, -2593.40, 277.40, 200.00}, { "Ocean Flats", -2994.40, -430.20, -0.00, -2831.80, -222.50, 200.00}, { "Octane Springs", 338.60, 1228.50, 0.00, 664.30, 1655.00, 200.00}, { "Old Venturas Strip", 2162.30, 2012.10, -89.00, 2685.10, 2202.70, 110.90}, { "Palisades", -2994.40, 458.40, -6.10, -2741.00, 1339.60, 200.00}, { "Palomino Creek", 2160.20, -149.00, 0.00, 2576.90, 228.30, 200.00}, { "Paradiso", -2741.00, 793.40, -6.10, -2533.00, 1268.40, 200.00}, { "Pershing Square", 1440.90, -1722.20, -89.00, 1583.50, -1577.50, 110.90}, { "Pilgrim", 2437.30, 1383.20, -89.00, 2624.40, 1783.20, 110.90}, { "Pilgrim", 2624.40, 1383.20, -89.00, 2685.10, 1783.20, 110.90}, { "Pilson Intersection", 1098.30, 2243.20, -89.00, 1377.30, 2507.20, 110.90}, { "Pirates in Men's Pants", 1817.30, 1469.20, -89.00, 2027.40, 1703.20, 110.90}, { "Playa del Seville", 2703.50, -2126.90, -89.00, 2959.30, -1852.80, 110.90}, { "Prickle Pine", 1534.50, 2583.20, -89.00, 1848.40, 2863.20, 110.90}, { "Prickle Pine", 1117.40, 2507.20, -89.00, 1534.50, 2723.20, 110.90}, { "Prickle Pine", 1848.40, 2553.40, -89.00, 1938.80, 2863.20, 110.90}, { "Prickle Pine", 1938.80, 2624.20, -89.00, 2121.40, 2861.50, 110.90}, { "Queens", -2533.00, 458.40, 0.00, -2329.30, 578.30, 200.00}, { "Queens", -2593.40, 54.70, 0.00, -2411.20, 458.40, 200.00}, { "Queens", -2411.20, 373.50, 0.00, -2253.50, 458.40, 200.00}, { "Randolph Industrial Estate", 1558.00, 596.30, -89.00, 1823.00, 823.20, 110.90}, { "Redsands East", 1817.30, 2011.80, -89.00, 2106.70, 2202.70, 110.90}, { "Redsands East", 1817.30, 2202.70, -89.00, 2011.90, 2342.80, 110.90}, { "Redsands East", 1848.40, 2342.80, -89.00, 2011.90, 2478.40, 110.90}, { "Redsands West", 1236.60, 1883.10, -89.00, 1777.30, 2142.80, 110.90}, { "Redsands West", 1297.40, 2142.80, -89.00, 1777.30, 2243.20, 110.90}, { "Redsands West", 1377.30, 2243.20, -89.00, 1704.50, 2433.20, 110.90}, { "Redsands West", 1704.50, 2243.20, -89.00, 1777.30, 2342.80, 110.90}, { "Regular Tom", -405.70, 1712.80, -3.00, -276.70, 1892.70, 200.00}, { "Richman", 647.50, -1118.20, -89.00, 787.40, -954.60, 110.90}, { "Richman", 647.50, -954.60, -89.00, 768.60, -860.60, 110.90}, { "Richman", 225.10, -1369.60, -89.00, 334.50, -1292.00, 110.90}, { "Richman", 225.10, -1292.00, -89.00, 466.20, -1235.00, 110.90}, { "Richman", 72.60, -1404.90, -89.00, 225.10, -1235.00, 110.90}, { "Richman", 72.60, -1235.00, -89.00, 321.30, -1008.10, 110.90}, { "Richman", 321.30, -1235.00, -89.00, 647.50, -1044.00, 110.90}, { "Richman", 321.30, -1044.00, -89.00, 647.50, -860.60, 110.90}, { "Richman", 321.30, -860.60, -89.00, 687.80, -768.00, 110.90}, { "Richman", 321.30, -768.00, -89.00, 700.70, -674.80, 110.90}, { "Robada Intersection", -1119.00, 1178.90, -89.00, -862.00, 1351.40, 110.90}, { "Roca Escalante", 2237.40, 2202.70, -89.00, 2536.40, 2542.50, 110.90}, { "Roca Escalante", 2536.40, 2202.70, -89.00, 2625.10, 2442.50, 110.90}, { "Rockshore East", 2537.30, 676.50, -89.00, 2902.30, 943.20, 110.90}, { "Rockshore West", 1997.20, 596.30, -89.00, 2377.30, 823.20, 110.90}, { "Rockshore West", 2377.30, 596.30, -89.00, 2537.30, 788.80, 110.90}, { "Rodeo", 72.60, -1684.60, -89.00, 225.10, -1544.10, 110.90}, { "Rodeo", 72.60, -1544.10, -89.00, 225.10, -1404.90, 110.90}, { "Rodeo", 225.10, -1684.60, -89.00, 312.80, -1501.90, 110.90}, { "Rodeo", 225.10, -1501.90, -89.00, 334.50, -1369.60, 110.90}, { "Rodeo", 334.50, -1501.90, -89.00, 422.60, -1406.00, 110.90}, { "Rodeo", 312.80, -1684.60, -89.00, 422.60, -1501.90, 110.90}, { "Rodeo", 422.60, -1684.60, -89.00, 558.00, -1570.20, 110.90}, { "Rodeo", 558.00, -1684.60, -89.00, 647.50, -1384.90, 110.90}, { "Rodeo", 466.20, -1570.20, -89.00, 558.00, -1385.00, 110.90}, { "Rodeo", 422.60, -1570.20, -89.00, 466.20, -1406.00, 110.90}, { "Rodeo", 466.20, -1385.00, -89.00, 647.50, -1235.00, 110.90}, { "Rodeo", 334.50, -1406.00, -89.00, 466.20, -1292.00, 110.90}, { "Royal Casino", 2087.30, 1383.20, -89.00, 2437.30, 1543.20, 110.90}, { "San Andreas Sound", 2450.30, 385.50, -100.00, 2759.20, 562.30, 200.00}, { "Santa Flora", -2741.00, 458.40, -7.60, -2533.00, 793.40, 200.00}, { "Santa Maria Beach", 342.60, -2173.20, -89.00, 647.70, -1684.60, 110.90}, { "Santa Maria Beach", 72.60, -2173.20, -89.00, 342.60, -1684.60, 110.90}, { "Shady Cabin", -1632.80, -2263.40, -3.00, -1601.30, -2231.70, 200.00}, { "Shady Creeks", -1820.60, -2643.60, -8.00, -1226.70, -1771.60, 200.00}, { "Shady Creeks", -2030.10, -2174.80, -6.10, -1820.60, -1771.60, 200.00}, { "Sobell Rail Yards", 2749.90, 1548.90, -89.00, 2923.30, 1937.20, 110.90}, { "Spinybed", 2121.40, 2663.10, -89.00, 2498.20, 2861.50, 110.90}, { "Starfish Casino", 2437.30, 1783.20, -89.00, 2685.10, 2012.10, 110.90}, { "Starfish Casino", 2437.30, 1858.10, -39.00, 2495.00, 1970.80, 60.90}, { "Starfish Casino", 2162.30, 1883.20, -89.00, 2437.30, 2012.10, 110.90}, { "Temple", 1252.30, -1130.80, -89.00, 1378.30, -1026.30, 110.90}, { "Temple", 1252.30, -1026.30, -89.00, 1391.00, -926.90, 110.90}, { "Temple", 1252.30, -926.90, -89.00, 1357.00, -910.10, 110.90}, { "Temple", 952.60, -1130.80, -89.00, 1096.40, -937.10, 110.90}, { "Temple", 1096.40, -1130.80, -89.00, 1252.30, -1026.30, 110.90}, { "Temple", 1096.40, -1026.30, -89.00, 1252.30, -910.10, 110.90}, { "The Camel's Toe", 2087.30, 1203.20, -89.00, 2640.40, 1383.20, 110.90}, { "The Clown's Pocket", 2162.30, 1783.20, -89.00, 2437.30, 1883.20, 110.90}, { "The Emerald Isle", 2011.90, 2202.70, -89.00, 2237.40, 2508.20, 110.90}, { "The Farm", -1209.60, -1317.10, 114.90, -908.10, -787.30, 251.90}, { "The Four Dragons Casino", 1817.30, 863.20, -89.00, 2027.30, 1083.20, 110.90}, { "The High Roller", 1817.30, 1283.20, -89.00, 2027.30, 1469.20, 110.90}, { "The Mako Span", 1664.60, 401.70, 0.00, 1785.10, 567.20, 200.00}, { "The Panopticon", -947.90, -304.30, -1.10, -319.60, 327.00, 200.00}, { "The Pink Swan", 1817.30, 1083.20, -89.00, 2027.30, 1283.20, 110.90}, { "The Sherman Dam", -968.70, 1929.40, -3.00, -481.10, 2155.20, 200.00}, { "The Strip", 2027.40, 863.20, -89.00, 2087.30, 1703.20, 110.90}, { "The Strip", 2106.70, 1863.20, -89.00, 2162.30, 2202.70, 110.90}, { "The Strip", 2027.40, 1783.20, -89.00, 2162.30, 1863.20, 110.90}, { "The Strip", 2027.40, 1703.20, -89.00, 2137.40, 1783.20, 110.90}, { "The Visage", 1817.30, 1863.20, -89.00, 2106.70, 2011.80, 110.90}, { "The Visage", 1817.30, 1703.20, -89.00, 2027.40, 1863.20, 110.90}, { "Unity Station", 1692.60, -1971.80, -20.40, 1812.60, -1932.80, 79.50}, { "Valle Ocultado", -936.60, 2611.40, 2.00, -715.90, 2847.90, 200.00}, { "Verdant Bluffs", 930.20, -2488.40, -89.00, 1249.60, -2006.70, 110.90}, { "Verdant Bluffs", 1073.20, -2006.70, -89.00, 1249.60, -1842.20, 110.90}, { "Verdant Bluffs", 1249.60, -2179.20, -89.00, 1692.60, -1842.20, 110.90}, { "Verdant Meadows", 37.00, 2337.10, -3.00, 435.90, 2677.90, 200.00}, { "Verona Beach", 647.70, -2173.20, -89.00, 930.20, -1804.20, 110.90}, { "Verona Beach", 930.20, -2006.70, -89.00, 1073.20, -1804.20, 110.90}, { "Verona Beach", 851.40, -1804.20, -89.00, 1046.10, -1577.50, 110.90}, { "Verona Beach", 1161.50, -1722.20, -89.00, 1323.90, -1577.50, 110.90}, { "Verona Beach", 1046.10, -1722.20, -89.00, 1161.50, -1577.50, 110.90}, { "Vinewood", 787.40, -1310.20, -89.00, 952.60, -1130.80, 110.90}, { "Vinewood", 787.40, -1130.80, -89.00, 952.60, -954.60, 110.90}, { "Vinewood", 647.50, -1227.20, -89.00, 787.40, -1118.20, 110.90}, { "Vinewood", 647.70, -1416.20, -89.00, 787.40, -1227.20, 110.90}, { "Whitewood Estates", 883.30, 1726.20, -89.00, 1098.30, 2507.20, 110.90}, { "Whitewood Estates", 1098.30, 1726.20, -89.00, 1197.30, 2243.20, 110.90}, { "Willowfield", 1970.60, -2179.20, -89.00, 2089.00, -1852.80, 110.90}, { "Willowfield", 2089.00, -2235.80, -89.00, 2201.80, -1989.90, 110.90}, { "Willowfield", 2089.00, -1989.90, -89.00, 2324.00, -1852.80, 110.90}, { "Willowfield", 2201.80, -2095.00, -89.00, 2324.00, -1989.90, 110.90}, { "Willowfield", 2541.70, -1941.40, -89.00, 2703.50, -1852.80, 110.90}, { "Willowfield", 2324.00, -2059.20, -89.00, 2541.70, -1852.80, 110.90}, { "Willowfield", 2541.70, -2059.20, -89.00, 2703.50, -1941.40, 110.90}, { "Yellow Bell Station", 1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00}, // Main Zones { "Los Santos", 44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00}, { "Las Venturas", 869.40, 596.30, -242.90, 2997.00, 2993.80, 900.00}, { "Bone County", -480.50, 596.30, -242.90, 869.40, 2993.80, 900.00}, { "Tierra Robada", -2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00}, { "Tierra Robada", -1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00}, { "San Fierro", -2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00}, { "Red County", -1213.90, -768.00, -242.90, 2997.00, 596.30, 900.00}, { "Flint County", -1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00}, { "Whetstone", -2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00} }; new VehicleNames[212][] = { {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"}, {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"}, {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"}, {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"}, {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"}, {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"}, {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"}, {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"}, {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"}, {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"}, {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"}, {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"}, {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"}, {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"}, {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"}, {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"}, {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"}, {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"}, {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"}, {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"}, {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"}, {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"}, {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"}, {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"}, {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"}, {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"}, {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"}, {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"}, {"Utility Trailer"} }; new VehicleModel[MAX_PLAYERS]; new CFCTimer; forward CheckForChange(playerid); forward ShowGameTextForPlayer(playerid); forward update_zones(playerid); new zoneupdates[MAX_PLAYERS]; new player_zone[MAX_PLAYERS]; new zoneupdate; new Text:txtClassSelHelper; new Text:txtLosSantos; new Text:txtSanFierro; new Text:txtLasVenturas; //---------------------------------------------------------- main() { print("n---------------------------------------"); print("Running Julius95's servern"); print("---------------------------------------n"); } //---------------------------------------------------------- public OnPlayerConnect(playerid) { if(!IsPlayerConnected(playerid)) return 1; printf("Passed"); SendDeathMessage(INVALID_PLAYER_ID,playerid,200); printf("Passed"); new joinMsg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(joinMsg, sizeof(joinMsg), "02[%d] 03*** %s has joined the server.", playerid, name); IRC_GroupSay(groupID, IRC_CHANNEL, joinMsg); TextDrawShowForPlayer(playerid,welcomeText); // class selection init vars gPlayerCitySelection[playerid] = -1; gPlayerHasCitySelected[playerid] = 0; gPlayerLastCitySelectionTick[playerid] = GetTickCount(); //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER); /* Removes vending machines RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0); RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0); */ /* new ClientVersion[32]; GetPlayerVersion(playerid, ClientVersion, 32); printf("Player %d reports client version: %s", playerid, ClientVersion);*/ return 1; } //---------------------------------------------------------- public OnPlayerDisconnect(playerid, reason) { SendDeathMessage(INVALID_PLAYER_ID, playerid, 201); new leaveMsg[128], name[MAX_PLAYER_NAME], reasonMsg[8]; switch(reason) { case 0: reasonMsg = "Timeout"; case 1: reasonMsg = "Leaving"; case 2: reasonMsg = "Kicked"; } GetPlayerName(playerid, name, sizeof(name)); format(leaveMsg, sizeof(leaveMsg), "02[%d] 03*** %s has left the server. (%s)", playerid, name, reasonMsg); IRC_GroupSay(groupID, IRC_CHANNEL, leaveMsg); zoneupdates[playerid] = 0; player_zone[playerid] = -1; } //---------------------------------------------------------- public OnPlayerSpawn(playerid) { if(IsPlayerNPC(playerid)) return 1; new randSpawn = 0; zoneupdates[playerid] = 1; player_zone[playerid] = -1; if(!zoneupdate) zoneupdate = SetTimer("update_zones",1000,4); SetPlayerInterior(playerid,0); TogglePlayerClock(playerid,0); if(CITY_LOS_SANTOS == gPlayerCitySelection[playerid]) { randSpawn = random(sizeof(gRandomSpawns_LosSantos)); SetPlayerPos(playerid, gRandomSpawns_LosSantos[randSpawn][0], gRandomSpawns_LosSantos[randSpawn][1], gRandomSpawns_LosSantos[randSpawn][2]); SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]); } else if(CITY_SAN_FIERRO == gPlayerCitySelection[playerid]) { randSpawn = random(sizeof(gRandomSpawns_SanFierro)); SetPlayerPos(playerid, gRandomSpawns_SanFierro[randSpawn][0], gRandomSpawns_SanFierro[randSpawn][1], gRandomSpawns_SanFierro[randSpawn][2]); SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]); } else if(CITY_LAS_VENTURAS == gPlayerCitySelection[playerid]) { randSpawn = random(sizeof(gRandomSpawns_LasVenturas)); SetPlayerPos(playerid, gRandomSpawns_LasVenturas[randSpawn][0], gRandomSpawns_LasVenturas[randSpawn][1], gRandomSpawns_LasVenturas[randSpawn][2]); SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]); } //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER); GivePlayerWeapon(playerid,WEAPON_COLT45,100); GivePlayerWeapon(playerid,WEAPON_MP5,100); TogglePlayerClock(playerid, 0); return 1; } //---------------------------------------------------------- public OnPlayerDeath(playerid, killerid, reason) { SendDeathMessage(killerid, playerid, reason); new msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME]; GetPlayerName(killerid, killerName, sizeof(killerName)); GetPlayerName(playerid, playerName, sizeof(playerName)); if (killerid != INVALID_PLAYER_ID) { switch (reason) { case 0: reasonMsg = "Unarmed"; case 1: reasonMsg = "Brass Knuckles"; case 2: reasonMsg = "Golf Club"; case 3: reasonMsg = "Night Stick"; case 4: reasonMsg = "Knife"; case 5: reasonMsg = "Baseball Bat"; case 6: reasonMsg = "Shovel"; case 7: reasonMsg = "Pool Cue"; case 8: reasonMsg = "Katana"; case 9: reasonMsg = "Chainsaw"; case 10: reasonMsg = "Dildo"; case 11: reasonMsg = "Dildo"; case 12: reasonMsg = "Vibrator"; case 13: reasonMsg = "Vibrator"; case 14: reasonMsg = "Flowers"; case 15: reasonMsg = "Cane"; case 22: reasonMsg = "Pistol"; case 23: reasonMsg = "Silenced Pistol"; case 24: reasonMsg = "Desert Eagle"; case 25: reasonMsg = "Shotgun"; case 26: reasonMsg = "Sawn-off Shotgun"; case 27: reasonMsg = "Combat Shotgun"; case 28: reasonMsg = "MAC-10"; case 29: reasonMsg = "MP5"; case 30: reasonMsg = "AK-47"; case 31: reasonMsg = "M4"; case 32: reasonMsg = "TEC-9"; case 33: reasonMsg = "Country Rifle"; case 34: reasonMsg = "Sniper Rifle"; case 37: reasonMsg = "Fire"; case 38: reasonMsg = "Minigun"; case 41: reasonMsg = "Spray Can"; case 42: reasonMsg = "Fire Extinguisher"; case 49: reasonMsg = "Vehicle Collision"; case 50: reasonMsg = "Vehicle Collision"; case 51: reasonMsg = "Explosion"; default: reasonMsg = "Unknown"; } format(msg, sizeof(msg), "04*** %s killed %s. (%s)", killerName, playerName, reasonMsg); } else { switch (reason) { case 53: format(msg, sizeof(msg), "04*** %s died. (Drowned)", playerName); case 54: format(msg, sizeof(msg), "04*** %s died. (Collision)", playerName); default: format(msg, sizeof(msg), "04*** %s died.", playerName); } } IRC_GroupSay(groupID, IRC_CHANNEL, msg); new playercash; // if they ever return to class selection make them city // select again first gPlayerHasCitySelected[playerid] = 0; if(killerid == INVALID_PLAYER_ID) { ResetPlayerMoney(playerid); } else { playercash = GetPlayerMoney(playerid); if(playercash > 0) { GivePlayerMoney(killerid, playercash); ResetPlayerMoney(playerid); } } return 1; } //---------------------------------------------------------- ClassSel_SetupCharSelection(playerid) { if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) { SetPlayerInterior(playerid,11); SetPlayerPos(playerid,508.7362,-87.4335,998.9609); SetPlayerFacingAngle(playerid,0.0); SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609); SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609); } else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) { SetPlayerInterior(playerid,3); SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516); SetPlayerFacingAngle(playerid,181.0); SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516); SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516); } else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) { SetPlayerInterior(playerid,3); SetPlayerPos(playerid,349.0453,193.2271,1014.1797); SetPlayerFacingAngle(playerid,286.25); SetPlayerCameraPos(playerid,352.9164,194.5702,1014.1875); SetPlayerCameraLookAt(playerid,349.0453,193.2271,1014.1797); } } //---------------------------------------------------------- // Used to init textdraws of city names ClassSel_InitCityNameText(Text:txtInit) { TextDrawUseBox(txtInit, 0); TextDrawLetterSize(txtInit,1.25,3.0); TextDrawFont(txtInit, 0); TextDrawSetShadow(txtInit,0); TextDrawSetOutline(txtInit,1); TextDrawColor(txtInit,0xEEEEEEFF); TextDrawBackgroundColor(txtClassSelHelper,0x000000FF); } //---------------------------------------------------------- ClassSel_InitTextDraws() { // Init our observer helper text display txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos"); ClassSel_InitCityNameText(txtLosSantos); txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro"); ClassSel_InitCityNameText(txtSanFierro); txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas"); ClassSel_InitCityNameText(txtLasVenturas); // Init our observer helper text display txtClassSelHelper = TextDrawCreate(10.0, 415.0, " Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select."); TextDrawUseBox(txtClassSelHelper, 1); TextDrawBoxColor(txtClassSelHelper,0x222222BB); TextDrawLetterSize(txtClassSelHelper,0.3,1.0); TextDrawTextSize(txtClassSelHelper,400.0,40.0); TextDrawFont(txtClassSelHelper, 2); TextDrawSetShadow(txtClassSelHelper,0); TextDrawSetOutline(txtClassSelHelper,1); TextDrawBackgroundColor(txtClassSelHelper,0x000000FF); TextDrawColor(txtClassSelHelper,0xFFFFFFFF); } //---------------------------------------------------------- ClassSel_SetupSelectedCity(playerid) { if(gPlayerCitySelection[playerid] == -1) { gPlayerCitySelection[playerid] = CITY_LOS_SANTOS; } if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) { SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0); SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167); TextDrawShowForPlayer(playerid,txtLosSantos); TextDrawHideForPlayer(playerid,txtSanFierro); TextDrawHideForPlayer(playerid,txtLasVenturas); } else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) { SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823); SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589); TextDrawHideForPlayer(playerid,txtLosSantos); TextDrawShowForPlayer(playerid,txtSanFierro); TextDrawHideForPlayer(playerid,txtLasVenturas); } else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) { SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390); SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275); TextDrawHideForPlayer(playerid,txtLosSantos); TextDrawHideForPlayer(playerid,txtSanFierro); TextDrawShowForPlayer(playerid,txtLasVenturas); } } //---------------------------------------------------------- ClassSel_SwitchToNextCity(playerid) { gPlayerCitySelection[playerid]++; if(gPlayerCitySelection[playerid] > CITY_LAS_VENTURAS) { gPlayerCitySelection[playerid] = CITY_LOS_SANTOS; } PlayerPlaySound(playerid,1052,0.0,0.0,0.0); gPlayerLastCitySelectionTick[playerid] = GetTickCount(); ClassSel_SetupSelectedCity(playerid); } //---------------------------------------------------------- ClassSel_SwitchToPreviousCity(playerid) { gPlayerCitySelection[playerid]--; if(gPlayerCitySelection[playerid] < CITY_LOS_SANTOS) { gPlayerCitySelection[playerid] = CITY_LAS_VENTURAS; } PlayerPlaySound(playerid,1053,0.0,0.0,0.0); gPlayerLastCitySelectionTick[playerid] = GetTickCount(); ClassSel_SetupSelectedCity(playerid); } //---------------------------------------------------------- ClassSel_HandleCitySelection(playerid) { new Keys,ud,lr; GetPlayerKeys(playerid,Keys,ud,lr); if(gPlayerCitySelection[playerid] == -1) { ClassSel_SwitchToNextCity(playerid); return; } // only allow new selection every ~500 ms if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return; if(Keys & KEY_FIRE) { gPlayerHasCitySelected[playerid] = 1; TextDrawHideForPlayer(playerid,txtClassSelHelper); TextDrawHideForPlayer(playerid,txtLosSantos); TextDrawHideForPlayer(playerid,txtSanFierro); TextDrawHideForPlayer(playerid,txtLasVenturas); TogglePlayerSpectating(playerid,0); return; } if(lr > 0) { ClassSel_SwitchToNextCity(playerid); } else if(lr < 0) { ClassSel_SwitchToPreviousCity(playerid); } } //---------------------------------------------------------- public OnPlayerRequestClass(playerid, classid) { if(IsPlayerNPC(playerid)) return 1; if(gPlayerHasCitySelected[playerid]) { ClassSel_SetupCharSelection(playerid); return 1; } else { if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) { TogglePlayerSpectating(playerid,1); TextDrawShowForPlayer(playerid, txtClassSelHelper); gPlayerCitySelection[playerid] = -1; } } zoneupdates[playerid] = 0; player_zone[playerid] = -1; return 0; } //---------------------------------------------------------- public OnGameModeInit() { // Connect the first bot botIDs[0] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME); // Set the connect delay for the first bot to 20 seconds IRC_SetIntData(botIDs[0], E_IRC_CONNECT_DELAY, 20); // Connect the second bot botIDs[1] = IRC_Connect(IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME); // Set the connect delay for the second bot to 30 seconds IRC_SetIntData(botIDs[1], E_IRC_CONNECT_DELAY, 30); // Create a group (the bots will be added to it upon connect) groupID = IRC_CreateGroup(); #define USE_TEXTDRAW_SET 1 AddRadioStation("Radio Julius", "http://78.72.181.195:8000/listen.pls", 1); AddRadioStation("Vinylgodis", "http://93.182.176.123/listen.pls", 1); AddRadioStation("Radio Seven", "http://www.radioseven.se/128.pls", 1); AddRadioStation("Dansbandskanalen", "http://www.guldkanalen.se/static/streamDBK/128MP3.pls", 1); AddRadioStation("Din Gata", "http://sverigesradio.se/topsy/direkt/2576-hi-mp3.pls", 1); AddRadioStation("Big R Radio", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=73131", 1); AddRadioStation("Radio AF", "http://webradio.af.lu.se:8000/listen.pls", 1); AddRadioStation("Reggae141.com", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=85742", 1); AddRadioStation("Hit Radio N1", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1277314", 1); AddRadioStation("The 1920s Radio Network", "http://64.5.130.43/listen.pls", 1); AddRadioStation("LAs HOT Country", "http://46.21.151.98:8000/listen.pls", 1); AddRadioStation("Fade FM", "http://37.59.61.51/listen.pls", 1); AddRadioStation("Grand Theft Auto San Andreas", "http://listen.radionomy.com/grand-theft-auto-san-andreas.m3u", 1); AddRadioStation("Radio Off", "", 1); SetGameModeText("Free Mode, stunts, races etc."); ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL); ShowNameTags(1); SetNameTagDrawDistance(40.0); EnableStuntBonusForAll(0); DisableInteriorEnterExits(); SetWeather(2); SetWorldTime(11); //UsePlayerPedAnims(); //ManualVehicleEngineAndLights(); //LimitGlobalChatRadius(300.0); ClassSel_InitTextDraws(); // Player Class AddPlayerClass(281,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(282,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(283,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(284,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(285,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(286,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(287,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(288,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(265,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(266,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(267,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(268,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(42,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(74,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1); AddPlayerClass(281,2385.7600,-1281.1403,24.4851,115.8818,0,0,0,0,0,0); // //AddVehicles AddStaticVehicle(600,2461.7532,-1656.6047,13.0208,90.0551,43,8); // car0 AddStaticVehicle(439,-1766.9050,613.7802,28.0963,90.1726,79,78); // car1 AddStaticVehicle(549,-1997.1497,701.7988,45.0459,0.2772,14,14); // car2 AddStaticVehicle(480,-1997.1570,696.1385,45.1418,0.9108,127,8); // car3 AddStaticVehicle(555,-1997.1226,690.4085,45.0497,0.4574,58,1); // car4 AddStaticVehicle(533,-1997.1150,684.5101,45.0449,0.7273,7,1); // car5 AddStaticVehicle(518,-1997.1124,678.0267,44.9521,1.0255,8,0); // car6 AddStaticVehicle(542,-1997.1284,671.6221,44.1768,0.8896,45,92); // car7 AddStaticVehicle(419,-1997.0178,664.9196,42.9615,0.3890,1,76); // car8 AddStaticVehicle(502,-1944.3131,585.5934,35.0131,0.5602,36,88); // car9 AddStaticVehicle(451,-1947.4026,585.6334,34.7825,0.5844,1,36); // car10 AddStaticVehicle(506,-1950.4606,585.7036,34.8199,1.4687,126,52); // car 11 AddStaticVehicle(477,-1938.2062,585.5255,34.8710,359.9006,65,1); // car12 AddStaticVehicle(602,-1953.4102,585.8502,34.8846,359.4462,94,1); // car 13 AddStaticVehicle(496,-1956.5023,585.9746,34.7861,0.1029,2,6); // car14 AddStaticVehicle(402,-1959.3685,585.6564,34.9014,359.6677,86,110); // car15 AddStaticVehicle(541,-1935.3408,585.7760,34.7403,0.0132,126,6); // car16 AddStaticVehicle(415,-1932.3533,585.5296,34.8907,0.0465,119,1); // car17 AddStaticVehicle(587,-1929.2599,586.0511,34.8377,359.7012,0,1); // car18 AddStaticVehicle(504,-1926.2498,585.7791,34.9114,359.2645,45,29); // car19 AddStaticVehicle(598,-1616.6740,651.2231,6.9347,0.8125,0,1); // car20 AddStaticVehicle(601,-1628.8429,651.0104,6.9463,359.6806,1,1); // car21 AddStaticVehicle(427,-1605.2008,651.7350,7.3193,359.6695,0,1); // car22 AddStaticVehicle(596,-1599.6945,651.1352,6.9087,359.4665,0,1); // car23 AddStaticVehicle(514,-1658.1969,449.0964,7.7671,213.6456,25,1); // car24 AddStaticVehicle(432,-1450.3162,458.0264,7.1965,358.0674,43,0); // car25 AddStaticVehicle(596,-1587.6300,651.6120,6.9087,358.3333,0,1); // car26 AddStaticVehicle(596,-1581.8977,651.7803,6.9078,359.2933,0,1); // car27 AddStaticVehicle(598,-1594.4235,673.0942,6.9332,179.1243,0,1); // car28 AddStaticVehicle(598,-1600.0331,673.0317,6.9328,179.5085,0,1); // car29 AddStaticVehicle(490,-1574.2876,714.2642,-5.1145,89.0129,0,0); // car30 AddStaticVehicle(490,-1574.2661,710.3427,-5.1147,89.1375,0,0); // car31 AddStaticVehicle(490,-1574.1755,706.1642,-5.1146,90.7530,0,0); // car32 AddStaticVehicle(596,-1573.6791,722.1187,-5.5211,90.6117,0,1); // car33 AddStaticVehicle(596,-1573.8575,730.6639,-5.5217,89.7573,0,1); // car34 AddStaticVehicle(596,-1573.5385,734.4633,-5.5220,88.8792,0,1); // car35 AddStaticVehicle(596,-1573.4248,739.0908,-5.5221,90.4690,0,1); // car36 AddStaticVehicle(596,-1573.2230,742.5228,-5.5208,89.2028,0,1); // car37 AddStaticVehicle(598,-1600.3463,749.7092,-5.4954,180.3100,0,1); // car38 AddStaticVehicle(598,-1604.2474,749.6938,-5.4956,179.8932,0,1); // car39 AddStaticVehicle(598,-1608.4534,749.6821,-5.4960,180.4397,0,1); // car40 AddStaticVehicle(598,-1612.7340,749.6252,-5.4962,181.2642,0,1); // car41 AddStaticVehicle(598,-1616.6920,749.7081,-5.4970,179.9954,0,1); // car41 AddStaticVehicle(598,-1592.1154,749.6444,-5.4973,179.6934,0,1); // car43 AddStaticVehicle(598,-1587.9971,749.8513,-5.4958,178.9971,0,1); // car44 AddStaticVehicle(598,-1583.9622,749.8259,-5.4954,179.3184,0,1); // car45 AddStaticVehicle(598,-1579.9960,749.7203,-5.4958,179.3284,0,1); // car46 AddStaticVehicle(597,-1622.7053,649.7056,-5.4738,88.5598,0,1); // car47 AddStaticVehicle(596,-1639.5427,674.1429,-5.5225,269.2240,0,1); // car48 AddStaticVehicle(596,-1639.6805,682.0773,-5.5206,270.4482,0,1); // car49 AddStaticVehicle(597,-1639.7576,686.4487,-5.4733,271.0222,0,1); // car50 AddStaticVehicle(597,-1639.8285,669.9292,-5.4740,269.2921,0,1); // car51 AddStaticVehicle(596,-1639.7863,666.1780,-5.5219,269.8799,0,1); // car52 AddStaticVehicle(597,-1639.9882,661.8076,-5.4729,269.4359,0,1); // car53 AddStaticVehicle(596,-1639.7858,657.7263,-5.5219,270.1051,0,1); // car54 AddStaticVehicle(597,-1639.8157,653.7025,-5.4737,268.7205,0,1); // car55 AddStaticVehicle(596,-1639.5710,649.8344,-5.5219,269.4172,0,1); // car56 AddStaticVehicle(598,-1595.6241,694.0532,-5.4961,180.6208,0,1); // car57 AddStaticVehicle(598,-1600.1334,693.9891,-5.4959,179.8698,0,1); // car58 AddStaticVehicle(598,-1604.2416,693.9874,-5.4968,179.3441,0,1); // car59 AddStaticVehicle(598,-1608.5326,694.0151,-5.4969,179.8332,0,1); // car60 AddStaticVehicle(598,-1612.3291,694.0125,-5.4954,180.4067,0,1); // car61 AddStaticVehicle(598,-1616.5938,694.0545,-5.4963,180.0018,0,1); // car62 AddStaticVehicle(598,-1620.7970,694.0438,-5.4966,179.2025,0,1); // car63 AddStaticVehicle(598,-1624.8109,693.9700,-5.4957,177.9268,0,1); // car64 AddStaticVehicle(598,-1628.9708,693.9097,-5.4965,179.0654,0,1); // car65 AddStaticVehicle(598,-1632.7097,693.9340,-5.4964,178.4928,0,1); // car66 AddStaticVehicle(427,-1596.4033,678.2721,-5.1103,1.2281,0,1); // car67 AddStaticVehicle(427,-1611.6322,733.2242,-5.1102,358.4313,0,1); // car68 AddStaticVehicle(601,-1603.5253,733.0418,-5.4757,0.2952,1,1); // car69 AddStaticVehicle(601,-1607.4572,732.7892,-5.4819,359.0168,1,1); // car70 AddStaticVehicle(601,-1590.8903,718.8868,-5.4834,271.2448,1,1); // car71 AddStaticVehicle(601,-1590.8268,714.7463,-5.4834,268.9313,1,1); // car72 AddStaticVehicle(601,-1604.3324,676.1072,-5.4834,1.0470,1,1); // car73 AddStaticVehicle(601,-1608.3807,675.8729,-5.4834,0.8872,1,1); // car74 AddStaticVehicle(601,-1640.4934,690.0363,-5.4834,267.7431,1,1); // car75 AddStaticVehicle(601,-1636.2931,694.5077,-5.4834,186.3782,1,1); // car76 AddStaticVehicle(601,-1622.6899,657.6486,-5.4834,89.5577,1,1); // car77 AddStaticVehicle(601,-1622.5437,661.3481,-5.4834,88.2688,1,1); // car78 AddStaticVehicle(601,-1571.8530,745.8903,-5.4834,89.7020,1,1); // car79 AddStaticVehicle(601,-1576.2029,749.3005,-5.4835,173.8618,1,1); // car80 AddStaticVehicle(497,-1632.6996,671.5107,7.3643,268.2399,0,1); // car81 AddStaticVehicle(449,-1857.2998,603.2500,35.4973,270.0000,1,74); // tram82 AddStaticVehicle(411,1911.1893,-2279.0786,13.4614,179.2485,123,1); // lol1 AddStaticVehicle(445,1907.7418,-2279.5120,13.6094,179.8117,35,35); // lol2 AddStaticVehicle(504,1904.7721,-2279.1318,13.5269,179.3161,57,38); // lol3 AddStaticVehicle(401,1901.4082,-2279.2578,13.5139,180.0869,47,47); // lol4 AddStaticVehicle(518,1898.2179,-2279.1873,13.4053,180.2076,56,29); // lol5 AddStaticVehicle(542,1894.9795,-2279.2842,13.4777,180.0437,32,92); // lol6 AddStaticVehicle(507,1891.8937,-2279.1143,13.5598,179.7240,42,42); // lol8 AddStaticVehicle(562,1888.6708,-2279.1792,13.3937,179.5717,17,1); // lol7 AddStaticVehicle(558,1885.4453,-2279.1008,13.3649,179.9285,116,1); // lol9 AddStaticVehicle(585,1882.3105,-2278.6233,13.3206,179.4485,42,42); // lol10 AddStaticVehicle(419,1878.8553,-2279.2100,13.5319,179.2855,47,76); // lol11 AddStaticVehicle(526,1875.7548,-2279.3730,13.5010,179.3397,9,39); // lol12 AddStaticVehicle(480,1911.1173,-2287.7908,13.5075,359.5498,46,46); // lol13 AddStaticVehicle(587,1907.8986,-2288.0244,13.4612,0.5045,101,1); // 14 AddStaticVehicle(434,1904.6763,-2288.2078,13.6972,359.9930,12,12); // 15 AddStaticVehicle(502,1901.3320,-2288.2546,13.6262,359.5880,79,62); // 17 AddStaticVehicle(603,1898.3413,-2288.2791,13.5726,359.3993,69,1); // 19 AddStaticVehicle(506,1895.0903,-2288.1157,13.4389,359.9139,6,6); // lol20 AddStaticVehicle(451,1891.8843,-2288.2788,13.4408,359.4118,16,16); // lol21 AddStaticVehicle(529,1888.6558,-2288.2527,13.3676,359.2263,42,42); // lol22 AddStaticVehicle(421,1885.5139,-2288.0940,13.6169,359.4807,30,1); // lol23 AddStaticVehicle(540,1882.1724,-2288.2661,13.5956,359.5057,7,7); // lol24 AddStaticVehicle(550,1878.9658,-2288.3044,13.5483,0.0715,11,11); // lol25 AddStaticVehicle(560,1875.8556,-2288.1931,13.4395,359.4767,33,0); // lol27 AddStaticVehicle(580,1923.8180,-2269.1038,13.5305,359.8271,81,81); // lol28 AddStaticVehicle(458,1920.7224,-2269.0457,13.6129,359.4567,101,1); // lol29 AddStaticVehicle(405,1917.4686,-2268.8232,13.6094,358.7858,24,1); // lol30 AddStaticVehicle(442,1914.3392,-2269.3115,13.5632,359.4727,36,0); // lol31 AddStaticVehicle(479,1911.1680,-2269.1724,13.5300,359.4114,49,23); // lol33 AddStaticVehicle(547,1908.0110,-2269.2039,13.4693,359.9124,10,1); // lol34 AddStaticVehicle(426,1904.7115,-2268.9585,13.4777,359.8541,62,62); // lol35 AddStaticVehicle(420,1901.5040,-2269.0149,13.5146,359.4012,6,1); // lol36 AddStaticVehicle(597,1898.0305,-2268.9377,13.5027,358.3706,0,1); // lol37 AddStaticVehicle(596,1895.1246,-2268.8660,13.4557,359.2520,0,1); // lol38 AddStaticVehicle(598,1891.8759,-2269.0061,13.4802,359.5250,0,1); // lol39 AddStaticVehicle(467,1888.6821,-2269.2686,13.4743,359.0755,22,1); // lol40 AddStaticVehicle(516,1885.5570,-2269.2581,13.5683,359.8004,116,1); // lol41 AddStaticVehicle(551,1882.3090,-2269.2805,13.5350,359.5113,91,1); // lol42 AddStaticVehicle(546,1878.9924,-2268.9438,13.4587,359.6487,3,87); // lol43 AddStaticVehicle(492,1875.7860,-2269.0564,13.5162,359.0539,77,26); // lol44 AddStaticVehicle(466,1872.6475,-2269.1812,13.4762,358.6961,16,76); // lol45 AddStaticVehicle(585,1869.4386,-2269.1697,13.3187,359.1321,62,62); // lol46 AddStaticVehicle(602,1866.0898,-2268.8457,13.5410,359.1708,34,1); // lol47 AddStaticVehicle(402,1862.9867,-2269.0178,13.5661,359.9218,30,30); // lol48 AddStaticVehicle(429,1859.9293,-2269.0386,13.4141,0.0943,12,12); // lol49 AddStaticVehicle(541,1856.7625,-2274.5742,13.3593,89.5916,51,1); // lol50 AddStaticVehicle(415,1856.9264,-2277.6211,13.5063,88.5767,20,1); // lol51 AddStaticVehicle(431,1862.0280,-2304.1050,13.6462,270.0306,59,83); // lol52 AddStaticVehicle(437,1873.7074,-2304.0161,13.6802,269.9991,95,16); // lol53 AddStaticVehicle(554,1856.9506,-2280.5718,13.8178,89.4800,65,32); // lol54 AddStaticVehicle(478,1856.6708,-2283.6772,13.7288,89.6596,66,1); // lol55 AddStaticVehicle(495,1856.7122,-2286.5811,14.0823,89.3343,119,122); // lol56 AddStaticVehicle(422,1856.6270,-2289.3911,13.7232,89.2235,97,25); // lol57 AddStaticVehicle(543,1856.7506,-2292.5146,13.5551,89.6668,43,8); // lol58 AddStaticVehicle(489,1859.7606,-2298.5264,13.8834,179.9259,14,123); // lol59 AddStaticVehicle(599,1863.0787,-2298.5251,13.9349,178.6234,0,1); // lol60 AddStaticVehicle(490,1866.3394,-2298.1189,13.8696,179.5494,0,0); // lol61 AddStaticVehicle(601,1869.4817,-2297.9785,13.5007,179.2839,1,1); // lol62 AddStaticVehicle(528,1872.7810,-2299.0559,13.7821,179.4620,0,0); // lol63 AddStaticVehicle(427,1875.7861,-2298.1174,13.8663,179.8300,0,1); // lol64 AddStaticVehicle(433,1879.0906,-2296.8906,14.1710,179.9041,43,0); // lol67 AddStaticVehicle(579,1882.2793,-2298.7673,13.6687,179.2489,11,11); // lol68 AddStaticVehicle(400,1885.5701,-2299.2480,13.8267,179.4204,4,1); // lol69 AddStaticVehicle(500,1888.7135,-2298.7749,13.8403,179.5145,28,119); // lol70 AddStaticVehicle(444,1891.5771,-2298.2197,14.1174,179.4028,32,36); // lol71 AddStaticVehicle(470,1895.1737,-2299.0354,13.7274,179.7490,43,0); // lol73 AddStaticVehicle(600,1898.1533,-2298.6555,13.4504,179.4988,32,8); // lol74 AddStaticVehicle(536,1901.3976,-2298.9766,13.4717,179.8836,12,1); // lol75 AddStaticVehicle(534,1904.6555,-2298.5073,13.4587,179.1104,42,42); // lol76 AddStaticVehicle(575,1907.9175,-2299.1719,13.3361,178.8462,51,96); // lol77 AddStaticVehicle(567,1910.9651,-2298.3127,13.6028,179.3204,102,114); // lol78 AddStaticVehicle(561,1914.3330,-2298.5879,13.5480,179.2602,25,78); // lol79 AddStaticVehicle(559,1917.4224,-2298.8337,13.3907,179.8719,36,8); // lol80 AddStaticVehicle(566,1920.6310,-2298.8464,13.5141,179.8326,52,8); // lol81 AddStaticVehicle(576,1923.8184,-2298.8926,13.3433,179.0500,76,8); // lol82 //Objects CreateObject(13592, 1966.19921875, -2460.3994140625, 21.60000038147, 0, 0, 0); CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0); CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0); CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0); CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0); CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0); CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0); CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0); CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0); CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0); CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300); CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300); CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180); CreateObject(18478, 1856.0999755859, -2516, 40.299999237061, 0, 30, 0); CreateObject(18478, 1725.0999755859, -2515.8000488281, 75.400001525879, 0, 0, 0); CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0); CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270); CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90); CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90); CreateObject(13592, 1966.1999511719, -2460.3999023438, 21.60000038147, 0, 0, 0); CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0); CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0); CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0); CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0); CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0); CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0); CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0); CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0); CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0); CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300); CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300); CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180); CreateObject(18478, 1856.0999755859, -2516, 40.299999237061, 0, 30, 0); CreateObject(18478, 1725.099609375, -2515.7998046875, 75.400001525879, 0, 0, 0); CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0); CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270); CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90); CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90); CreateObject(5314, 1597, -1196, 343.10000610352, 0, 0, 90); CreateObject(615, 1566.5999755859, -1305.5999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.4000244141, -1304.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1566.1999511719, -1286.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.1999511719, -1283.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1566.3000488281, -1273.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1566.1999511719, -1244, 343.20001220703, 0, 0, 0); CreateObject(615, 1566, -1262.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1582, -1274.5, 343.20001220703, 0, 0, 0); CreateObject(615, 1565.6999511719, -1259.3000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.6999511719, -1244.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1567.5999755859, -1224.8000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1583.0999755859, -1224.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1568.5999755859, -1211.0999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1583, -1210.5999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1567.3000488281, -1195.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1581.8000488281, -1194.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1565.6999511719, -1182.8000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.8000488281, -1182.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1568.4000244141, -1168.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.9000244141, -1168.1999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1569.1999511719, -1153.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1584.5, -1158.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1573.9000244141, -1143.5999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1588.3000488281, -1149.9000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1577.4000244141, -1133.0999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1591, -1139.3000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1582.9000244141, -1123.5, 343.20001220703, 0, 0, 0); CreateObject(615, 1597, -1131.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1590.4000244141, -1115.0999755859, 343.20001220703, 0, 0, 0); CreateObject(615, 1602.6999511719, -1122.3000488281, 343.20001220703, 0, 0, 0); CreateObject(615, 1597.1999511719, -1105, 343.20001220703, 0, 0, 0); CreateObject(615, 1609, -1115.4000244141, 343.20001220703, 0, 0, 0); CreateObject(615, 1606.5999755859, -1095.6999511719, 343.20001220703, 0, 0, 0); CreateObject(615, 1615.9000244141, -1106.5999755859, 343.20001220703, 0, 0, 0); CreateObject(13592, 1966.1999511719, -2460.3999023438, 21.60000038147, 0, 0, 0); CreateObject(13592, 1965.4000244141, -2466.6000976563, 21.200000762939, 0, 0, 0); CreateObject(634, 1892.5, -2414.1999511719, 12.5, 0, 0, 0); CreateObject(655, 1902.4000244141, -2409, 12.5, 0, 0, 0); CreateObject(671, 1914.5999755859, -2414.6999511719, 12.5, 0, 0, 0); CreateObject(680, 1910.6999511719, -2414.1000976563, 12.5, 0, 0, 0); CreateObject(687, 1911.5, -2414.6000976563, 12.5, 0, 0, 0); CreateObject(710, 1916.9000244141, -2417.3000488281, 28.10000038147, 0, 0, 0); CreateObject(777, 1876.0999755859, -2415, 12.60000038147, 0, 0, 0); CreateObject(18270, 1836.0999755859, -2403.3999023438, 19.39999961853, 0, 0, 0); CreateObject(1634, 1986.5999755859, -2344.1000976563, 17.60000038147, 0, 0, 300); CreateObject(1634, 1979.8000488281, -2348.1000976563, 13.800000190735, 0, 0, 300); CreateObject(1634, 2025.3000488281, -2332.6000976563, 24.5, 0, 0, 180); CreateObject(18478, 1856.099609375, -2516, 40.299999237061, 0, 29.998168945313, 0); CreateObject(18478, 1725.0999755859, -2515.8000488281, 75.400001525879, 0, 0, 0); CreateObject(13592, 1982.0999755859, -2528.3000488281, 22.60000038147, 0, 0, 0); CreateObject(13590, 2034.1999511719, -2526.1999511719, 13.5, 0, 0, 270); CreateObject(5754, 1586.0999755859, -2515.5, 82.800003051758, 0, 0, 90); CreateObject(6449, 1458.0999755859, -2499.8000488281, 96.199996948242, 0, 0, 90); CreateObject(17300, -1387.5999755859, -276.79998779297, 46.200000762939, 351.98559570313, 0, 315); CreateObject(17300, -1548, -463.29998779297, 83.800003051758, 1, 0, 315); CreateObject(17300, -1699.8000488281, -639.90002441406, 113, 355, 0, 315); CreateObject(18483, -1803.5999755859, -760, 130.89999389648, 0, 0, 48); CreateObject(1634, -1297.5, -176, 14.39999961853, 0, 0, 315); CreateObject(1634, -1300.5, -173.10000610352, 14.39999961853, 0, 0, 315); CreateObject(5112, -970.40002441406, 514.90002441406, 9.6999998092651, 0, 0, 40); CreateObject(5112, -858.5, 617.29998779297, 10, 0, 0, 45); CreateObject(1632, -786.79998779297, 695.20001220703, 17.39999961853, 0, 0, 135); CreateObject(4710, -1178, 424.5, 13.39999961853, 0, 0, 160); CreateObject(4148, -1283.3000488281, 470.70001220703, 6.3000001907349, 353, 0, 70); CreateObject(8040, 1648.1999511719, -1064.6999511719, 343.89999389648, 0, 0, 225); CreateObject(4150, 1576.6999511719, -1368.4000244141, 343.10000610352, 0, 0, 0); CreateObject(4150, 1576.6999511719, -1484.4000244141, 322.60000610352, 20, 0, 0); CreateObject(4150, 1576.9000244141, -1572.8000488281, 290.5, 20, 0, 0); CreateObject(4150, 1577.0999755859, -1681.5999755859, 245.39999389648, 25, 0, 0); CreateObject(4150, 1577.0999755859, -1787.8000488281, 194.73950195313, 26, 0, 0); CreateObject(13641, 1578.5, -1845.8000488281, 169.80000305176, 0, 0, 270); CreateObject(13641, 1572.0999755859, -1845.9000244141, 169.80000305176, 0, 0, 270); CreateObject(13641, 1478.5999755859, -2567.3999023438, 14.5, 0, 0, 0); CreateObject(13641, 1477.5999755859, -2552.5, 12.5, 0, 0, 0); CreateObject(13640, 1511.3000488281, -2533.6999511719, 13.60000038147, 0, 0, 0); CreateObject(13592, 1543.9000244141, -2529.5, 22.700000762939, 0, 0, 5); CreateObject(1634, 1775.5999755859, -2569.6000976563, 13.800000190735, 0, 0, 0); CreateObject(1634, 1774.5, -2518.8999023438, 13.800000190735, 0, 0, 180); CreateObject(3567, 1777, -2455.8000488281, 13.39999961853, 0, 0, 0); CreateObject(12932, 1802.5999755859, -2436.6999511719, 15.89999961853, 0, 0, 0); CreateObject(7515, 1727.8000488281, -2459.1999511719, 18.5, 0, 0, 0); CreateObject(3625, 1557.9000244141, -2460.8000488281, 15.39999961853, 0, 0, 0); CreateObject(8302, 1593.5, -2445.3000488281, 14.60000038147, 0, 0, 0); CreateObject(8040, 1893.0999755859, -2283.8999023438, 13.5, 0, 0, 0); CreateObject(13666, 1929.6999511719, -2343.6999511719, 18.299999237061, 0, 0, 0); CreateObject(9076, 1889.4000244141, -2675, 43.400001525879, 0, 0, 270); CreateObject(16778, 1896.9000244141, -2449.3999023438, 12.5, 0, 0, 0); CreateObject(16776, 1936.5, -2428.8000488281, 12.5, 0, 0, 0); CreateObject(13562, 1810.8000488281, -2646.3999023438, 24.10000038147, 0, 0, 0); CreateObject(13667, 1841.5, -2641.6999511719, 38.599998474121, 0, 0, 95); CreateObject(14608, 1823.5, -2641.3000488281, 27.60000038147, 0, 0, 325); CreateObject(16776, 1754.3000488281, -2647.3999023438, 25.39999961853, 0, 0, 180); CreateObject(1634, 1970.5999755859, -2428.3999023438, 13.800000190735, 0, 0, 90); CreateObject(18483, 2476.5, -1659.0999755859, 12, 0, 329.13635253906, 0); CreateObject(18483, 2541.6999511719, -1659, 31, 0, 358.17993164063, 0); CreateObject(18483, 2575.1999511719, -1659, 32.099998474121, 0, 330, 0); CreateObject(18483, 2605.3999023438, -1659, 49.5, 0, 330, 0); CreateObject(18483, 2624.8000488281, -1659.0999755859, 60.700000762939, 0, 330, 0); CreateObject(18483, 2655.1000976563, -1659.4000244141, 78.099998474121, 0, 330, 0); CreateObject(17300, 2809.8994140625, -1658.69921875, 102.80000305176, 3.8397216796875, 0, 85.995483398438); CreateObject(13139, 172.80000305176, 109.5, 492.70001220703, 0, 0, 0); CreateObject(17062, 3026.1000976563, -1656.5999755859, 163.5, 331.5, 0, 87); CreateObject(8420, 3161.1999511719, -1644.5999755859, 217.69999694824, 346, 0, 19); CreateObject(13641, 2369.3999023438, -1658.8000488281, 12.39999961853, 0, 0, 178); // SPECIAL total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt"); // LAS VENTURAS total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt"); // SAN FIERRO total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt"); // LOS SANTOS total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt"); // OTHER AREAS total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt"); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt"); printf("Total vehicles from files: %d",total_vehicles_from_files); welcomeText = TextDrawCreate(240.0,580.0,"Welcome to Julius95's server!"); return 0; } //---------------------------------------------------------- public OnPlayerUpdate(playerid) { if(!IsPlayerConnected(playerid)) return 0; if(IsPlayerNPC(playerid)) return 1; // changing cities by inputs if( !gPlayerHasCitySelected[playerid] && GetPlayerState(playerid) == PLAYER_STATE_SPECTATING ) { ClassSel_HandleCitySelection(playerid); return 1; } // No weapons in interiors if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) { SetPlayerArmedWeapon(playerid,0); // fists return 0; // no syncing until they change their weapon } // Don't allow minigun if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) { Kick(playerid); return 0; } /* No jetpacks allowed if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) { Kick(playerid); return 0; }*/ /* For testing animations new msg[128+1]; new animlib[32+1]; new animname[32+1]; thisanimid = GetPlayerAnimationIndex(playerid); if(lastanimid != thisanimid) { GetAnimationName(thisanimid,animlib,32,animname,32); format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname); lastanimid = thisanimid; SendClientMessage(playerid, 0xFFFFFFFF, msg); }*/ return 1; } //---------------------------------------------------------- enum { E_STREAMER_ATTACHED_OBJECT, E_STREAMER_ATTACHED_PLAYER, E_STREAMER_ATTACHED_VEHICLE, E_STREAMER_ATTACH_OFFSET_X, E_STREAMER_ATTACH_OFFSET_Y, E_STREAMER_ATTACH_OFFSET_Z, E_STREAMER_ATTACH_R_X, E_STREAMER_ATTACH_R_Y, E_STREAMER_ATTACH_R_Z, E_STREAMER_ATTACH_X, E_STREAMER_ATTACH_Y, E_STREAMER_ATTACH_Z, E_STREAMER_COLOR, E_STREAMER_DRAW_DISTANCE, E_STREAMER_EXTRA_ID, E_STREAMER_INTERIOR_ID, E_STREAMER_MAX_X, E_STREAMER_MAX_Y, E_STREAMER_MAX_Z, E_STREAMER_MIN_X, E_STREAMER_MIN_Y, E_STREAMER_MIN_Z, E_STREAMER_MODEL_ID, E_STREAMER_MOVE_R_X, E_STREAMER_MOVE_R_Y, E_STREAMER_MOVE_R_Z, E_STREAMER_MOVE_SPEED, E_STREAMER_MOVE_X, E_STREAMER_MOVE_Y, E_STREAMER_MOVE_Z, E_STREAMER_NEXT_X, E_STREAMER_NEXT_Y, E_STREAMER_NEXT_Z, E_STREAMER_PLAYER_ID, E_STREAMER_R_X, E_STREAMER_R_Y, E_STREAMER_R_Z, E_STREAMER_SIZE, E_STREAMER_STREAM_DISTANCE, E_STREAMER_STYLE, E_STREAMER_TEST_LOS, E_STREAMER_TYPE, E_STREAMER_WORLD_ID, E_STREAMER_X, E_STREAMER_Y, E_STREAMER_Z } //---------------------------------------------------------- CMD:healme(playerid, params[]) { SetPlayerHealth(playerid, 100); SendClientMessage(playerid, 0xFFFFFFFF, "Julius95Bot: You have successfully healed yourself!"); SendClientMessage(playerid, 0xFFFFFFFF, "Julius95Bot: Don't abuse this command for example during fights or you may get kicked and banned!"); return 1; } CMD:fix(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "SpyBot: You are not in a vehicle!"); RepairVehicle(GetPlayerVehicleID(playerid)); SendClientMessage(playerid, 0xFFFFFFFF, "SpyBot: Your vehicle has been successfully repaired!"); return 1; } CMD:flip(playerid, params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "AdrenalineBot: You are not in a vehicle!"); new currentveh; new Float:angle; currentveh = GetPlayerVehicleID(playerid); GetVehicleZAngle(currentveh, angle); SetVehicleZAngle(currentveh, angle); SendClientMessage(playerid, 0xFFFFFFFF, "AdrenalineBot: Your vehicle has been successfully flipped!"); return 1; } new fixtimer[MAX_PLAYERS],bool:actived[MAX_PLAYERS]; CMD:autofix(playerid) { if(actived[playerid]) return SendClientMessage(playerid,-1,"TestBot: You have disabled autofix!"),KillTimer(fixtimer[playerid]),actived[playerid] = false; fixtimer[playerid] = SetTimerEx("fixt",1000,true,"i",playerid); actived[playerid] = true; SendClientMessage(playerid,-1,"TestBot: You have enabled autofix! Don't abuse this command."); return 1; } forward fixt(playerid); public fixt(playerid) { if(!IsPlayerInAnyVehicle(playerid)) return 0; RepairVehicle(GetPlayerVehicleID(playerid)); return 1; } new lastpm[MAX_PLAYERS][128]; CMD:pm(playerid, params[]) { new id, message[1024]; if(sscanf(params,"ds[1024]",id,message))return SendClientMessage(playerid, COLOR_RED, "USAGE: /pm <playerid> <message>"); if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected."); if(playerid != id) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); new ReturnName[MAX_PLAYER_NAME]; GetPlayerName(id, ReturnName, sizeof(ReturnName)); format(szString,sizeof(szString), ">> PM To %s (ID:%d): %s", ReturnName, id, message); SendClientMessage(playerid, 0xFFCC2299, szString); format(szString,sizeof(szString),"<< PM From %s (ID:%d): %s",PlayerName, playerid, message); SendClientMessage(id, 0xFFFF22AA, szString); PlayerPlaySound(id, 1085, 0.0, 0.0, 0.0); format(szString, sizeof(szString), "5*** [PM] From %s (ID:%d) To %s (ID:%d): %s",PlayerName,playerid,ReturnName,id,message); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); } else { SendClientMessage(playerid, COLOR_RED, "ERROR: You cannot PM yourself"); } return 1; } CMD:paint(playerid, params[]) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); new car1,car2; if(IsPlayerInAnyVehicle(playerid)) { if(sscanf(params, "dd",car1,car2)) return SendClientMessage(playerid, COLOR_RED,"USAGE: /paint number number"); ChangeVehicleColor(GetPlayerVehicleID(playerid), car1,car2); format(szString, sizeof(szString), "WinampBot: You have changed your car colors to /paint %d %d", car1, car2); SendClientMessage(playerid, COLOR_YELLOW, szString); format(szString, sizeof(szString), "WinampBot: [CAR] %s (ID:%d) changed their color to /paint %d %d", PlayerName, playerid, car1, car2); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); } else { SendClientMessage(playerid, COLOR_RED, "ERROR: You're not in any Vehicle!"); } return 1; } CMD:lock(playerid, params[]) { if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be in a vehicle to use this command!"); if (GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be the driver of a vehicle to use this command"); new vID = GetPlayerVehicleID(playerid); new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); loop(i, MAX_PLAYERS) { if (IsPlayerConnected(i) && i != playerid) { SetVehicleParamsForPlayer(vID, i, 0, 1); } } SetVehicleParamsForPlayer(vID, playerid, 0, 0); SendClientMessage(playerid, COLOR_GREEN, "HelpBot: Your vehicle is now locked."); format(szString, sizeof(szString), "HelpBot: [LOCK] %s (ID:%d) locked his vehicle.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); return 1; } CMD:unlock(playerid, params[]) { if (!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be in a vehicle to use this command!"); if (GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_RED, "ERROR: You must be the driver of a vehicle to use this command"); new vID = GetPlayerVehicleID(playerid); new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); loop(i, MAX_PLAYERS) { if (IsPlayerConnected(i)) { SetVehicleParamsForPlayer(vID, i, 0, 0); } } SetVehicleParamsForPlayer(vID, playerid, 0, 0); SendClientMessage(playerid, COLOR_GREEN, "Julius95Bot: Your vehicle is now unlocked."); format(szString, sizeof(szString), "Julius95Bot: [UNLOCK] %s (ID:%d) has unlocked his vehicle.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); return 1; } CMD:spray(playerid, params[]) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); if(IsPlayerInAnyVehicle(playerid) == 1) { new vID = GetPlayerVehicleID(playerid); SetVehiclePos(vID, -1905.0388,267.0628,40.7519); SetVehicleZAngle(vID, 360.0000); PutPlayerInVehicle(playerid, vID, 0); format(szString, sizeof(szString), "* (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); SendClientMessageToAll(0x6B96EFFF, szString); format(szString, sizeof(szString), "TestBot: [TELEPORT] (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); } else { SetPlayerPos(playerid, -1905.0388,267.0628,40.7519); SetPlayerFacingAngle(playerid, 360.0000); format(szString, sizeof(szString), "* (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); SendClientMessageToAll(0x6B96EFFF, szString); format(szString, sizeof(szString), "TestBot: [TELEPORT] (/spray) %s (ID:%d) has teleported to the Pay 'N Spray.", PlayerName, playerid); IRC_GroupSay(gGroupID, IRC_CHANNEL2, szString); return 1; } } CMD:getid(playerid, params[]) { if(sscanf(params, "s[35]",params)) return SendClientMessage(playerid, COLOR_RED, "USAGE:/getid <partofname>"); new matches; format(szString, sizeof(szString), "Matches:"); loop(i, MAX_PLAYERS) { if (IsPlayerConnected(i)) { new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(i, PlayerName, sizeof(PlayerName)); if (!strfind(PlayerName, params, true)) { matches++; format(szString, sizeof(szString), "%s %s(%d)", szString, PlayerName, i); } } } if (matches == 0) { SendClientMessage(playerid, COLOR_RED, "ERROR: No matches found"); } else { SendClientMessage(playerid, COLOR_GREEN, szString); } return 1; } CMD:rules(playerid, params[]) { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{FFFF00}Ultimate Stunting Rules List", DialogText5,"Okay","Cancel"); return 1; } //---------------------------------------------------------- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_FIRE) { new veh = GetPlayerVehicleID(playerid); AddVehicleComponent(veh,1010); return 1; } return 1; } //---------------------------------------------------------- public OnPlayerText(playerid, text[]) { new name[MAX_PLAYER_NAME], ircMsg[256]; GetPlayerName(playerid, name, sizeof(name)); format(ircMsg, sizeof(ircMsg), "02[%d] 07%s: %s", playerid, name, text); IRC_GroupSay(groupID, IRC_CHANNEL, ircMsg); return 1; } //---------------------------------------------------------- public IRC_OnConnect(botid, ip[], port) { printf("*** IRC_OnConnect: Bot ID %d connected to %s:%d", botid, ip, port); // Join the channel IRC_JoinChannel(botid, IRC_CHANNEL); // Add the bot to the group IRC_AddToGroup(groupID, botid); new str[60]; format(str, 60, "nickserv identify %s", IRC_PASSWORD); IRC_SendRaw(botid, str); return 1; } /* This callback is executed whenever a current connection is closed. The plugin may automatically attempt to reconnect per user settings. IRC_Quit may be called at any time to stop the reconnection process. */ public IRC_OnDisconnect(botid, ip[], port, reason[]) { printf("*** IRC_OnDisconnect: Bot ID %d disconnected from %s:%d (%s)", botid, ip, port, reason); // Remove the bot from the group IRC_RemoveFromGroup(groupID, botid); return 1; } /* This callback is executed whenever a connection attempt begins. IRC_Quit may be called at any time to stop the reconnection process. */ public IRC_OnConnectAttempt(botid, ip[], port) { printf("*** IRC_OnConnectAttempt: Bot ID %d attempting to connect to %s:%d...", botid, ip, port); return 1; } /* This callback is executed whenever a connection attempt fails. IRC_Quit may be called at any time to stop the reconnection process. */ public IRC_OnConnectAttemptFail(botid, ip[], port, reason[]) { printf("*** IRC_OnConnectAttemptFail: Bot ID %d failed to connect to %s:%d (%s)", botid, ip, port, reason); return 1; } /* This callback is executed whenever a bot joins a channel. */ public IRC_OnJoinChannel(botid, channel[]) { printf("*** IRC_OnJoinChannel: Bot ID %d joined channel %s", botid, channel); return 1; } /* This callback is executed whenevever a bot leaves a channel. */ public IRC_OnLeaveChannel(botid, channel[], message[]) { printf("*** IRC_OnLeaveChannel: Bot ID %d left channel %s (%s)", botid, channel, message); return 1; } /* This callback is executed whenevever a bot is invited to a channel. */ public IRC_OnInvitedToChannel(botid, channel[], invitinguser[], invitinghost[]) { printf("*** IRC_OnInvitedToChannel: Bot ID %d invited to channel %s by %s (%s)", botid, channel, invitinguser, invitinghost); IRC_JoinChannel(botid, channel); return 1; } /* This callback is executed whenevever a bot is kicked from a channel. If the bot cannot immediately rejoin the channel (in the event, for example, that the bot is kicked and then banned), you might want to set up a timer here for rejoin attempts. */ public IRC_OnKickedFromChannel(botid, channel[], oppeduser[], oppedhost[], message[]) { printf("*** IRC_OnKickedFromChannel: Bot ID %d kicked by %s (%s) from channel %s (%s)", botid, oppeduser, oppedhost, channel, message); IRC_JoinChannel(botid, channel); return 1; } public IRC_OnUserDisconnect(botid, user[], host[], message[]) { printf("*** IRC_OnUserDisconnect (Bot ID %d): User %s (%s) disconnected (%s)", botid, user, host, message); return 1; } public IRC_OnUserJoinChannel(botid, channel[], user[], host[]) { printf("*** IRC_OnUserJoinChannel (Bot ID %d): User %s (%s) joined channel %s", botid, user, host, channel); return 1; } public IRC_OnUserLeaveChannel(botid, channel[], user[], host[], message[]) { printf("*** IRC_OnUserLeaveChannel (Bot ID %d): User %s (%s) left channel %s (%s)", botid, user, host, channel, message); return 1; } public IRC_OnUserKickedFromChannel(botid, channel[], kickeduser[], oppeduser[], oppedhost[], message[]) { printf("*** IRC_OnUserKickedFromChannel (Bot ID %d): User %s kicked by %s (%s) from channel %s (%s)", botid, kickeduser, oppeduser, oppedhost, channel, message); } public IRC_OnUserNickChange(botid, oldnick[], newnick[], host[]) { printf("*** IRC_OnUserNickChange (Bot ID %d): User %s (%s) changed his/her nick to %s", botid, oldnick, host, newnick); return 1; } public IRC_OnUserSetChannelMode(botid, channel[], user[], host[], mode[]) { printf("*** IRC_OnUserSetChannelMode (Bot ID %d): User %s (%s) on %s set mode: %s", botid, user, host, channel, mode); return 1; } public IRC_OnUserSetChannelTopic(botid, channel[], user[], host[], topic[]) { printf("*** IRC_OnUserSetChannelTopic (Bot ID %d): User %s (%s) on %s set topic: %s", botid, user, host, channel, topic); return 1; } public IRC_OnUserSay(botid, recipient[], user[], host[], message[]) { printf("*** IRC_OnUserSay (Bot ID %d): User %s (%s) sent message to %s: %s", botid, user, host, recipient, message); // Someone sent the first bot a private message if(strcmp(user,BOT_1_NICKNAME) && strcmp(user,BOT_2_NICKNAME)) // just to check if user that have said anything is not a bot lol, bot_2_name is second bot name if u have any { new msg[256]; format(msg, sizeof(msg), "%s: %s", user, message); SendClientMessageToAll(0xFFFFFFFF, msg); } if (!strcmp(recipient, BOT_1_NICKNAME)) { IRC_Say(botid, user, "You sent me a PM!"); } return 1; } public IRC_OnUserNotice(botid, recipient[], user[], host[], message[]) { printf("*** IRC_OnUserNotice (Bot ID %d): User %s (%s) sent notice to %s: %s", botid, user, host, recipient, message); // Someone sent the second bot a notice (probably a network service) if (!strcmp(recipient, BOT_2_NICKNAME)) { IRC_Notice(botid, user, "You sent me a notice!"); } return 1; } public IRC_OnUserRequestCTCP(botid, user[], host[], message[]) { printf("*** IRC_OnUserRequestCTCP (Bot ID %d): User %s (%s) sent CTCP request: %s", botid, user, host, message); // Someone sent a CTCP VERSION request if (!strcmp(message, "VERSION")) { IRC_ReplyCTCP(botid, user, "VERSION SA-MP IRC Plugin v" #PLUGIN_VERSION ""); } return 1; } public IRC_OnUserReplyCTCP(botid, user[], host[], message[]) { printf("*** IRC_OnUserReplyCTCP (Bot ID %d): User %s (%s) sent CTCP reply: %s", botid, user, host, message); return 1; } /* This callback is useful for logging, debugging, or catching error messages sent by the IRC server. */ public IRC_OnReceiveRaw(botid, message[]) { new File:file; if (!fexist("irc_log.txt")) { file = fopen("irc_log.txt", io_write); } else { file = fopen("irc_log.txt", io_append); } if (file) { fwrite(file, message); fwrite(file, "rn"); fclose(file); } return 1; } /* Some examples of channel commands are here. You can add more very easily; their implementation is identical to that of ZeeX's zcmd. */ IRCCMD:say(botid, channel[], user[], host[], params[]) { // Check if the user has at least voice in the channel if (IRC_IsVoice(botid, channel, user)) { // Check if the user entered any text if (!isnull(params)) { new msg[128]; // Echo the formatted message format(msg, sizeof(msg), "02*** %s on IRC: %s", user, params); IRC_GroupSay(groupID, channel, msg); format(msg, sizeof(msg), "*** %s on IRC: %s", user, params); SendClientMessageToAll(0x0000FFFF, msg); } } return 1; } IRCCMD:kick(botid, channel[], user[], host[], params[]) { // Check if the user is at least a halfop in the channel if (IRC_IsHalfop(botid, channel, user)) { new playerid, reason[64]; // Check if the user at least entered a player ID if (sscanf(params, "dS(No reason)[64]", playerid, reason)) { return 1; } // Check if the player is connected if (IsPlayerConnected(playerid)) { // Echo the formatted message new msg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(msg, sizeof(msg), "02*** %s has been kicked by %s on IRC. (%s)", name, user, reason); IRC_GroupSay(groupID, channel, msg); format(msg, sizeof(msg), "*** %s has been kicked by %s on IRC. (%s)", name, user, reason); SendClientMessageToAll(0x0000FFFF, msg); // Kick the player Kick(playerid); } } return 1; } IRCCMD:ban(botid, channel[], user[], host[], params[]) { // Check if the user is at least an op in the channel if (IRC_IsOp(botid, channel, user)) { new playerid, reason[64]; // Check if the user at least entered a player ID if (sscanf(params, "dS(No reason)[64]", playerid, reason)) { return 1; } // Check if the player is connected if (IsPlayerConnected(playerid)) { // Echo the formatted message new msg[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(msg, sizeof(msg), "02*** %s has been banned by %s on IRC. (%s)", name, user, reason); IRC_GroupSay(groupID, channel, msg); format(msg, sizeof(msg), "*** %s has been banned by %s on IRC. (%s)", name, user, reason); SendClientMessageToAll(0x0000FFFF, msg); // Ban the player BanEx(playerid, reason); } } return 1; } IRCCMD:rcon(botid, channel[], user[], host[], params[]) { // Check if the user is at least an op in the channel if (IRC_IsOp(botid, channel, user)) { // Check if the user entered any text if (!isnull(params)) { // Check if the user did not enter any invalid commands if (strcmp(params, "exit", true) != 0 && strfind(params, "loadfs irc", true) == -1) { // Echo the formatted message new msg[128]; format(msg, sizeof(msg), "RCON command %s has been executed.", params); IRC_GroupSay(groupID, channel, msg); // Send the command SendRconCommand(params); } } } return 1; } //---------------------------------------------------------- public update_zones() { new line1[10], line2[10]; for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && zoneupdates[i] == 1) { if(IsPlayerInZone(i,player_zone[i])) { } else { new player_zone_before; player_zone_before = player_zone[i]; player_zone[i] = -1; for(new j=0; j<sizeof(zones);j++) { if(IsPlayerInZone(i,j) && player_zone[i] == -1) { if(player_zone_before == -1) GameTextForPlayer(i,zones[j][zone_name],1500,1); else if(strcmp(zones[j][zone_name],zones[player_zone_before][zone_name],true) != 0) GameTextForPlayer(i,zones[j][zone_name],1500,1); player_zone[i] = j; format(line1,10,"p%dzone",i); format(line2,10,"%d",j); } } if(player_zone[i] == -1) player_zone[i] = player_zone_before; } } } } IsPlayerInZone(playerid, zoneid) { if(zoneid == -1) return 0; new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); if(x >= zones[zoneid][zone_minx] && x < zones[zoneid][zone_maxx] && y >= zones[zoneid][zone_miny] && y < zones[zoneid][zone_maxy] && z >= zones[zoneid][zone_minz] && z < zones[zoneid][zone_maxz] && z < 900.0) return 1; return 0; } //---------------------------------------------------------- public OnPlayerStateChange(playerid, newstate, oldstate) //checks when the player gets in a vehicle { if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) { VehicleModel[playerid] = GetVehicleModel(GetPlayerVehicleID(playerid)); ShowGameTextForPlayer(playerid); return 1; } if(newstate != PLAYER_STATE_DRIVER && (oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)) KillTimer(CFCTimer); //kills timer that checks for left vehicle if player exits vehicle return 1; } public CheckForChange(playerid) //Checks if the player has changed vehicles. { if(GetVehicleModel(GetPlayerVehicleID(playerid)) != VehicleModel[playerid]) //makes sure the new vehicle isn't the same as old vehicle { VehicleModel[playerid] = GetVehicleModel(GetPlayerVehicleID(playerid)); ShowGameTextForPlayer(playerid); } return 1; } public ShowGameTextForPlayer(playerid) //optimised code here :D { new string[32]; switch(GAMETEXT_COLOR) //sets the text's color { case 0: format(string,sizeof(string),"%s",VehicleNames[VehicleModel[playerid]-400]); //yellow case 1: format(string,sizeof(string),"~b~%s",VehicleNames[VehicleModel[playerid]-400]); //blue case 2: format(string,sizeof(string),"~g~%s",VehicleNames[VehicleModel[playerid]-400]); //green case 3: format(string,sizeof(string),"~r~%s",VehicleNames[VehicleModel[playerid]-400]); //red case 4: format(string,sizeof(string),"~p~%s",VehicleNames[VehicleModel[playerid]-400]); //purple case 5: format(string,sizeof(string),"~w~%s",VehicleNames[VehicleModel[playerid]-400]); //white case 6: format(string,sizeof(string),"%~|~s",VehicleNames[VehicleModel[playerid]-400]); //black } GameTextForPlayer(playerid,string,2000,1); //shows the text CFCTimer = SetTimerEx("CheckForChange",1000,true,"i",playerid); //starts timer to check if player has changed vehicles return 1; } strcat(DialogText5, "{FF0A00}* No cheating or modifications of any kind that give you advantages over other players!(BANNABLE)nn* No flaming, racism or any sort of discrimination towards any other player!(BANNABLE)nn* No spamming/flooding chat for any reason!nn* Avoid the unnecessary use of sexual language (pussy, dick, etc.)!nn"); strcat(DialogText5, "* The abuse of server bugs, such as RPG Bug is forbidden!(BANNABLE)nn* Spawn kill is allowed as long as it is not done with a Sea-Sparrow...nn ...In any race Spawn killing is strictly forbidden!n"); strcat(DialogText5, "n* Use /report [ID/first letters of the offender's name] [reason] to report a cheater!nn{FFD200}Play Fair & Have Fun!");