- #include <a_samp>
- #include <streamer>
- #include <sscanf2>
- #include <dfile>
- #include <pawn.cmd>
- main(){}
- #define FOLDER_USERS "/Users/"
- #define FOLDER_ZONES "/Zones/"
- #define FOLDER_DOORS "/Doors/"
- #define FOLDER_ITEMS "/Items/"
- #define FOLDER_GROUPS "/Groups/"
- #define FOLDER_CONTACTS "/Contacts/"
- #define FOLDER_MESSAGES "/Messages/"
- #define FOLDER_OBJECTS "/Objects/"
- #define FOLDER_TEXTURES "/Textures/"
- #define FOLDER_VEHICLES "/Vehicles/"
- #define FOLDER_ACTORS "/Actors/"
- #define UID_FILE "/UID.ini"
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 20
- #define MAX_USERS 10000
- #define D_LOGIN 0
- #define D_NOTFOUND 1
- #define D_CREATE 2
- #define D_FIND 3
- #define D_AMMO 4
- #define D_PASS 5
- #define D_ADMINS 6
- #define D_INFO 7
- #define D_CREATEDOOR 8
- #define D_ITEMS 9
- #define D_ITEM_OPTIONS 10
- #define D_NEARBY_ITEMS 11
- #define D_USE_WEAP 12
- #define D_PHONE 13
- #define D_SMS 14
- #define D_MESSAGES 15
- #define D_CALL 16
- #define D_ANSWER 17
- #define D_CONTACTS 18
- #define D_FRIENDS 19
- #define D_ADD_CONTACT 20
- #define D_REMOVE_CONTACT 21
- #define D_911_NUMBERS 22
- #define D_VCARD 23
- #define D_VCARD_ACCEPT 24
- #define D_STATS 25
- #define D_ZONE 26
- #define D_SERVICES 27
- #define D_CREATE_GROUP 28
- #define D_USERS 29
- #define D_SETTINGS 30
- #define D_CHANGE_PASS 31
- #define D_ANIMS 32
- #define D_DOOR_SETTINGS 33
- #define D_BOOMBOX 34
- #define D_CHANGE_URL 35
- #define D_CHANGE_DOOR_NAME 36
- #define D_HELP 37
- #define D_COMMANDS 38
- #define D_CMDS_OBJECT 39
- #define D_DOOR_GROUP 40
- #define D_DOOR_COST 41
- #define D_CHANGE_GROUP_NAME 42
- #define D_GROUP_PANEL 43
- #define D_GROUP_KICK 44
- #define D_CHANGE_PERMS 45
- #define D_CHANGEPERMS 46
- #define D_JOIN_GROUP 47
- #define D_CHANGE_GROUP_COLOR 48
- #define D_VEHICLES 49
- #define D_WITHDRAW 50
- #define D_DEPOSIT 51
- #define D_ATM 52
- #define D_ADMIN_DOOR 53
- #define D_V_OPTIONS 54
- #define D_TRADE 55
- #define D_TRADE_2 56
- #define D_TRADE_3 57
- #define D_NEAR_PLAYERS 58
- #define D_GOVERMENT 59
- #define D_BANK 60
- #define D_DOCUMENTS 61
- #define D_VEHICLE_GROUP 62
- #define D_BAG 63
- #define D_BAGS 64
- #define D_CONNECT 65
- #define D_BUY_REGISTER 66
- #define D_MEDIC 67
- #define UNRANKED 0
- #define SP_1 1
- #define SP_2 2
- #define SP_3 3
- #define GM 4
- #define SGM 5
- #define ADMIN 6
- #define ADMINISTRATION 7
- #define DEVELOPER 8
- #define PARTY 0
- #define LSPD 1
- #define LSMC 2
- #define RESTAURANT 3
- #define GANG 4
- #define MOTO_GANG 5
- #define SAN_NEWS 6
- #define SHOP_24_7 7
- #define BANK 8
- #define GOVERMENT 9
- #define WORKSHOP 10
- #define FUNITURE_SHOP 11
- #define CLOTCHES_SHOP 12
- #define HOTEL 13
- #define CARS_SALOON 14
- #define STRANGE_GROUP 15
- #define EVENT_TEAM 16
- #define HEX_WHITE "{FFFFFF}"
- #define HEX_BLUE "{AAB0FF}"
- #define HEX_RED "{FFA29C}"
- #define HEX_GRAY "{CCCACC}"
- #define HEX_YELLOW "{FFBE5E}"
- #define HEX_BLACK "{000000}"
- #define HEX_GREEN "{9FD18B}"
- #define HEX_PURPLE "{8671C0}"
- #define HEX_DARKRED "{FF3C3A}"
- #define COLOR_RED 0xFFA29CFF
- #define COLOR_BLUE 0xAAB0FFFF
- #define COLOR_WHITE 0xF7F7F8FF
- #define COLOR_GRAY 0xA6A4A7FF
- #define COLOR_ORANGE 0xFFA138FF
- #define COLOR_PINK 0xFFC3FFFF
- #define COLOR_YELLOW 0xEED642FF
- #define COLOR_GREEN 0x77C772FF
- #define COLOR_BLACK 0x00000000
- #define COLOR_DARKRED 0xD72D32FF
- #define CHAT_SHADE_1 0xEEEEEEFF
- #define CHAT_SHADE_2 0xC8C8C8FF
- #define CHAT_SHADE_3 0xB4B4B4FF
- #define CHAT_SHADE_4 0x8C8C8CFF
- #define CHAT_SHADE_5 0x514F56FF
- #define CHAT_SHADE_6 0x302D33FF
- #define ME_SHADE_1 0xC5A9D2FF
- #define ME_SHADE_2 0xB097CAFF
- #define ME_SHADE_3 0xB08DC2FF
- #define ME_SHADE_4 0xB08DB8FF
- #define ME_SHADE_5 0xA184B0FF
- #define ME_SHADE_6 0xA184A9FF
- #define DO_SHADE_1 0xB39CEDFF
- #define DO_SHADE_2 0xA292D6FF
- #define DO_SHADE_3 0xA292CAFF
- #define DO_SHADE_4 0x9892C5FF
- #define DO_SHADE_5 0x9883C5FF
- #define DO_SHADE_6 0xA697D4FF
- // Spawn states
- #define SPAWN_OR_HOUSE 0
- #define LAST_POSITION 1
- #define ADMINJAIL 2
- #define FIRST_MALE_SKIN 7
- #define FIRST_FEMALE_SKIN 12
- #define LAST_MALE_SKIN 300
- #define LAST_FEMALE_SKIN 212
- #define PLAYER_NORMAL_COLOR 0xFFFFFF88
- #define LOGGED_COLOR 0xB4B4B400
- #define UNLOGGED_COLOR 0x00000000
- #define DAMAGE_COLOR 0xED444788
- #define DESC_COLOR 0xB992C388
- #define MAX_ZONES 600
- #define ZONE_SIZE 100
- #define MAX_DOORS 10000
- #define MAX_ITEMS 10000
- #define MAX_MESSAGES 10000
- #define MAX_CONTACTS 10000
- #define MAX_GROUPS 10000
- #define MAX_TEXTURES 50000
- #undef MAX_OBJECTS
- #define MAX_OBJECTS 50000
- #undef MAX_VEHICLES
- #define MAX_VEHICLES 50000
- #undef MAX_ACTORS
- #define MAX_ACTORS 1000
- enum E_NICK
- {
- Text3D:nID,
- nStr[525],
- nColor
- };
- new pNick[MAX_PLAYERS][E_NICK];
- enum E_DESC
- {
- Text3D:dID,
- bool:dIsDescOnPlayer
- };
- new pDesc[MAX_PLAYERS][E_DESC];
- new PlayerText:TextDrawDoorInfo[MAX_PLAYERS];
- new LastUID;
- new PlayerText:BWTextDraw[MAX_PLAYERS];
- enum E_USER
- {
- uPass[32],
- uName[MAX_PLAYER_NAME],
- uSex,
- uUID,
- uSkin,
- Float:uHealth,
- uCash,
- uTutorial,
- uStrenght,
- uRank,
- uBW,
- uBWReason,
- uAJ,
- uGroup,
- uGroup2,
- uGroup3,
- bool:uGroupMapper,
- bool:uGroupMapper2,
- bool:uGroupMapper3,
- uGroupDuty,
- uGroupDuty2,
- uGroupDuty3,
- uMin,
- uH,
- uSP,
- uHouseSpawn,
- uBank,
- bool:uMapper,
- uBornDate,
- uSpawnState,
- uSpawnVW,
- Float:uSpawnX,
- Float:uSpawnY,
- Float:uSpawnZ,
- uID,
- uDrivingLicense,
- uBankAccount,
- bool:uBelts,
- bool:uAFK,
- uBan,
- uBanHour,
- uBanMin,
- uBanReason[128],
- uBanDate,
- uBanYear,
- uBanMonth,
- uBanDay,
- bool:uOnline,
- uLastLogin,
- bool:uFreeze,
- bool:uOOC,
- bool:uAchievementManDown
- };
- new UserCache[MAX_USERS][E_USER];
- enum E_REGISTER
- {
- rSex,
- rName[MAX_PLAYER_NAME],
- rBornDate
- };
- new RegisterCache[MAX_PLAYERS][E_REGISTER];
- new pUID[MAX_PLAYERS];
- new PlayerText:BottomTextDraw[MAX_PLAYERS];
- new PlayerText:RadarTextDraw[MAX_PLAYERS];
- new RadarTextDrawTimer[MAX_PLAYERS];
- new DoorInfoTextTimer[MAX_PLAYERS];
- new ChooseSkinTimer[MAX_PLAYERS];
- new JaneSmith[MAX_PLAYERS];
- new Text3D:JaneSmithLabel[MAX_PLAYERS];
- new Text:GlobalLogo;
- new Text:RadioTextDraw;
- new ClearNicknameColorTimer[MAX_PLAYERS];
- new Text:PenalityTextDraw;
- new PlayerText:AJTextDraw[MAX_PLAYERS];
- enum E_ZONE
- {
- Float:zMinX,
- Float:zMinY,
- Float:zMaxX,
- Float:zMaxY,
- zID,
- zYard,
- zCostH,
- zCostB,
- zName[64]
- };
- new ZoneData[MAX_ZONES][E_ZONE];
- new LastdUID;
- enum E_DOOR
- {
- dUID,
- dName[32],
- dType,
- Float:dInsX,
- Float:dInsY,
- Float:dInsZ,
- Float:dOutX,
- Float:dOutY,
- Float:dOutZ,
- dInsVW,
- dOutVW,
- dPlayerUID,
- dGroupUID,
- dDestroyed,
- dOpen,
- dUrl[256],
- dEnterCost,
- dVehicle
- };
- new DoorCache[MAX_DOORS][E_DOOR];
- new DoorPickupID[MAX_PICKUPS];
- new PlayerMessageUID[MAX_PLAYERS];
- enum E_ITEM
- {
- iUID,
- iType,
- iVal,
- iVal2,
- iVal3,
- iName[128],
- iState,
- Float:iX,
- Float:iY,
- Float:iZ,
- iVW,
- iOwner,
- iActive,
- Float:iAttachX,
- Float:iAttachY,
- Float:iAttachZ,
- Float:iAttachrX,
- Float:iAttachrY,
- Float:iAttachrZ,
- Float:iSizeX,
- Float:iSizeY,
- Float:iSizeZ
- };
- new ItemCache[MAX_ITEMS][E_ITEM];
- new LastiUID;
- enum E_MESSAGE
- {
- mUID,
- mText[128],
- mReceiver,
- mSender
- };
- new MsgCache[MAX_MESSAGES][E_MESSAGE];
- new LastMsgUID;
- enum E_CALL
- {
- cCaller,
- cCalling
- };
- new CallData[MAX_PLAYERS][E_CALL];
- new LastContactUID;
- enum E_CONTACT
- {
- cNum,
- cOwner,
- cName[128],
- cState
- };
- new ContactCache[MAX_CONTACTS][E_CONTACT];
- new VCardSender[MAX_PLAYERS];
- new ghour, gmin, gsec, gmsg[128];
- new PlayerText:Group[MAX_PLAYERS];
- new PlayerText:Group2[MAX_PLAYERS];
- new PlayerText:Group3[MAX_PLAYERS];
- new PlayerText:GroupLabel[MAX_PLAYERS];
- enum E_GROUP
- {
- gUID,
- gType,
- gName[32],
- gBank,
- bool:gChatIC,
- bool:gChatOOC,
- gColor[16],
- gState
- };
- new GroupCache[MAX_GROUPS][E_GROUP];
- new LastgUID;
- new pChoosingTxd[MAX_PLAYERS];
- new pDuty[MAX_PLAYERS];
- new PlayerText:DutyTxd[MAX_PLAYERS];
- enum E_OBJECT
- {
- oUID,
- oID,
- Float:oX,
- Float:oY,
- Float:oZ,
- Float:orX,
- Float:orY,
- Float:orZ,
- oVW,
- oState,
- oModel,
- oTimer,
- oPlayer,
- oGate,
- Float:oGateX,
- Float:oGateY,
- Float:oGateZ,
- Float:oGaterX,
- Float:oGaterY,
- Float:oGaterZ,
- oOwner,
- oOwnerType
- };
- new ObjectCache[MAX_OBJECTS][E_OBJECT];
- new PlayerText:ObjectInfo[MAX_PLAYERS];
- new LastoUID;
- new pLast[MAX_PLAYERS];
- new LasttUID;
- enum E_TEXTURE
- {
- tTexturename[128],
- tTxdname[128],
- tColor,
- tModelid,
- tObjectUID,
- tIndex,
- tMaterialsize,
- tFontsize,
- tBold,
- tBackcolor,
- tAlignment,
- tType
- };
- new TextureCache[MAX_TEXTURES][E_TEXTURE];
- new LoginAttempt[MAX_PLAYERS];
- new PlayerText:VehicleInfo[MAX_PLAYERS];
- new LastvUID;
- enum E_VEHICLE
- {
- vUID,
- vID,
- vColor,
- vColor2,
- vOwner,
- vState,
- Float:vPosX,
- Float:vPosY,
- Float:vPosZ,
- Float:vAngle,
- vVW,
- vFuel,
- vModel,
- Float:vHP,
- vTimer,
- vEngine,
- vLights,
- vDoors,
- vBoot,
- vBonnet,
- vAlarm,
- vOpen,
- vObjective,
- bool:vRegister
- }
- new VehicleCache[MAX_VEHICLES][E_VEHICLE];
- new MapIcon[MAX_PLAYERS];
- new MapIconTimer[MAX_PLAYERS];
- new ObjectInfoTimer[MAX_PLAYERS];
- enum E_TRADE
- {
- tType,
- tSender,
- tReceiver,
- tPrice,
- tVal
- };
- new TradeData[MAX_PLAYERS][E_TRADE];
- new bool:VehicleAttackedByCheater[MAX_VEHICLES];
- new aduty[MAX_PLAYERS];
- new LastaUID;
- enum E_ACTOR
- {
- aUID,
- aID,
- aSkin,
- aAnimLib[32],
- aAnimName[32],
- aType,
- aName[64],
- Float:aPosX,
- Float:aPosY,
- Float:aPosZ,
- aVW,
- Float:aAng,
- Text3D:aLabel,
- aRepeat
- };
- new ActorCache[MAX_ACTORS][E_ACTOR];
- enum E_ACTION
- {
- aType
- };
- new ActionData[MAX_PLAYERS][E_ACTION];
- enum E_DIALOG
- {
- dialogVal,
- dialogVal2,
- dialogVal3
- }
- new pVal[MAX_PLAYERS];
- new pVal2[MAX_PLAYERS];
- new pVal3[MAX_PLAYERS];
- enum E_REPAIR
- {
- repairTimer,
- repairTime,
- repairVehicleUID
- }
- new PlayerRepairingVehicle[MAX_PLAYERS][E_REPAIR];
- new PlayerTick[MAX_PLAYERS];
- new gyear, gmonth, gday;
- new LastCar[MAX_PLAYERS];
- new bool:ac[MAX_PLAYERS];
- new bool:pChangeInterior[MAX_PLAYERS];
- new godmodecount[MAX_PLAYERS];
- new Attacker[MAX_PLAYERS];
- new bool:pEnteringCar[MAX_PLAYERS];
- public OnGameModeInit()
- {
- if(!dfile_FileExists(FOLDER_USERS) || !dfile_FileExists(FOLDER_ZONES) || !dfile_FileExists(FOLDER_DOORS) || !dfile_FileExists(FOLDER_ITEMS)
- || !dfile_FileExists(FOLDER_MESSAGES) || !dfile_FileExists(FOLDER_CONTACTS) || !dfile_FileExists(FOLDER_GROUPS) || !dfile_FileExists(FOLDER_OBJECTS) || !dfile_FileExists(FOLDER_TEXTURES)
- || !dfile_FileExists(FOLDER_VEHICLES) || !dfile_FileExists(FOLDER_ACTORS))
- {
- print("> Make sure all folders exist in scriptfiles: Users, Zones, Doors, Messages, Contacts, Groups, Objects, Textures, Vehicles, Actors. If not - create them and restart server.");
- return 0;
- }
- if(!dfile_FileExists(UID_FILE))
- {
- print("> Creating missing UID.ini file..");
- dfile_Create(UID_FILE);
- dfile_Open(UID_FILE);
- dfile_WriteInt("UID", 1);
- dfile_WriteInt("dUID", 1);
- dfile_WriteInt("iUID", 1);
- dfile_WriteInt("MsgUID", 1);
- dfile_WriteInt("ContactUID", 1);
- dfile_WriteInt("gUID", 1);
- dfile_WriteInt("oUID", 1);
- dfile_WriteInt("rUID", 1);
- dfile_WriteInt("vUID", 1);
- dfile_WriteInt("aUID", 1);
- dfile_SaveFile();
- dfile_CloseFile();
- print("> Succefully created missing UID.ini file in scriptfiles folder!");
- }
- SendRconCommand("hostname [przygotowania] Epizd Fort Carson");
- SendRconCommand("gamemodetext Projekt RP");
- SendRconCommand("mapname Fort Carson");
- gettime(ghour, gmin, gsec);
- SetWorldTime(ghour);
- LoadUIDs();
- LoadAccounts();
- LoadGroups();
- LoadDoors();
- LoadItems();
- LoadMessages();
- LoadContacts();
- LoadObjects();
- LoadTextures();
- LoadVehicles();
- LoadActors();
- print("Loaded everything");
- SetGameModeText("Szkodnik-RP");
- EnableStuntBonusForAll(0);
- DisableInteriorEnterExits();
- ManualVehicleEngineAndLights();
- ShowNameTags(0);
- CreateTextDraws();
- SetTimer("min_timer", 1000*60, true);
- SetTimer("sec_timer", 1000, true);
- SetTimer("auto_save", 5000*60, true);
- CreateZones();
- return 1;
- }
- stock ActorPath(actoruid)
- {
- new path[128];
- format(path, sizeof(path), FOLDER_ACTORS"%d.ini", actoruid);
- return path;
- }
- forward auto_save();
- public auto_save()
- {
- SaveUIDs();
- SaveAccounts();
- SaveZones();
- SaveDoors();
- SaveItems();
- SaveMessages();
- SaveContacts();
- SaveGroups();
- SaveObjects();
- SaveTextures();
- SaveVehicles();
- SaveActors();
- }
- stock GetVehicleSpeed(vehicleid)
- {
- new speed;
- new Float:X, Float:Y, Float:Z;
- GetVehicleVelocity(vehicleid, X, Y, Z);
- X = X*X*100;
- Y = Y*Y*100;
- Z = Z*Z*100;
- speed = floatround(X+Y+Z);
- return speed;
- }
- stock GetPlayerSpeed(playerid)
- {
- new speed;
- new Float:X, Float:Y, Float:Z;
- GetPlayerVelocity(playerid, X, Y, Z);
- X = X*X*100;
- Y = Y*Y*100;
- Z = Z*Z*100;
- speed = floatround(X+Y+Z);
- return speed;
- }
- stock GetPlayerGroundSpeed(playerid)
- {
- new speed;
- new Float:X, Float:Y, Float:Z;
- GetPlayerVelocity(playerid, X, Y, Z);
- X = X*X*100;
- Y = Y*Y*100;
- speed = floatround(X+Y);
- return speed;
- }
- stock GetPlayerHighSpeed(playerid)
- {
- new speed;
- new Float:X, Float:Y, Float:Z;
- GetPlayerVelocity(playerid, X, Y, Z);
- Z = Z*Z*100;
- speed = floatround(Z);
- return speed;
- }
- stock GetPlayerVehicleInRange(playerid)
- {
- new Float:vX, Float:vY, Float:vZ;
- for(new i=1; i<=GetVehiclePoolSize(); i++)
- {
- GetVehiclePos(i, vX, vY, vZ);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, vX, vY, vZ) && VehicleCache[GetVehicleUID(i)][vOwner] == pUID[playerid])
- return 1;
- }
- return 0;
- }
- forward sec_timer();
- public sec_timer()
- {
- new vid, vuid, vinfo[128];
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(IsPlayerInAnyVehicle(i))
- {
- if(GetPlayerVehicleSeat(i) == 0)
- {
- vid = GetPlayerVehicleID(i), vuid = GetVehicleUID(vid);
- if(VehicleCache[vuid][vEngine])
- {
- if(GetVehicleModel(i) == 481 || GetVehicleModel(i) == 509 || GetVehicleModel(i) == 510)
- continue;
- new vspeed = GetVehicleSpeed(vid);
- format(vinfo, sizeof(vinfo), "~b~~h~~h~~h~Licznik: ~w~%d km/h~n~~b~~h~~h~~h~Paliwo: ~w~%d/100", vspeed, VehicleCache[vuid][vFuel]);
- PlayerTextDrawSetString(i, VehicleInfo[i], vinfo);
- PlayerTextDrawShow(i, VehicleInfo[i]);
- }
- }
- }
- else
- {
- if(GetPlayerGroundSpeed(i) > 7)
- {
- if(LastCar[i])
- continue;
- AJPlayer(i, "System", "Player speedhack (A)", 30);
- }
- }
- if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)
- {
- KickPlayer(i, "System", "Jetpack spawn");
- }
- if(GetPlayerWeapon(i) != 0)
- {
- for(new j=1;j<LastiUID;j++)
- {
- if(ItemCache[j][iActive])
- {
- if(ItemCache[j][iOwner] == pUID[i])
- {
- if(ItemCache[j][iType] == 1)
- {
- if(GetPlayerWeapon(i) == ItemCache[j][iVal] || GetPlayerWeapon(i) != 0)
- {
- return 1;
- }
- }
- }
- }
- }
- new str[64]; format(str, sizeof(str), "Weapon Cheat (B) weaponid: %d", GetPlayerWeapon(i));
- KickPlayer(i, "System", str);
- }
- }
- }
- }
- return 1;
- }
- stock ObjPath(id)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_OBJECTS"%d.ini", id);
- return path;
- }
- stock TexturePath(textureid)
- {
- new path[64]; format(path, sizeof(path), FOLDER_TEXTURES"%d.ini", textureid);
- return path;
- }
- stock LoadTextures()
- {
- new texturename[128], txdname[128];
- for(new i=1; i<LasttUID; i++)
- {
- if(dfile_FileExists(TexturePath(i)))
- {
- dfile_Open(TexturePath(i));
- format(texturename, sizeof(texturename), dfile_ReadString("Texturename"));
- format(txdname, sizeof(txdname), dfile_ReadString("Txdname"));
- TextureCache[i][tTexturename] = texturename;
- TextureCache[i][tTxdname] = txdname;
- TextureCache[i][tObjectUID] = dfile_ReadInt("ObjectUID");
- TextureCache[i][tModelid] = dfile_ReadInt("Modelid");
- TextureCache[i][tColor] = dfile_ReadInt("Color");
- TextureCache[i][tIndex] = dfile_ReadInt("Index");
- TextureCache[i][tType] = dfile_ReadInt("Type");
- TextureCache[i][tFontsize] = dfile_ReadInt("Fontsize");
- TextureCache[i][tBold] = dfile_ReadInt("Bold");
- TextureCache[i][tBackcolor] = dfile_ReadInt("Backcolor");
- TextureCache[i][tAlignment] = dfile_ReadInt("Alignment");
- TextureCache[i][tMaterialsize] = dfile_ReadInt("Materialsize");
- dfile_CloseFile();
- if(ObjectCache[TextureCache[i][tObjectUID]][oState] == 0)
- {
- if(TextureCache[i][tType] == 0)
- {
- SetDynamicObjectMaterial(ObjectCache[TextureCache[i][tObjectUID]][oID],TextureCache[i][tIndex], TextureCache[i][tModelid], txdname, texturename,TextureCache[i][tColor]);
- }
- else
- {
- SetDynamicObjectMaterialText(ObjectCache[TextureCache[i][tObjectUID]][oID], TextureCache[i][tIndex], TextureCache[i][tTexturename], TextureCache[i][tMaterialsize], TextureCache[i][tTxdname], TextureCache[i][tFontsize], TextureCache[i][tBold], TextureCache[i][tColor], TextureCache[i][tBackcolor], TextureCache[i][tAlignment]);
- }
- }
- }
- }
- }
- stock SaveTextures()
- {
- for(new i=1; i<LasttUID; i++)
- {
- if(TextureCache[i][tObjectUID] == 0 && ObjectCache[TextureCache[i][tObjectUID]][oState] == 0)
- {
- continue;
- }
- if(!dfile_FileExists(TexturePath(i)))
- dfile_Create(TexturePath(i));
- dfile_Open(TexturePath(i));
- dfile_WriteInt("Color", TextureCache[i][tColor]);
- dfile_WriteInt("Modelid", TextureCache[i][tModelid]);
- dfile_WriteInt("ObjectUID", TextureCache[i][tObjectUID]);
- dfile_WriteString("Txdname", TextureCache[i][tTxdname]);
- dfile_WriteString("Texturename", TextureCache[i][tTexturename]);
- dfile_WriteInt("Index", TextureCache[i][tIndex]);
- dfile_WriteInt("Materialsize", TextureCache[i][tMaterialsize]);
- dfile_WriteInt("Fontsize", TextureCache[i][tFontsize]);
- dfile_WriteInt("Type", TextureCache[i][tType]);
- dfile_WriteInt("Backcolor", TextureCache[i][tBackcolor]);
- dfile_WriteInt("Alignment", TextureCache[i][tAlignment]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- return 1;
- }
- stock SaveObjects()
- {
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oUID] == 0)
- return printf("ERROR: Invalid saving object UID. Saving canceled.");
- if(!dfile_FileExists(ObjPath(i)))
- dfile_Create(ObjPath(i));
- dfile_Open(ObjPath(i));
- dfile_WriteInt("UID", ObjectCache[i][oUID]);
- dfile_WriteInt("State", ObjectCache[i][oState]);
- dfile_WriteFloat("X", ObjectCache[i][oX]);
- dfile_WriteFloat("Y", ObjectCache[i][oY]);
- dfile_WriteFloat("Z", ObjectCache[i][oZ]);
- dfile_WriteFloat("rX", ObjectCache[i][orX]);
- dfile_WriteFloat("rY", ObjectCache[i][orY]);
- dfile_WriteFloat("rZ", ObjectCache[i][orZ]);
- dfile_WriteInt("Model", ObjectCache[i][oModel]);
- dfile_WriteInt("VW", ObjectCache[i][oVW]);
- dfile_WriteInt("Gate", ObjectCache[i][oGate]);
- dfile_WriteFloat("GateX", ObjectCache[i][oGateX]);
- dfile_WriteFloat("GateY", ObjectCache[i][oGateY]);
- dfile_WriteFloat("GateZ", ObjectCache[i][oGateZ]);
- dfile_WriteFloat("GaterX", ObjectCache[i][oGaterX]);
- dfile_WriteFloat("GaterY", ObjectCache[i][oGaterY]);
- dfile_WriteFloat("GaterZ", ObjectCache[i][oGaterZ]);
- dfile_WriteInt("Owner", ObjectCache[i][oOwner]);
- dfile_WriteInt("OwnerType", ObjectCache[i][oOwnerType]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- return 1;
- }
- stock LoadObjects()
- {
- for(new i=1; i<LastoUID; i++)
- {
- if(!dfile_FileExists(ObjPath(i)))
- continue;
- dfile_Open(ObjPath(i));
- ObjectCache[i][oPlayer] = -1;
- ObjectCache[i][oUID] = dfile_ReadInt("UID");
- ObjectCache[i][oModel] = dfile_ReadInt("Model");
- ObjectCache[i][oX] = dfile_ReadFloat("X");
- ObjectCache[i][oY] = dfile_ReadFloat("Y");
- ObjectCache[i][oZ] = dfile_ReadFloat("Z");
- ObjectCache[i][orX] = dfile_ReadFloat("rX");
- ObjectCache[i][orY] = dfile_ReadFloat("rY");
- ObjectCache[i][orZ] = dfile_ReadFloat("rZ");
- ObjectCache[i][oVW] = dfile_ReadInt("VW");
- ObjectCache[i][oState] = dfile_ReadInt("State");
- ObjectCache[i][oGate] = dfile_ReadInt("Gate");
- ObjectCache[i][oGateX] = dfile_ReadFloat("GateX");
- ObjectCache[i][oGateY] = dfile_ReadFloat("GateY");
- ObjectCache[i][oGateZ] = dfile_ReadFloat("GateZ");
- ObjectCache[i][oGaterX] = dfile_ReadFloat("GaterX");
- ObjectCache[i][oGaterY] = dfile_ReadFloat("GaterY");
- ObjectCache[i][oGaterZ] = dfile_ReadFloat("GaterZ");
- ObjectCache[i][oOwner] = dfile_ReadInt("Owner");
- ObjectCache[i][oOwnerType] = dfile_ReadInt("OwnerType");
- dfile_CloseFile();
- if(ObjectCache[i][oState]==0)
- {
- ObjectCache[i][oID] = CreateDynamicObject(ObjectCache[i][oModel], ObjectCache[i][oX], ObjectCache[i][oY], ObjectCache[i][oZ], ObjectCache[i][orX],
- ObjectCache[i][orY], ObjectCache[i][orZ], ObjectCache[i][oVW], 0, -1);
- }
- }
- }
- stock LoadDoors()
- {
- new str[32], count, url[256];
- for(new i=1; i<LastdUID; i++)
- {
- if(!dfile_FileExists(DoorPath(i)))
- continue;
- dfile_Open(DoorPath(i));
- DoorCache[i][dUID] = dfile_ReadInt("UID");
- DoorCache[i][dOutVW] = dfile_ReadInt("OutVW");
- DoorCache[i][dInsVW] = dfile_ReadInt("InsVW");
- DoorCache[i][dOutX] = dfile_ReadFloat("OutX");
- DoorCache[i][dOutY] = dfile_ReadFloat("OutY");
- DoorCache[i][dOutZ] = dfile_ReadFloat("OutZ");
- DoorCache[i][dInsX] = dfile_ReadFloat("InsX");
- DoorCache[i][dInsY] = dfile_ReadFloat("InsY");
- DoorCache[i][dInsZ] = dfile_ReadFloat("InsZ");
- format(str, sizeof(str), dfile_ReadString("Name"));
- DoorCache[i][dName] = str;
- DoorCache[i][dPlayerUID] = dfile_ReadInt("PlayerUID");
- DoorCache[i][dGroupUID] = dfile_ReadInt("GroupUID");
- DoorCache[i][dDestroyed] = dfile_ReadInt("Destroyed");
- DoorCache[i][dOpen] = dfile_ReadInt("Open");
- DoorCache[i][dType] = dfile_ReadInt("Type");
- format(url, sizeof(url), dfile_ReadString("Url"));
- DoorCache[i][dEnterCost] = dfile_ReadInt("EnterCost");
- DoorCache[i][dVehicle] = dfile_ReadInt("Vehicle");
- DoorCache[i][dUrl] = url;
- dfile_CloseFile();
- if(!DoorCache[i][dDestroyed])
- {
- count++;
- if(DoorCache[i][dGroupUID] != 0)
- {
- DoorPickupID[DoorCache[i][dUID]] = CreateDynamicPickup(GetPickupModelFromGroupType(GroupCache[DoorCache[i][dGroupUID]][gType]), 2, DoorCache[i][dOutX],DoorCache[i][dOutY], DoorCache[i][dOutZ], DoorCache[i][dOutVW], 0, -1);
- }
- else
- {
- DoorPickupID[DoorCache[i][dUID]] = CreateDynamicPickup(1273, 2, DoorCache[i][dOutX],DoorCache[i][dOutY], DoorCache[i][dOutZ], DoorCache[i][dOutVW], 0, -1);
- }
- }
- }
- printf("[SYSTEM] Loaded %d doors.", count);
- }
- stock ZonePath(zoneid)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_ZONES"%d.ini", zoneid);
- return path;
- }
- stock CreateZoneFile(zoneid)
- {
- dfile_Create(ZonePath(zoneid));
- dfile_Open(ZonePath(zoneid));
- dfile_WriteInt("ID", zoneid);
- dfile_WriteFloat("MinX", ZoneData[zoneid][zMinX]);
- dfile_WriteFloat("MinY", ZoneData[zoneid][zMinY]);
- dfile_WriteFloat("MaxX", ZoneData[zoneid][zMaxX]);
- dfile_WriteFloat("MaxY", ZoneData[zoneid][zMaxY]);
- dfile_WriteInt("Yard", 0);
- dfile_WriteInt("CostH", 0);
- dfile_WriteInt("CostB", 0);
- dfile_WriteString("Name", "Niezdefiniowana nazwa strefy");
- dfile_SaveFile();
- dfile_CloseFile();
- }
- stock LoadZoneFile(zoneid)
- {
- new str[64];
- dfile_Open(ZonePath(zoneid));
- ZoneData[zoneid][zYard] = dfile_ReadInt("Yard");
- ZoneData[zoneid][zCostH] = dfile_ReadInt("CostH");
- ZoneData[zoneid][zCostB] = dfile_ReadInt("CostB");
- format(str, sizeof(str), dfile_ReadString("Name"));
- ZoneData[zoneid][zName] = str;
- dfile_CloseFile();
- }
- stock CreateZones()
- {
- new str[64] = "Niezdefiniowana nazwa strefy";
- ZoneData[0][zName] = str;
- ZoneData[0][zYard] = 0;
- ZoneData[0][zCostH] = 0;
- ZoneData[0][zCostB] = 0;
- ZoneData[0][zMinX] = 2944.0;
- ZoneData[0][zMinY] = -2958.0;
- ZoneData[0][zMaxX] = 2944.0+250;
- ZoneData[0][zMaxY] = -2958.0+250;
- ZoneData[0][zID] = CreateDynamicRectangle(ZoneData[0][zMinX], ZoneData[0][zMinY], ZoneData[0][zMaxX], ZoneData[0][zMaxY], -1, -1, -1);
- if(!dfile_FileExists(ZonePath(0)))
- CreateZoneFile(0);
- else
- LoadZoneFile(0);
- for(new i=1; i<=MAX_ZONES; i++)
- {
- if(i > 575)
- {
- GoRight(i); continue;
- }
- if(i == 575)
- {
- GoUp(i); continue;
- }
- if(i > 550)
- {
- GoLeft(i); continue;
- }
- if(i == 550)
- {
- GoUp(i); continue;
- }
- if(i > 525)
- {
- GoRight(i);continue;
- }
- if(i == 525)
- {
- GoUp(i); continue;
- }
- if(i>500)
- {
- GoLeft(i);
- continue;
- }
- if(i == 500)
- {
- GoUp(i); continue;
- }
- if(i > 475)
- {
- GoRight(i); continue;
- }
- if(i == 475)
- {
- GoUp(i); continue;
- }
- if(i > 450)
- {
- GoLeft(i); continue;
- }
- if(i == 450)
- {
- GoUp(i); continue;
- }
- if(i > 425)
- {
- GoRight(i);continue;
- }
- if(i == 425)
- {
- GoUp(i); continue;
- }
- if(i>400)
- {
- GoLeft(i);
- continue;
- }
- if(i == 400)
- {
- GoUp(i); continue;
- }
- if(i > 375)
- {
- GoRight(i); continue;
- }
- if(i == 375)
- {
- GoUp(i); continue;
- }
- if(i > 350)
- {
- GoLeft(i); continue;
- }
- if(i == 350)
- {
- GoUp(i); continue;
- }
- if(i > 325)
- {
- GoRight(i); continue;
- }
- if(i == 325)
- {
- GoUp(i); continue;
- }
- if(i> 300)
- {
- GoLeft(i); continue;
- }
- if(i == 300)
- {
- GoUp(i); continue;
- }
- if(i > 275)
- {
- GoRight(i); continue;
- }
- if(i == 275)
- {
- GoUp(i);
- continue;
- }
- if(i > 250)
- {
- GoLeft(i);
- continue;
- }
- if(i == 250)
- {
- GoUp(i);
- continue;
- }
- if(i > 225)
- {
- GoRight(i);
- continue;
- }
- if(i == 225)
- {
- GoUp(i);
- continue;
- }
- if(i > 200)
- {
- GoLeft(i); continue;
- }
- if(i == 200)
- {
- GoUp(i); continue;
- }
- if(i > 175)
- {
- GoRight(i); continue;
- }
- if(i == 175)
- {
- GoUp(i); continue;
- }
- if(i > 150)
- {
- GoLeft(i); continue;
- }
- if(i == 150)
- {
- GoUp(i); continue;
- }
- if(i > 125)
- {
- GoRight(i); continue;
- }
- if(i == 125)
- {
- GoUp(i); continue;
- }
- if(i > 100)
- {
- GoLeft(i); continue;
- }
- if(i == 100)
- {
- GoUp(i);
- continue;
- }
- if(i > 75)
- {
- GoRight(i); continue;
- }
- if(i == 75)
- {
- GoUp(i);
- continue;
- }
- if(i > 50)
- {
- GoLeft(i);
- continue;
- }
- if(i == 50)
- {
- GoUp(i);
- continue;
- }
- if(i > 25)
- {
- GoRight(i);
- continue;
- }
- if(i == 25)
- {
- GoUp(i); continue;
- }
- GoLeft(i);
- }
- }
- stock GoUp(i)
- {
- ZoneData[i][zMinX] = ZoneData[i-1][zMinX];
- ZoneData[i][zMinY] = ZoneData[i-1][zMinY]+250;
- ZoneData[i][zMaxX] = ZoneData[i-1][zMaxX];
- ZoneData[i][zMaxY] = ZoneData[i-1][zMaxY]+250;
- ZoneData[i][zID] = CreateDynamicRectangle(ZoneData[i][zMinX], ZoneData[i][zMinY], ZoneData[i][zMaxX], ZoneData[i][zMaxY], -1, -1, -1);
- if(!dfile_FileExists(ZonePath(i)))
- CreateZoneFile(i);
- else
- LoadZoneFile(i);
- }
- stock GoRight(i)
- {
- ZoneData[i][zMinX] = ZoneData[i-1][zMinX]+250;
- ZoneData[i][zMinY] = ZoneData[i-1][zMinY];
- ZoneData[i][zMaxX] = ZoneData[i-1][zMaxX]+250;
- ZoneData[i][zMaxY] = ZoneData[i-1][zMaxY];
- ZoneData[i][zID] = CreateDynamicRectangle(ZoneData[i][zMinX], ZoneData[i][zMinY], ZoneData[i][zMaxX], ZoneData[i][zMaxY], -1, -1, -1);
- if(!dfile_FileExists(ZonePath(i)))
- CreateZoneFile(i);
- else
- LoadZoneFile(i);
- }
- stock GoLeft(i)
- {
- ZoneData[i][zMinX] = ZoneData[i-1][zMinX]-250;
- ZoneData[i][zMinY] = ZoneData[i-1][zMinY];
- ZoneData[i][zMaxX] = ZoneData[i-1][zMaxX]-250;
- ZoneData[i][zMaxY] = ZoneData[i-1][zMaxY];
- ZoneData[i][zID] = CreateDynamicRectangle(ZoneData[i][zMinX], ZoneData[i][zMinY], ZoneData[i][zMaxX], ZoneData[i][zMaxY], -1, -1, -1);
- if(!dfile_FileExists(ZonePath(i)))
- CreateZoneFile(i);
- else
- LoadZoneFile(i);
- }
- stock CreateTextDraws()
- {
- getdate(gyear, gmonth, gday);
- new str[64];
- format(str, sizeof(str), "Projekt-RP: %02d.%02d.%02d", gyear-2000, gmonth, gday);
- GlobalLogo = TextDrawCreate(73.075904, 424.104705, str);
- TextDrawLetterSize(GlobalLogo,0.261680, 1.216563);
- TextDrawAlignment(GlobalLogo, 2);
- TextDrawColor(GlobalLogo, -1);
- TextDrawSetShadow(GlobalLogo, 0);
- TextDrawSetOutline(GlobalLogo, 1);
- TextDrawBackgroundColor(GlobalLogo, 25);
- TextDrawFont(GlobalLogo, 1);
- TextDrawSetProportional(GlobalLogo, 1);
- TextDrawSetShadow(GlobalLogo, 0);
- RadioTextDraw = TextDrawCreate(1.697080, 437.926574, "~b~~h~~h~~h~San News~w~ Radio aktualnie nic nie nadaje..");
- TextDrawLetterSize(RadioTextDraw, 0.175534, 0.999134);
- TextDrawTextSize(RadioTextDraw,1052.000000, 0.000000);
- TextDrawAlignment(RadioTextDraw, 1);
- TextDrawColor(RadioTextDraw, -1);
- TextDrawUseBox(RadioTextDraw, 1);
- TextDrawBoxColor(RadioTextDraw, 5);
- TextDrawSetShadow(RadioTextDraw, 0);
- TextDrawSetOutline(RadioTextDraw, 1);
- TextDrawBackgroundColor(RadioTextDraw, 89);
- TextDrawFont(RadioTextDraw, 1);
- TextDrawSetProportional(RadioTextDraw, 1);
- TextDrawSetShadow(RadioTextDraw, 0);
- PenalityTextDraw = TextDrawCreate(7.481735, 272.249847, "~r~Kara~w~~n~Gracz: Hype~n~Nadawca: Hype~n~~y~Masowy DM w centrum");
- TextDrawLetterSize(PenalityTextDraw, 0.200876, 1.004995);
- TextDrawAlignment(PenalityTextDraw, 1);
- TextDrawColor(PenalityTextDraw, -1);
- TextDrawSetShadow(PenalityTextDraw, 0);
- TextDrawSetOutline(PenalityTextDraw, 1);
- TextDrawBackgroundColor(PenalityTextDraw, 83);
- TextDrawFont(PenalityTextDraw, 1);
- TextDrawSetProportional(PenalityTextDraw, 1);
- TextDrawSetShadow(PenalityTextDraw, 0);
- }
- public OnGameModeExit()
- {
- SaveUIDs();
- SaveAccounts();
- SaveZones();
- SaveDoors();
- SaveItems();
- SaveMessages();
- SaveContacts();
- SaveGroups();
- SaveObjects();
- SaveTextures();
- SaveVehicles();
- SaveActors();
- return 1;
- }
- stock ContactPath(contactid)
- {
- new path[64]; format(path, sizeof(path), FOLDER_CONTACTS"%d.ini", contactid);
- return path;
- }
- stock LoadContacts()
- {
- new str[128];
- for(new i=1; i<LastContactUID; i++)
- {
- if(!dfile_FileExists(ContactPath(i)))
- continue;
- dfile_Open(ContactPath(i));
- format(str, sizeof(str), dfile_ReadString("Name"));
- ContactCache[i][cName] = str;
- ContactCache[i][cOwner] = dfile_ReadInt("Owner");
- ContactCache[i][cNum] = dfile_ReadInt("Num");
- ContactCache[i][cState] = dfile_ReadInt("State");
- dfile_CloseFile();
- }
- }
- stock SaveContacts()
- {
- for(new i=1; i<LastContactUID; i++)
- {
- if(!dfile_FileExists(ContactPath(i)))
- dfile_Create(ContactPath(i));
- dfile_Open(ContactPath(i));
- dfile_WriteInt("Owner", ContactCache[i][cOwner]);
- dfile_WriteString("Name", ContactCache[i][cName]);
- dfile_WriteInt("Num", ContactCache[i][cNum]);
- dfile_WriteInt("State", ContactCache[i][cState]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock LoadActors()
- {
- new name[64], lib[32], anim[32];
- for(new i=1; i<LastaUID; i++)
- {
- if(dfile_FileExists(ActorPath(i)))
- {
- dfile_Open(ActorPath(i));
- ActorCache[i][aUID] = dfile_ReadInt("UID");
- ActorCache[i][aType] = dfile_ReadInt("Type");
- format(name, sizeof(name), dfile_ReadString("Name"));
- ActorCache[i][aName] = name;
- format(lib, sizeof(lib), dfile_ReadString("Lib"));
- ActorCache[i][aAnimLib] = lib;
- format(anim, sizeof(anim), dfile_ReadString("Anim"));
- ActorCache[i][aAnimName] = anim;
- ActorCache[i][aPosX] = dfile_ReadFloat("PosX");
- ActorCache[i][aPosY] = dfile_ReadFloat("PosY");
- ActorCache[i][aPosZ] = dfile_ReadFloat("PosZ");
- ActorCache[i][aAng] = dfile_ReadFloat("Ang");
- ActorCache[i][aVW] = dfile_ReadInt("VW");
- ActorCache[i][aSkin] = dfile_ReadInt("Skin");
- ActorCache[i][aRepeat] = dfile_ReadInt("Repeat");
- dfile_CloseFile();
- if(ActorCache[i][aType])
- {
- ActorCache[i][aID] = CreateDynamicActor(ActorCache[i][aSkin],ActorCache[i][aPosX], ActorCache[i][aPosY], ActorCache[i][aPosZ], ActorCache[i][aAng],
- 1, 100.0, ActorCache[i][aVW], 0, -1);
- new str[64];
- format(str, sizeof(str), "%s\n(aktor)", strreplace(name, '_', ' '));
- ActorCache[i][aLabel] = CreateDynamic3DTextLabel(str, PLAYER_NORMAL_COLOR, ActorCache[i][aPosX],ActorCache[i][aPosY] ,ActorCache[i][aPosZ]+1.1, 8.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, ActorCache[i][aVW], 0,-1);
- if(!Isnull(lib))
- {
- if(ActorCache[i][aRepeat])
- ApplyDynamicActorAnimation(ActorCache[i][aID], lib, anim, 4.1, 1, 0, 0, 0, 0);
- else
- ApplyDynamicActorAnimation(ActorCache[i][aID], lib, anim, 4.1, 0, 0, 0, 1, 0);
- }
- }
- }
- }
- }
- stock SaveActors()
- {
- for(new i=1; i<LastaUID; i++)
- {
- if(!dfile_FileExists(ActorPath(i)))
- dfile_Create(ActorPath(i));
- dfile_Open(ActorPath(i));
- dfile_WriteInt("UID", ActorCache[i][aUID]);
- dfile_WriteInt("Type", ActorCache[i][aType]);
- dfile_WriteInt("VW", ActorCache[i][aVW]);
- dfile_WriteInt("Skin", ActorCache[i][aSkin]);
- dfile_WriteFloat("PosX", ActorCache[i][aPosX]);
- dfile_WriteFloat("PosY", ActorCache[i][aPosY]);
- dfile_WriteFloat("PosZ", ActorCache[i][aPosZ]);
- dfile_WriteFloat("Ang", ActorCache[i][aAng]);
- dfile_WriteString("Name", ActorCache[i][aName]);
- dfile_WriteString("Anim", ActorCache[i][aAnimName]);
- dfile_WriteString("Lib", ActorCache[i][aAnimLib]);
- dfile_WriteInt("Repeat", ActorCache[i][aRepeat]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- return 1;
- }
- stock ShowDialogKickGroup(playerid)
- {
- new guid = GetPVarInt(playerid, "iUID");
- new str[256], info[128];
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uGroup] == guid || UserCache[i][uGroup2] == guid || UserCache[i][uGroup3] == guid)
- {
- format(info, sizeof(info), ""HEX_WHITE"%d %s\n", UserCache[i][uUID], UserCache[i][uName]);
- strins(str, info, strlen(str));
- }
- }
- return ShowPlayerDialog(playerid, D_GROUP_KICK, DIALOG_STYLE_LIST, "Wyrzuć członka grupy", str, "Wyrzuć", "Anuluj");
- }
- stock MsgPath(msguid)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_MESSAGES"%d.ini", msguid);
- return path;
- }
- stock LoadMessages()
- {
- new str[128];
- for(new i=1; i<LastMsgUID; i++)
- {
- if(!dfile_FileExists(MsgPath(i)))
- continue;
- dfile_Open(MsgPath(i));
- MsgCache[i][mReceiver] = dfile_ReadInt("Receiver");
- MsgCache[i][mSender] = dfile_ReadInt("Sender");
- format(str, sizeof(str), dfile_ReadString("Text"));
- MsgCache[i][mText] = str;
- dfile_CloseFile();
- }
- }
- stock SaveMessages()
- {
- for(new i=1; i<LastMsgUID; i++)
- {
- if(!dfile_FileExists(MsgPath(i)))
- dfile_Create(MsgPath(i));
- dfile_Open(MsgPath(i));
- dfile_WriteInt("Receiver", MsgCache[i][mReceiver]);
- dfile_WriteInt("Sender", MsgCache[i][mSender]);
- dfile_WriteString("Text", MsgCache[i][mText]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock DoorPath(doorid)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_DOORS"%d.ini", doorid);
- return path;
- }
- stock SaveDoors()
- {
- for(new i=1; i<LastdUID; i++)
- {
- if(!dfile_FileExists(DoorPath(i)))
- dfile_Create(DoorPath(i));
- dfile_Open(DoorPath(i));
- dfile_WriteInt("UID", DoorCache[i][dUID]);
- dfile_WriteInt("PlayerUID", DoorCache[i][dPlayerUID]);
- dfile_WriteInt("GroupUID", DoorCache[i][dGroupUID]);
- dfile_WriteFloat("InsX", DoorCache[i][dInsX]);
- dfile_WriteFloat("InsY", DoorCache[i][dInsY]);
- dfile_WriteFloat("InsZ", DoorCache[i][dInsZ]);
- dfile_WriteFloat("OutX", DoorCache[i][dOutX]);
- dfile_WriteFloat("OutY", DoorCache[i][dOutY]);
- dfile_WriteFloat("OutZ", DoorCache[i][dOutZ]);
- dfile_WriteInt("InsVW", DoorCache[i][dInsVW]);
- dfile_WriteInt("OutVW", DoorCache[i][dOutVW]);
- dfile_WriteString("Name", DoorCache[i][dName]);
- dfile_WriteInt("Destroyed", DoorCache[i][dDestroyed]);
- dfile_WriteInt("Open", DoorCache[i][dOpen]);
- dfile_WriteInt("Type", DoorCache[i][dType]);
- dfile_WriteString("Url", DoorCache[i][dUrl]);
- dfile_WriteInt("EnterCost", DoorCache[i][dEnterCost]);
- dfile_WriteInt("Vehicle", DoorCache[i][dVehicle]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock SaveZones()
- {
- for(new i; i<MAX_ZONES; i++)
- {
- dfile_Open(ZonePath(i));
- dfile_WriteFloat("MinX", ZoneData[i][zMinX]);
- dfile_WriteFloat("MinY", ZoneData[i][zMinY]);
- dfile_WriteFloat("MaxY", ZoneData[i][zMaxX]);
- dfile_WriteFloat("MaxZ", ZoneData[i][zMaxY]);
- dfile_WriteInt("Yard", ZoneData[i][zYard]);
- dfile_WriteInt("CostH", ZoneData[i][zCostH]);
- dfile_WriteInt("CostB", ZoneData[i][zCostB]);
- dfile_WriteString("Name", ZoneData[i][zName]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- forward RandomAgain(playerid);
- public RandomAgain(playerid)
- {
- RandomCamera(playerid);
- }
- stock RandomCamera(playerid)
- {
- if(pUID[playerid])
- return 1;
- new num = random(6);
- while(num == pLast[playerid])
- num = random(7);
- pLast[playerid] = num;
- switch(num)
- {
- case 0:
- {
- InterpolateCameraPos(playerid, 1346.177734, -1144.530883, 26.984342, 1216.184326, -1144.878906, 25.081375, 10000);
- InterpolateCameraLookAt(playerid, 1341.189208, -1144.524536, 26.645969, 1211.190917, -1144.872558, 24.824888, 1000);
- }
- case 1:
- {
- InterpolateCameraPos(playerid, 605.103576, -1879.486694, 9.096667, 481.130676, -1868.522583, 8.461681, 10000);
- InterpolateCameraLookAt(playerid, 600.287658, -1880.774169, 8.710333, 476.416473, -1870.149658, 8.102615, 1000);
- }
- case 2:
- {
- InterpolateCameraPos(playerid, 1009.995361, -697.430725, 164.013320, 1077.205444, -825.822265, 129.347351, 10000);
- InterpolateCameraLookAt(playerid, 1012.742919, -701.554931, 163.348541, 1079.897583, -829.911499, 128.332229, 1000);
- }
- case 3:
- {
- InterpolateCameraPos(playerid, 1528.313354, -932.075988, 119.118019, 1414.034057, -773.713684, 112.730422, 10000);
- InterpolateCameraLookAt(playerid, 1525.075561, -928.271118, 118.919174, 1410.611694, -770.071350, 112.586227, 1000);
- }
- case 4:
- {
- InterpolateCameraPos(playerid, 1498.185546, -1347.921020, 346.940399, 1629.692382, -1299.682983, 254.350875, 10000);
- InterpolateCameraLookAt(playerid, 1502.130371, -1345.656005, 344.864868, 1632.065429, -1296.667846, 251.144989, 1000);
- }
- case 5:
- {
- InterpolateCameraPos(playerid, 2343.572509, -1563.174560, 25.125074, 2341.632568, -1493.650024, 30.020772, 10000);
- InterpolateCameraLookAt(playerid, 2339.617675, -1560.115844, 25.066486, 2338.710449, -1497.593383, 29.065744, 100);
- }
- case 6:
- {
- InterpolateCameraPos(playerid, 1855.076293, -1343.783813, 21.310773, 1947.959716, -1435.867553, 20.173160, 10000);
- InterpolateCameraLookAt(playerid, 1858.568603, -1347.356445, 21.108913, 1951.307739, -1439.565673, 19.834785, 1000);
- }
- }
- return SetTimerEx("RandomAgain", 12000, false, "i", playerid);
- }
- stock UseItemOption(playerid, option, uid)
- {
- if(ItemCache[uid][iActive])
- return GameTextForPlayer(playerid, "~b~~h~~h~~h~schowaj przedmiot", 3000, 4);
- switch(option)
- {
- case 1:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- ItemCache[uid][iState] = 2;
- ItemCache[uid][iOwner] = GetVehicleUID(GetPlayerVehicleID(playerid));
- return SendPlayerMe(playerid, "odkłada jakiś przedmiot w pojeździe.");
- }
- GetPlayerPos(playerid, ItemCache[uid][iX], ItemCache[uid][iY], ItemCache[uid][iZ]);
- ItemCache[uid][iVW] = GetPlayerVirtualWorld(playerid);
- ItemCache[uid][iState] = 1;
- new msg[128]; format(msg, sizeof(msg), "odkłada jakiś przedmiot.");
- SendPlayerMe(playerid, msg);
- ApplyAnimation(playerid, "bomber", "bom_plant", 4.1, 0, 0, 0, 0, 0, 0);
- }
- case 2:
- {
- TradeData[playerid][tType] = 1;
- return ShowDialogNearPlayers(playerid);
- }
- case 3:
- {
- if(ItemCache[uid][iType] == 12)
- {
- ItemCache[uid][iAttachX] = 0;
- ItemCache[uid][iAttachY] = 0;
- ItemCache[uid][iAttachZ] = 0;
- ItemCache[uid][iSizeX] = 1;
- ItemCache[uid][iSizeY] = 1;
- ItemCache[uid][iSizeZ] = 1;
- ItemCache[uid][iAttachrX] = 0;
- ItemCache[uid][iAttachrY] = 0;
- ItemCache[uid][iAttachrZ] = 0;
- return ShowDialogInfo(playerid, "Akcesorium doczepiane zostało pomyślnie zresetowane!");
- }
- return ShowDialogInfo(playerid, "Ten przedmiot nie jest doczepianym akcesorium, więc nie możesz go zresetować.");
- }
- case 4:
- {
- if(ItemCache[uid][iType] == 13)
- return ShowDialogInfo(playerid, "Nie możesz schować tego przedmiotu.");
- new list[525], info[128];
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iType] == 13)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- format(info, sizeof(info), "%d\t%s\n", ItemCache[i][iUID], ItemCache[i][iName]);
- strins(list, info, strlen(list));
- }
- }
- }
- }
- if(Isnull(list))
- return ShowDialogInfo(playerid, "Nie posiadasz żadnego przedmiotu przechowawczego.");
- return ShowPlayerDialog(playerid, D_BAGS, DIALOG_STYLE_LIST, "Schowaj przedmiot", list, "Schowaj", "Anuluj");
- }
- }
- return 1;
- }
- stock ShowDialogNearPlayers(playerid)
- {
- new pvw = GetPlayerVirtualWorld(playerid);
- new Float:X, Float:Y, Float:Z;
- new list[256], pinfo[64];
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(i != playerid)
- {
- if(pvw == GetPlayerVirtualWorld(i))
- {
- GetPlayerPos(i, X, Y, Z);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- {
- format(pinfo, sizeof(pinfo), "%d\t%s\n", pUID[i], RPName(i));
- strins(list, pinfo, strlen(list));
- }
- }
- }
- }
- }
- if(strlen(list) == 0)
- return ShowDialogInfo(playerid, "Nie znaleziono graczy w pobliżu.");
- TradeData[playerid][tType] = 1;
- return ShowPlayerDialog(playerid, D_NEAR_PLAYERS, DIALOG_STYLE_LIST, "Pobliscy gracze", list, "Wybierz", "Anuluj");
- }
- stock RemoveMapBuildings(playerid)
- {
- RemoveBuildingForPlayer(playerid, 1412, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1676, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1438, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1283, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1284, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 1315, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 16778, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 3221, 0.0, 0.0, 0.0, 6000.0);
- RemoveBuildingForPlayer(playerid, 16000, 0.0, 0.0, 0.0, 6000.0);
- }
- public OnPlayerConnect(playerid)
- {
- Attacker[playerid] = -1;
- pUID[playerid] = 0;
- RemoveMapBuildings(playerid);
- EnablePlayerCameraTarget(playerid, 1);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(i != playerid)
- {
- if(!strcmp(PlayerIP(i), PlayerIP(playerid), true))
- {
- if(!pUID[i])
- Kick(i);
- else
- KickPlayer(i, "System", "IP Filtler");
- Kick(playerid);
- break;
- }
- }
- }
- }
- PlayAudioStreamForPlayer(playerid, "http://k003.kiwi6.com/hotlink/ict12m0ifu/Legendary_Official_Audio_-_Welshly_Arms.mp3");
- ClearChat(playerid);
- TogglePlayerSpectating(playerid, 1);
- SetPlayerVirtualWorld(playerid, -1);
- SetPlayerColor(playerid, COLOR_BLACK);
- TextDrawShowForPlayer(playerid, GlobalLogo);
- RandomCamera(playerid);
- if(UserExists(PlayerName(playerid)))
- {
- return ShowDialogLogin(playerid);
- }
- else
- {
- return ShowDialogNotFound(playerid);
- }
- }
- stock ShowDialogChangeDoorName(playerid)
- return ShowPlayerDialog(playerid, D_CHANGE_DOOR_NAME, DIALOG_STYLE_INPUT, "Zmień nazwę drzwi", ""HEX_WHITE"Wpisz poniżej nową nazwę drzwi:", "Zatwierdź", "Anuluj");
- stock ShowDialogChangeUrl(playerid)
- return ShowPlayerDialog(playerid, D_CHANGE_URL, DIALOG_STYLE_INPUT, "Zmień URL", ""HEX_WHITE"Wprowadź link do stacji internetowej:\n", "Gotowe", "Anuluj");
- stock ShowDialogDoorGroup(playerid)
- return ShowPlayerDialog(playerid, D_DOOR_GROUP, DIALOG_STYLE_INPUT, "Podpisz budynek", ""HEX_WHITE"Podaj slot grupowy:\n\n(slot grupy możesz sprawdzić poprzez komendę /g)", "Podpisz", "Anuluj");
- stock ShowDialogDoorCost(playerid)
- return ShowPlayerDialog(playerid, D_DOOR_COST, DIALOG_STYLE_INPUT, "Zmień opłatę za przejście przez drzwi", ""HEX_WHITE"Wpisz poniżej wartość:\nNp: 1", "Zmień", "Anuluj");
- stock ShowDialogChangeGroupName(playerid)
- return ShowPlayerDialog(playerid, D_CHANGE_GROUP_NAME, DIALOG_STYLE_INPUT, "Zmień nazwę grupy", ""HEX_WHITE"Wpisz poniżej nową nazwę grupy:\n", "Zatwierdź", "Anuluj");
- stock PermsToStr(perms)
- {
- new str[128];
- if(perms == 1)
- str = "+A";
- if(perms == 0)
- str = "-A";
- return str;
- }
- stock GetActorInRange(playerid)
- {
- new Float:x, Float:y, Float:z;
- for(new i=1; i<LastaUID; i++)
- {
- if(ActorCache[i][aType])
- {
- GetDynamicActorPos(ActorCache[i][aID], x, y, z);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
- {
- if(GetPlayerVirtualWorld(playerid) == ActorCache[i][aVW])
- {
- return ActorCache[i][aUID];
- }
- }
- }
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case D_MEDIC:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- if(UserCache[pUID[playerid]][uHealth] >= 10)
- return ShowDialogInfo(playerid, "Twój stan zdrowia jest dobry, nie potrzebujesz leku.");
- if(UserCache[pUID[playerid]][uCash] < 50)
- return TextDrawForPlayerEx(playerid, 1, "Nie posiadasz przy sobie tylu pieniedzy.", 3000);
- UserCache[pUID[playerid]][uCash] -= 50;
- GivePlayerMoney(playerid, -50);
- ShowDialogInfo(playerid, "Zakupiono lek.\nLek pojawił się w Twoim ekwipunku.");
- return CreateItem(playerid, 4, 10, 0, 1, "Lek");
- }
- }
- }
- }
- case D_BUY_REGISTER:
- {
- if(response)
- {
- if(UserCache[pUID[playerid]][uCash] >= 300)
- {
- UserCache[pUID[playerid]][uCash] -= 300;
- GivePlayerMoney(playerid, -300);
- CreateItem(playerid, 14, 0, 0, 0, "Rejestracja pojazdu");
- return ShowDialogInfo(playerid, "Zakupiono nowy przedmiot! Rejestracja pojazdu pojawiła się w Twoim ekwipunku.");
- }
- return TextDrawForPlayerEx(playerid, 1, "Nie posiadasz przy sobie az tylu pieniedzy by zakupic ten przedmiot.", 3000);
- }
- }
- case D_BAGS:
- {
- if(response)
- {
- new baguid = strval(inputtext);
- new count;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 4)
- {
- if(ItemCache[i][iOwner] == baguid)
- {
- count++;
- }
- }
- }
- if(count >= 20)
- return ShowDialogInfo(playerid, "W tej torbie nie zmieści się aż tyle przedmiotów.");
- new choosenuid = GetPVarInt(playerid, "iUID");
- ItemCache[choosenuid][iState] = 4;
- ItemCache[choosenuid][iOwner] = baguid;
- return TextDrawForPlayerEx(playerid, 1, "~b~~h~~h~~h~Schowano przedmiot", 3000);
- }
- return 1;
- }
- case D_BAG:
- {
- if(response)
- {
- new choosenuid = strval(inputtext);
- ItemCache[choosenuid][iOwner] = pUID[playerid];
- ItemCache[choosenuid][iState] = 0;
- return TextDrawForPlayerEx(playerid, 1, "~b~~h~~h~~h~Wyjeto przedmiot", 3000);
- }
- return 1;
- }
- case D_DOCUMENTS:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- new uid = strval(inputtext);
- new info[256]; format(info, sizeof(info), "Dowód osobisty:\n\nImię i nazwisko: %s\nPłeć: %s\nData urodzenia: %d",
- strreplace(UserCache[uid][uName], '_', ' '), (UserCache[uid][uSex]) ? ("Kobieta") : ("Mężczyzna"), UserCache[uid][uBornDate]);
- ShowDialogInfo(playerid, info);
- }
- }
- }
- }
- case D_TRADE_3:
- {
- if(response)
- {
- if(ActionData[playerid][aType] == 2)
- {
- if(UserCache[pUID[playerid]][uCash] < 100)
- return TextDrawForPlayerEx(playerid, 1, "Nie posiadasz przy sobie tyle gotowki.", 5000);
- UserCache[pUID[playerid]][uCash] -=100;
- GivePlayerMoney(playerid, -100);
- UserCache[pUID[playerid]][uID] = 1;
- ActionData[playerid][aType] = 0;
- return ShowDialogInfo(playerid, "Super! Zdobyłeś/aś dokumenty osobisty postaci.\nMożesz skorzystać z komendy: /pokaz dowod [ID/Część nazwy gracza]\nby pokazać komuś swój dokument.");
- }
- }
- return 1;
- }
- case D_GOVERMENT:
- {
- new msg[128];
- new actoruid = GetActorInRange(playerid);
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uID])
- return ShowDialogInfo(playerid, "Posiadasz już dokument osobisty.");
- ActionData[playerid][aType] = 2;
- return TextDrawForPlayerEx(playerid, 1, "Odegraj przekazanie dokumentu urzednikowi.~n~/me wyjmuje z teczki swoj akt urodzenia i kladzie go na ladzie.", 15000);
- }
- case 3:
- {
- format(msg, sizeof(msg), "%s mówi: Poproszę o Pański dowód osobisty oraz dowód przynależności pojazdu.", strreplace(ActorCache[actoruid][aName], '_', ' '));
- SendClientMessage(playerid, COLOR_GRAY, msg);
- pVal[playerid] = 1;
- pVal2[playerid] = actoruid;
- PlayerTextDrawSetString(playerid, RadarTextDraw[playerid], "Odegraj przekazanie urzednikowi wymaganych dokumentow~n~za pomoca komendy /me.");
- return PlayerTextDrawShow(playerid, RadarTextDraw[playerid]);
- }
- default: ShowDialogInfo(playerid, "Ta funkcja nie jest jeszcze dostępna.");
- }
- }
- else
- {
- format(msg, sizeof(msg), "%s mówi: Do widzenia!", strreplace(ActorCache[actoruid][aName], '_', ' '));
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- }
- case D_BANK:
- {
- new auid = GetActorInRange(playerid);
- new msg[128];
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uBankAccount])
- {
- format(msg, sizeof(msg), "%s mówi: Konto bankowe jest już zarejestrowane w systemie.", strreplace(ActorCache[auid][aName], '_', ' '));
- ShowDialogInfo(playerid, "Posiadasz już konto bankowe.");
- }
- else if(!UserCache[pUID[playerid]][uID])
- {
- format(msg, sizeof(msg), "%s mówi: Aby otworzyć konto w naszym banku, potrzebny jest dowód osobisty.",strreplace(ActorCache[auid][aName], '_', ' '));
- ShowDialogInfo(playerid, "Aby otworzyć konto bankowe musisz mieć wyrobiony dokument osobisty postaci.\nUdaj się do urzędu.");
- }
- else
- {
- format(msg, sizeof(msg), "%s mówi: Proszę podać swój dowód osobisty.", strreplace(ActorCache[auid][aName], '_', ' '));
- ActionData[playerid][aType] = 1;
- return TextDrawForPlayerEx(playerid, 1, "Odegraj przekazanie dokumentu urzednikowi.~n~/me wyjmuje z teczki swoj dowod osobisty i kladzie go na lade.", 15000);
- }
- return SendClientMessage(playerid, CHAT_SHADE_2, msg);
- }
- default: return ShowDialogInfo(playerid, "Ta funkcja będzie dostępna już wkrótce!");
- }
- }
- format(msg, sizeof(msg), "%s mówi: Do widzenia!", strreplace(ActorCache[auid][aName], '_', ' '));
- return SendClientMessage(playerid, CHAT_SHADE_2, msg);
- }
- case D_TRADE_2:
- {
- new sentuid = TradeData[playerid][tSender];
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == sentuid)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(i, X, Y, Z);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- {
- new pvw = GetPlayerVirtualWorld(playerid);
- if(pvw == GetPlayerVirtualWorld(i))
- {
- new vuid = TradeData[playerid][tVal];
- new price = TradeData[playerid][tPrice];
- if(response)
- {
- if(TradeData[playerid][tType] == 1)
- {
- if(GetPlayerItemsCount(playerid) >= 20)
- return ShowDialogInfo(playerid, "Twój ekwipunek jest przepełniony!\nMożesz schować przedmioty do torby, pojazdu, szafy, oddać czy sprzedać innemu graczowi lub odłożyć je na ziemię.");
- TextDrawForPlayerEx(i, 1, "Oferta ~g~~h~zaakceptowana.", 3000);
- TextDrawForPlayerEx(playerid, 1, "Zaakceptowano ~g~~h~oferte", 3000);
- new iuid = TradeData[playerid][tVal];
- ItemCache[iuid][iOwner] = pUID[playerid];
- new msg[128];
- format(msg, sizeof(msg), "podaje jakiś przedmiot %s.", RPName(playerid));
- SendPlayerMe(i, msg);
- return ApplyAnimation(i, "dealer", "dealer_deal", 4.1, 0, 0, 0, 0, 0, 0);
- }
- else if(TradeData[playerid][tType] == 0)
- {
- if(Isnull(inputtext))
- return TextDrawForPlayerEx(i, 1, "Oferta zostala ~r~~h~~h~~h~odrzucona.", 3000);
- if(!strcmp(inputtext, "potwierdzam", true))
- {
- if(UserCache[pUID[playerid]][uCash] < price)
- {
- SendClientMessage(playerid, COLOR_GRAY, "Nie posiadasz przy sobie tyle gotówki.");
- return TextDrawForPlayerEx(i, 1, "Oferta zostala ~r~~h~~h~~h~odrzucona.", 3000);
- }
- UserCache[pUID[playerid]][uCash] -= price;
- GivePlayerMoney(playerid, -price);
- UserCache[sentuid][uCash] += price;
- GivePlayerMoney(i, price);
- new str[32]; format(str, sizeof(str), "~g~~h~~h~~h~+$%d", price);
- GameTextForPlayer(i, str, 3000, 4);
- format(str, sizeof(str), "~r~~h~~h~~h~-$%d", price);
- GameTextForPlayer(playerid, str, 3000, 4);
- RemovePlayerFromVehicle(i);
- VehicleCache[vuid][vOwner] = pUID[playerid];
- return 1;
- }
- }
- }
- else
- {
- return TextDrawForPlayerEx(i, 1, "Oferta zostala ~r~~h~~h~~h~odrzucona.", 3000);
- }
- }
- }
- }
- }
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest w Twoim pobliżu.");
- }
- case D_TRADE:
- {
- if(response)
- {
- new tradetype = TradeData[playerid][tType];
- if(tradetype == 1)
- {
- new vid = GetPlayerVehicleID(playerid);
- new vuid = GetVehicleUID(vid);
- new price = strval(inputtext);
- if(Isnull(inputtext) || price < 1)
- {
- new str[128]; format(str, sizeof(str), ""HEX_RED"Nieprawidłowe dane! Minimalna cena sprzedaży: $1\n\nInformacje o pojeździe:\n\nMarka: %s\nPaliwo: %d/100\n"HEX_WHITE"Wpisz poniżej cenę pojazdu, którą musi zapłacić inny gracz za Twój pojazd.",
- GetVehicleName(GetVehicleModel(vid)), VehicleCache[vuid][vFuel]);
- return ShowPlayerDialog(playerid, D_TRADE, DIALOG_STYLE_INPUT, "Sprzedaż pojazdu", str, "Gotowe", "Anuluj");
- }
- new targetuid = TradeData[playerid][tReceiver];
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == targetuid)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(i, X, Y, Z);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- {
- new pvw = GetPlayerVirtualWorld(playerid);
- if(pvw == GetPlayerVirtualWorld(i))
- {
- if(TradeData[playerid][tType] == 1)
- {
- TradeData[i][tType] = 1;
- TradeData[i][tSender] = pUID[playerid];
- TradeData[i][tPrice] = price;
- TradeData[i][tVal] = vuid;
- new str[256]; format(str, sizeof(str), ""HEX_WHITE"Informacje o pojeździe:\n\nMarka: %s\nStan techniczny: %dHP\nPaliwo: %d/100\n\nKoszt kupna: "HEX_GREEN"$%d"HEX_RED"\nWpisz poniżej: POTWIERDZAM by zaakceptować ofertę w jej obecnym stanie.",
- GetVehicleName(GetVehicleModel(vid)), floatround(VehicleCache[vuid][vHP]), VehicleCache[vuid][vFuel], price);
- new header[64]; format(header, sizeof(header), "Oferta od %s", RPName(playerid));
- return ShowPlayerDialog(i, D_TRADE_2, DIALOG_STYLE_INPUT, header, str, "Gotowe", "Anuluj");
- }
- }
- }
- }
- }
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie znajduje się w pobliżu.");
- }
- }
- return 1;
- }
- case D_NEAR_PLAYERS:
- {
- if(response)
- {
- new targetuid = strval(inputtext);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == targetuid)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(i, X, Y, Z);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- {
- if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
- {
- if(TradeData[playerid][tType] == 0)
- {
- new vid = GetPlayerVehicleID(playerid);
- new vuid = GetVehicleUID(vid);
- new str[256]; format(str, sizeof(str), ""HEX_RED"Informacje o pojeździe:\n\nMarka: %s\nPaliwo: %d/100\n"HEX_WHITE"Wpisz poniżej cenę pojazdu, którą musi zapłacić inny gracz za Twój pojazd",
- GetVehicleName(GetVehicleModel(vid)), VehicleCache[vuid][vFuel]);
- TradeData[playerid][tReceiver] = targetuid;
- return ShowPlayerDialog(playerid, D_TRADE, DIALOG_STYLE_INPUT, "Sprzedaż pojazdu", str, "Gotowe", "Anuluj");
- }
- else if(TradeData[playerid][tType] == 1)
- {
- new iuid = GetPVarInt(playerid, "iUID");
- TradeData[i][tType]=1;
- TradeData[i][tSender] = pUID[playerid];
- TradeData[i][tVal] = iuid;
- new header[64], info[256];
- format(header, sizeof(header), "Oferta od %s", RPName(playerid));
- format(info, sizeof(info), ""HEX_WHITE"Gracz %s chce oddać Tobie %s za darmo.\n\nMożesz zaakceptować lub odrzucić tę ofertę.", RPName(playerid), ItemCache[iuid][iName]);
- ShowPlayerDialog(i, D_TRADE_2, DIALOG_STYLE_MSGBOX, header, info, "Akceptuj", "Odrzuć");
- return TextDrawForPlayerEx(playerid, 1, "Oferta ~g~~h~wyslana.", 3000);
- }
- }
- }
- }
- }
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie znajduje się w pobliżu.");
- }
- return 1;
- }
- case D_AMMO:
- {
- if(response)
- {
- new lastuid = GetPVarInt(playerid, "iUID");
- if(ItemCache[lastuid][iActive])
- return GameTextForPlayer(playerid, "~b~~h~~h~~h~schowaj przedmiot!", 3000, 4);
- new choosenuid = strval(inputtext), ammotoload = ItemCache[lastuid][iVal2];
- ItemCache[choosenuid][iVal2] += ammotoload;
- ItemCache[lastuid][iState] = 3;
- SendPlayerMe(playerid, "uzupełnia amunicję do swojej broni.");
- return ApplyAnimation(playerid, "buddy", "buddy_reload ", 4.1, 0, 0, 0, 0, 0, 0);
- }
- return 1;
- }
- case D_V_OPTIONS:
- {
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid), option = strval(inputtext);
- if(response)
- {
- switch(option)
- {
- case 1:
- {
- if(VehicleCache[vuid][vBonnet])
- return SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet]=0, VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- return SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet]=1, VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- }
- case 2:
- {
- if(VehicleCache[vuid][vBoot])
- return SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet], VehicleCache[vuid][vBoot]=0, VehicleCache[vuid][vObjective]);
- return SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet], VehicleCache[vuid][vBoot]=1, VehicleCache[vuid][vObjective]);
- }
- case 3:
- {
- PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0);
- new driver, passenger, bl, br;
- GetVehicleParamsCarWindows(vid, driver, passenger, bl, br);
- if(!driver)
- return SetVehicleParamsCarWindows(vid, 1, 1, 1, 1);
- return SetVehicleParamsCarWindows(vid, 0, 0, 0, 0);
- }
- case 4:
- {
- return ShowDialogVehicleGroup(playerid);
- }
- case 5:
- {
- return ShowDialogNearPlayers(playerid);
- }
- }
- }
- return 1;
- }
- case D_ADMIN_DOOR:
- {
- if(response)
- {
- new option = strval(inputtext);
- new dooruid;
- new pvw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(pvw == DoorCache[i][dInsVW])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]))
- {
- dooruid = DoorCache[i][dUID];
- break;
- }
- }
- else if(pvw == DoorCache[i][dOutVW])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- dooruid = DoorCache[i][dUID];
- break;
- }
- }
- }
- }
- switch(option)
- {
- case 1:
- {
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oVW] == DoorCache[dooruid][dInsVW])
- {
- ObjectCache[i][oState]=1;
- DestroyDynamicObject(ObjectCache[i][oID]);
- if(ObjectCache[i][oPlayer] != -1)
- {
- ObjectCache[i][oPlayer] = -1;
- new editorid = ObjectCache[i][oPlayer];
- ClearAnimations(editorid);
- TextDrawForPlayerEx(editorid, 1, "Anulowano edycję obiektu.", 3000);
- }
- }
- }
- }
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(GetPlayerVirtualWorld(i == DoorCache[dooruid][dInsVW]))
- {
- SetPlayerPos(i, DoorCache[dooruid][dOutX], DoorCache[dooruid][dOutY], DoorCache[dooruid][dOutZ]);
- SetPlayerVirtualWorld(i, DoorCache[dooruid][dOutVW]);
- TextDrawForPlayerEx(i, 1, "Drzwi zostaly usuniete.~n~Przywrocono do pozycji wyjsciowej.", 5000);
- }
- }
- }
- }
- DestroyDynamicPickup(DoorPickupID[dooruid]);
- DoorCache[dooruid][dDestroyed]=1;
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uHouseSpawn] == dooruid)
- {
- UserCache[i][uHouseSpawn] = 0;
- }
- }
- }
- }
- }
- return 1;
- }
- case D_DEPOSIT:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowPlayerDialog(playerid, D_DEPOSIT, DIALOG_STYLE_INPUT, "Wpłać kwotę", ""HEX_RED"Błąd: Nieprawidłowa wartość."HEX_WHITE"\nWpisz poniżej kwotę jaką chcesz wpłacić do banku:", "Wpłać", "Wróć");
- if(strval(inputtext) < 1 || strval(inputtext) > 5000)
- return ShowPlayerDialog(playerid, D_DEPOSIT, DIALOG_STYLE_INPUT, "Wpłać kwotę", ""HEX_RED"Za jednym razem możesz wyłacić tylko 5000$ oraz minimalne wpłacić 1$."HEX_WHITE"\nWpisz poniżej kwotę jaką chcesz wyłacić do banku:", "Wpłać", "Wróć");
- new val = strval(inputtext);
- if(UserCache[pUID[playerid]][uCash] < val)
- return ShowPlayerDialog(playerid, D_DEPOSIT, DIALOG_STYLE_INPUT, "Wpłać kwotę", ""HEX_RED"Nie posiadasz tylu pieniędzy przy sobie.\n"HEX_WHITE"Wpisz poniżej kwotę jaką chcesz wpłacić do banku", "Wpłać", "Wróć");
- UserCache[pUID[playerid]][uCash] -= val;
- GivePlayerMoney(playerid, -val);
- UserCache[pUID[playerid]][uBank] += val;
- ApplyAnimation(playerid, "DEALER", "shop_pay", 4.1, 0, 0, 0, 0, 0, 0);
- return SendPlayerMe(playerid, "wpłaca pieniądze do bankomatu");
- }
- return ShowDialogATM(playerid);
- }
- case D_WITHDRAW:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowPlayerDialog(playerid, D_WITHDRAW, DIALOG_STYLE_INPUT, "Wypłać kwotę", ""HEX_RED"Błąd: Nieprawidłowa wartość."HEX_WHITE"\nWpisz poniżej kwotę jaką chcesz wypłacić z banku:", "Wypłać", "Anuluj");
- if(strval(inputtext) < 1 || strval(inputtext) > 5000)
- return ShowPlayerDialog(playerid, D_WITHDRAW, DIALOG_STYLE_INPUT, "Wypłać kwotę", ""HEX_RED"Za jednym razem możesz wypłacić tylko 5000$ oraz minimalne wypłacić 1$."HEX_WHITE"\nWpisz poniżej kwotę jaką chcesz wypłacić z banku:", "Wypłać", "Anuluj");
- new val = strval(inputtext);
- if(UserCache[pUID[playerid]][uBank] < val)
- return ShowPlayerDialog(playerid, D_WITHDRAW, DIALOG_STYLE_INPUT, "Wypłać kwotę", ""HEX_RED"Nie posiadasz tylu pieniędzy w banku.\n"HEX_WHITE"Wpisz poniżej kwotę jaką chcesz wypłacić z banku:", "Wypłać", "Anuluj");
- UserCache[pUID[playerid]][uCash] += val;
- GivePlayerMoney(playerid, val);
- UserCache[pUID[playerid]][uBank] -= val;
- ApplyAnimation(playerid, "DEALER", "shop_pay", 4.1, 0, 0, 0, 0, 0, 0);
- return SendPlayerMe(playerid, "wypłaca pieniądze z bankomatu");
- }
- return ShowDialogATM(playerid);
- }
- case D_ATM:
- {
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1: ShowPlayerDialog(playerid, D_WITHDRAW, DIALOG_STYLE_INPUT, "Wypłać kwotę", ""HEX_WHITE"Wpisz poniżej kwotę jaką chcesz wypłacić z banku:", "Wypłać", "Anuluj");
- case 2: ShowPlayerDialog(playerid, D_DEPOSIT, DIALOG_STYLE_INPUT, "Wpłać kwotę", ""HEX_WHITE"Wpisz poniżej kwotę jaką chcesz wpłacić do banku:", "Wpłać", "Anuluj");
- }
- }
- }
- case D_VEHICLES:
- {
- if(response)
- {
- new vuid = strval(inputtext);
- if(VehicleCache[vuid][vID] != 0)
- {
- if(VehicleCache[vuid][vEngine])
- VehicleCache[vuid][vEngine] = 0;
- DestroyVehicle(VehicleCache[vuid][vID]);
- VehicleCache[vuid][vID]=0;
- TextDrawForPlayerEx(playerid, 1, "Odspawnowano pojazd.", 3000);
- DestroyDynamicMapIcon(MapIcon[playerid]);
- KillTimer(MapIconTimer[playerid]);
- return 1;
- }
- SpawnVehicle(vuid);
- TextDrawForPlayerEx(playerid, 1, "Zespawnowano pojazd.~n~Miejsce pojazdu zostalo oznaczone na mapie.", 5000);
- DestroyDynamicMapIcon(MapIcon[playerid]);
- KillTimer(MapIconTimer[playerid]);
- MapIcon[playerid] = CreateDynamicMapIcon(VehicleCache[vuid][vPosX], VehicleCache[vuid][vPosY], VehicleCache[vuid][vPosZ], 55,-1, VehicleCache[vuid][vVW], 0, playerid,-1, 3);
- MapIconTimer[playerid] = SetTimerEx("DestroyIcon", 5000*60, false, "i", playerid);
- }
- else
- {
- return 1;
- }
- }
- case D_CHANGE_GROUP_COLOR:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogChangeGroupColor(playerid);
- if(strlen(inputtext) > 6)
- return ShowDialogChangeGroupColor(playerid);
- TextDrawForPlayerEx(playerid, 1, "Kolor grupy zostal pomyslnie zmieniony.", 3000);
- new guid=GetPVarInt(playerid, "iUID"), gcolor[16];
- format(gcolor, sizeof(gcolor), "%s", inputtext);
- GroupCache[guid][gColor] = gcolor;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pDuty[i] == guid)
- {
- UpdatePlayerName(i);
- }
- }
- }
- }
- return ShowDialogGroupPanel(playerid);
- }
- case D_JOIN_GROUP:
- {
- new senderuid = pVal[playerid];
- new senderid;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == senderuid)
- {
- senderid = i;
- }
- }
- }
- if(!senderid)
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz wylogował się lub wyszedł z gry.");
- new groupuid = pVal2[playerid];
- if(response)
- {
- if(UserCache[pUID[playerid]][uGroup] == 0)
- UserCache[pUID[playerid]][uGroup] = groupuid;
- else if(UserCache[pUID[playerid]][uGroup2] == 0)
- UserCache[pUID[playerid]][uGroup2] = groupuid;
- else if(UserCache[pUID[playerid]][uGroup3] == 0)
- UserCache[pUID[playerid]][uGroup3] = groupuid;
- else return SendClientMessage(playerid, COLOR_GRAY, "Osiągnięto limit grup pod /g. Jeśli chcesz dołączyć do grupy musisz opuścić jedną ze swoich grup (/g [slot] opusc).");
- TextDrawForPlayerEx(senderid, 1, "Oferta ~g~~h~zaakceptowana.", 3000);
- TextDrawForPlayerEx(playerid, 1, "Oferta ~g~~h~zaakceptowana.", 3000);
- return ShowDialogInfo(playerid, "Dołączono do grupy.\nGrupę możesz zobaczyć pod komendą /g.");
- }
- else
- {
- TextDrawForPlayerEx(senderid, 1, "Oferta ~r~anulowana.", 3000);
- return TextDrawForPlayerEx(playerid, 1, "Oferta ~r~anulowana.", 3000);
- }
- }
- case D_CHANGE_PERMS:
- {
- if(response)
- {
- return SetPVarInt(playerid, "pUID", strval(inputtext));
- }
- return ShowDialogGroupPanel(playerid);
- }
- case D_CHANGE_GROUP_NAME:
- {
- if(response)
- {
- if(!strlen(inputtext) || strlen(inputtext) > 32)
- {
- SendClientMessage(playerid, COLOR_GRAY, "Nazwa grupy jest zbyt krótka lub zbyt długa!");
- return ShowDialogChangeGroupName(playerid);
- }
- new guid = GetPVarInt(playerid, "iUID");
- new newname[32]; format(newname, sizeof(newname), inputtext);
- GroupCache[guid][gName] = newname;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(pDuty[i] == guid)
- {
- UpdatePlayerName(i);
- format(newname, sizeof(newname), "Sluzba: ~y~%s", newname);
- PlayerTextDrawSetString(playerid, DutyTxd[playerid], newname);
- PlayerTextDrawShow(playerid, DutyTxd[playerid]);
- SendClientMessage(i, COLOR_WHITE, "> Lider twojej grupy na, której służbie jesteś zmienił jej nazwę, twój nick został zaktualizowany.");
- }
- }
- }
- }
- }
- return 1;
- }
- case D_GROUP_PANEL:
- {
- if(response)
- {
- new option = strval(inputtext), guid = GetPVarInt(playerid, "iUID");
- switch(option)
- {
- case 1: return ShowDialogChangeGroupName(playerid);
- case 2: return ShowDialogKickGroup(playerid);
- case 3:
- {
- if(GroupCache[guid][gChatOOC] == true)
- {
- GroupCache[guid][gChatOOC] = false;
- TextDrawForPlayerEx(playerid, 1, "~r~Wylaczono ~w~czat OOC grupy.", 1500);
- }
- else
- {
- GroupCache[guid][gChatOOC] = true;
- TextDrawForPlayerEx(playerid, 1, "~g~~h~Wlaczono ~w~czat OOC grupy.", 1500);
- }
- }
- case 4:
- {
- if(GroupCache[guid][gChatIC] == true)
- {
- GroupCache[guid][gChatIC] = false;
- TextDrawForPlayerEx(playerid, 1, "~r~Wylaczono ~w~sluchawke grupy.", 1500);
- }
- else
- {
- GroupCache[guid][gChatIC] = true;
- TextDrawForPlayerEx(playerid, 1, "~g~~h~Wlaczono ~w~sluchawke grupy.", 1500);
- }
- }
- case 5:
- {
- new str[256], info[128];
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uGroup] == guid || UserCache[i][uGroup2] == guid || UserCache[i][uGroup3] == guid)
- {
- format(info, sizeof(info), ""HEX_WHITE"%d %s\n", UserCache[i][uUID], UserCache[i][uName]);
- strins(str, info, strlen(str));
- }
- }
- return ShowPlayerDialog(playerid, D_CHANGE_PERMS, DIALOG_STYLE_LIST, "Zmień uprawnienia", str, "Wybierz", "Anuluj");
- }
- case 6:
- {
- new str[128];
- format(str, sizeof(str), "Usunięto grupę %s.", GroupCache[guid][gName]);
- SendClientMessage(playerid, COLOR_GRAY, str);
- return DestroyGroup(guid);
- }
- case 7:
- {
- if(response)
- return ShowDialogChangeGroupColor(playerid);
- return ShowDialogGroupPanel(playerid);
- }
- }
- return 1;
- }
- return 1;
- }
- case D_DOOR_COST:
- {
- if(response)
- {
- new str[128];
- format(str, sizeof(str), " %s", inputtext);
- new cost;
- if(sscanf(str, "i", cost))
- return ShowDialogDoorCost(playerid);
- if(cost < 0 || cost > 1000)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Zakres opłaty za przejście mieści się pomiędzy 0 -1000$");
- return ShowDialogDoorCost(playerid);
- }
- DoorCache[GetPlayerDoorUID(playerid)][dEnterCost] = cost;
- }
- return ShowDialogGroupPanel(playerid);
- }
- case D_DOOR_GROUP:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogDoorGroup(playerid);
- new text[128]; format(text, sizeof(text), " %s", inputtext);
- new slot;
- new uid = GetPlayerDoorUID(playerid);
- if(sscanf(text, "i", slot) || slot > 3 || slot < 1)
- return SendClientMessage(playerid, COLOR_GRAY, "Nieprawidłowy slot grupy.");
- switch(slot)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uGroup] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie znajduje się żadna grupa.");
- DoorCache[uid][dGroupUID] = UserCache[pUID[playerid]][uGroup];
- }
- case 2:
- {
- if(UserCache[pUID[playerid]][uGroup2] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie znajduje się żadna grupa.");
- DoorCache[uid][dGroupUID] = UserCache[pUID[playerid]][uGroup2];
- }
- case 3:
- {
- if(UserCache[pUID[playerid]][uGroup3] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie znajduje się żadna grupa.");
- DoorCache[uid][dGroupUID] = UserCache[pUID[playerid]][uGroup3];
- }
- }
- DestroyDynamicPickup(DoorPickupID[uid]);
- DoorPickupID[uid] = CreateDynamicPickup(GetPickupModelFromGroupType(GroupCache[DoorCache[uid][dGroupUID]][gType]), 2, DoorCache[uid][dOutX],DoorCache[uid][dOutY], DoorCache[uid][dOutZ], DoorCache[uid][dOutVW], 0, -1);
- format(text, sizeof(text), "> Drzwi został pomyślnie podpisane pod grupę %s (UID: %d). Użyj /drzwi [opcje] by ustawić opłatę za przejście!", GroupCache[DoorCache[uid][dGroupUID]][gName], DoorCache[uid][dGroupUID]);
- return SendClientMessage(playerid, COLOR_WHITE, text);
- }
- return 1;
- }
- case D_COMMANDS:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: return ShowPlayerDialog(playerid, D_CMDS_OBJECT, DIALOG_STYLE_MSGBOX, "Pomoc > Przydatne komendy > Obiekty", ""HEX_WHITE"/mc "HEX_BLUE"[id obiektu]"HEX_WHITE" by utworzyć obiekt.\n/msel "HEX_BLUE"[opcjonalna wartość]"HEX_WHITE" by edytować obiekt w pobliżu.\n\
- "HEX_RED"/md"HEX_WHITE" by usunąć aktualnie edytowany obiekt.\n/mmat by nałożyć texturę na aktualnie edytowany obiekt\n\nRotacja obiektu:\n/rx [wartość]\n/ry [wartość]\n/rz [wartość]", "Ok", "");
- }
- }
- }
- case D_HELP:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: return ShowDialogCommands(playerid);
- case 1: return ShowDialogStats(playerid);
- case 2: return ShowDialogAnim(playerid);
- }
- }
- return 1;
- }
- case D_CHANGE_DOOR_NAME:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogChangeDoorName(playerid);
- if(UserCache[pUID[playerid]][uCash] < 2000)
- return ShowPlayerDialog(playerid, D_CHANGE_DOOR_NAME, DIALOG_STYLE_INPUT, "Zmień nazwę drzwi", ""HEX_RED"Nie posiadasz 2000$ na zmianę nazwy drzwi!\n"HEX_WHITE"Wpisz poniżej nową nazwę drzwi:", "Zatwierdź", "Anuluj");
- if(strlen(inputtext) > 32)
- return ShowPlayerDialog(playerid, D_CHANGE_DOOR_NAME, DIALOG_STYLE_INPUT, "Zmień nazwę drzwi", ""HEX_RED"Wybrana nazwa jest zbyt długa!\n"HEX_WHITE"Wpisz poniżej nową nazwę drzwi:", "Zatwierdź", "Anuluj");
- UserCache[pUID[playerid]][uCash] -= 2000;
- GivePlayerMoney(playerid, -2000);
- new name[32]; format(name, sizeof(name), inputtext);
- DoorCache[GetPlayerDoorUID(playerid)][dName] = name;
- return SendClientMessage(playerid, COLOR_GRAY, "Nazwa drzwi została zmieniona pomyślnie.");
- }
- return 1;
- }
- case D_CHANGE_URL:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogChangeUrl(playerid);
- new pvw = GetPlayerVirtualWorld(playerid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == pvw)
- {
- PlayAudioStreamForPlayer(i, inputtext);
- }
- }
- }
- new url[256]; format(url, sizeof(url), inputtext);
- DoorCache[GetPlayerDoorUID(playerid)][dUrl] = url;
- new msg[128];
- format(msg, sizeof(msg), "* %s zmienia płytę w systemie nagłaśniającym audio.", strreplace(PlayerName(playerid), '_', ' '));
- SendPlayerMe(playerid, msg);
- }
- return 1;
- }
- case D_BOOMBOX:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogBoomBox(playerid);
- new uid = GetPVarInt(playerid, "iUID");
- new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- ItemCache[uid][iVal] = CreateDynamicObject(2226, X, Y, Z-1.0, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), -1, -1);
- ApplyAnimation(playerid, "bomber", "bom_plant", 4.1, 0, 0, 0, 0, 0, 0);
- new str[128]; format(str, sizeof(str), "* %s kładzie %s na ziemie oraz wybiera stację radiową.", strreplace(PlayerName(playerid), '_', ' '), ItemCache[uid][iName]);
- SendPlayerMe(playerid, str);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInRangeOfPoint(i, 30.0, X, Y, Z))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- StopAudioStreamForPlayer(i);
- PlayAudioStreamForPlayer(i, inputtext, X, Y, Z, 50.0, 1);
- }
- }
- }
- }
- ItemCache[uid][iActive]=1;
- }
- return 1;
- }
- case D_DOOR_SETTINGS:
- {
- if(response)
- {
- new option=strval(inputtext);
- new uid = GetPlayerDoorUID(playerid);
- switch(option)
- {
- case 1:
- {
- GetPlayerPos(playerid, DoorCache[uid][dInsX], DoorCache[uid][dInsY], DoorCache[uid][dInsZ]);
- TextDrawForPlayerEx(playerid, 1, "Pozycja wejsciowa zostala zmieniona pomyslnie.", 3000);
- }
- case 2:
- {
- if(DoorCache[uid][dType])
- return ShowDialogInfo(playerid, "Nie możesz wybrać spawnu w tym budynku.");
- if(UserCache[pUID[playerid]][uHouseSpawn] == uid)
- {
- UserCache[pUID[playerid]][uHouseSpawn] = 0;
- return SendClientMessage(playerid, COLOR_GRAY, "Wymeldowano.");
- }
- UserCache[pUID[playerid]][uHouseSpawn] = uid;
- return SendClientMessage(playerid, COLOR_GRAY, "Od teraz będzie się tu spawnował.");
- }
- case 3:
- {
- if(!Isnull(DoorCache[uid][dUrl]))
- {
- return ShowDialogChangeUrl(playerid);
- }
- else
- {
- if(UserCache[pUID[playerid]][uCash] < 1200)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie posiadasz przy sobie 1200$ na ten zakup.");
- }
- new str[256]; str = " ";
- DoorCache[uid][dUrl] = str;
- UserCache[pUID[playerid]][uCash] -= 1200;
- GivePlayerMoney(playerid, -1200);
- SendClientMessage(playerid, COLOR_GRAY, "Zakupiono system nagłaśniający!");
- }
- case 4:
- {
- SetPlayerPos(playerid, DoorCache[uid][dInsX], DoorCache[uid][dInsY], DoorCache[uid][dInsZ]);
- return TextDrawForPlayerEx(playerid, 1, "Przeteleportowano do pozycji wyjsciowej.", 3000);
- }
- case 5:
- {
- if(UserCache[pUID[playerid]][uCash] < 2000)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie posiadasz przy sobie 2000$ do zmiany nazwy drzwi.");
- return ShowDialogChangeDoorName(playerid);
- }
- case 6:
- {
- if(DoorCache[uid][dGroupUID] != 0)
- return ShowDialogInfo(playerid, ""HEX_WHITE"Ten budynek jest już podpisany pod jakiś biznes");
- if(DoorCache[uid][dType])
- return ShowDialogDoorGroup(playerid);
- return ShowDialogInfo(playerid, ""HEX_WHITE"Nie możesz podpisać tego budynku pod grupę.");
- }
- case 7:
- {
- if(DoorCache[uid][dType])
- {
- if(DoorCache[uid][dGroupUID] == 0)
- return ShowDialogInfo(playerid, ""HEX_WHITE"Ten budynek nie jest podpisany pod żaden biznes.");
- return ShowDialogDoorCost(playerid);
- }
- return ShowDialogInfo(playerid, ""HEX_WHITE"Ten budynek jest domem - nie możesz ustawić opłaty za przejście.");
- }
- case 8:
- {
- if(DoorCache[uid][dVehicle])
- {
- DoorCache[uid][dVehicle]=0;
- TextDrawForPlayerEx(playerid, 1, "Przejazd pojazdami zostal ~r~~h~~h~wylaczony~w~.", 3000);
- }
- else
- {
- DoorCache[uid][dVehicle]=1;
- TextDrawForPlayerEx(playerid, 1, "Przejazd pojazdami zostal ~g~~h~~h~wlaczony~w~.", 3000);
- }
- return ShowDialogDoorSettings(playerid);
- }
- }
- }
- }
- case D_FIND:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogFind(playerid);
- if(UserExists(inputtext))
- {
- SetPlayerName(playerid, inputtext);
- return ShowDialogLogin(playerid);
- }
- ShowDialogNotFound(playerid);
- return 1;
- }
- else
- {
- return ShowDialogCreate(playerid);
- }
- }
- case D_NOTFOUND:
- {
- if(response)
- {
- return ShowDialogCreate(playerid);
- }
- else
- {
- return ShowDialogFind(playerid);
- }
- }
- case D_CREATE:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogCreate(playerid);
- new pname[MAX_PLAYER_NAME], pborndate, sex[2];
- new text[128]; format(text, sizeof(text), " %s", inputtext);
- if(sscanf(text, "s[24]is[2]", pname, pborndate, sex))
- return ShowDialogCreate(playerid);
- if(strlen(pname) > 24 || strlen(pname) < 6)
- {
- SendClientMessage(playerid, COLOR_WHITE, "> Wybrana nazwa jest "HEX_RED"zbyt długa"HEX_WHITE" lub "HEX_RED"zbyt krótka"HEX_WHITE".");
- ShowDialogCreate(playerid);
- return 1;
- }
- if(pborndate < 1910 || pborndate > 2005)
- {
- SendClientMessage(playerid, COLOR_WHITE, "> Data narodzin Twojej postaci musi mieścić się w zakresie 1910 - 2005.");
- return ShowDialogCreate(playerid);
- }
- if(sex[0] == 'm' || sex[0] == 'k')
- {
- if(UserExists(pname))
- {
- SendClientMessage(playerid, COLOR_WHITE, "> Taka postać już istnieje :( Spróbuj użyć innej nazwy.");
- ShowDialogCreate(playerid);
- return 1;
- }
- new count;
- for(new j = 0; j < strlen(pname); j++)
- {
- if(text[j] == '_')
- count++;
- }
- if(count != 1)
- {
- ShowDialogCreate(playerid);
- new msg[128];
- format(msg, sizeof(msg), "> Twoje "HEX_BLUE"imię"HEX_WHITE" oraz "HEX_BLUE"nazwisko"HEX_WHITE" musi być oddzielone tylko jednym znakiem: "HEX_BLUE"_");
- SendClientMessage(playerid, COLOR_WHITE, msg);
- return 1;
- }
- new pos = strfind(text, "_", true);
- if(pos == 0 || pos == strlen(pname)-1)
- {
- ShowDialogCreate(playerid);
- SendClientMessage(playerid, COLOR_WHITE, "> "HEX_BLUE"imię"HEX_WHITE" lub "HEX_BLUE"nazwisko"HEX_WHITE" Twojej postaci jest za krótkie!");
- return 1;
- }
- for(new i = 0; i < strlen(pname); i++)
- {
- if(pname[i] == 'q' || pname[i] == 'w' || pname[i] == 'e' || pname[i] == 'r' || pname[i] == 't' ||
- pname[i] == 'y' || pname[i] == 'u' || pname[i] == 'i' || pname[i] =='o' || pname[i] == 'p' ||
- pname[i] == 'a' || pname[i] == 's' || pname[i]== 'd' || pname[i]== 'f' || pname[i] =='g' ||
- pname[i] =='z' || pname[i] == 'l' || pname[i] == 'k' || pname[i]== 'j' || pname[i] =='h' ||
- pname[i] =='x' || inputtext[i]== 'c' || inputtext[i] == 'v' || inputtext[i] =='b' || inputtext[i] =='n' ||
- pname[i] == 'm' ||
- pname[i] == 'Q' || pname[i] == 'W' || pname[i] == 'E' || pname[i] == 'R' ||pname[i] == 'T' ||
- pname[i] == 'Y' || pname[i] == 'U' || pname[i] == 'I' || pname[i] =='O' || pname[i] == 'P' ||
- pname[i] == 'A' || pname[i] == 'S' || pname[i]== 'D' || pname[i]== 'F' || pname[i] =='G' ||
- pname[i] =='Z' || pname[i] == 'L' || pname[i] == 'K' || pname[i]== 'J' || pname[i] =='H' ||
- pname[i] =='X' || pname[i]== 'C' || pname[i] == 'V' || pname[i] =='B' || pname[i] =='N' ||
- pname[i] == 'M' || pname[i] == '_')
- {
- continue;
- }
- else
- {
- new msg[128];
- format(msg, sizeof(msg), "> Wprowadzono niedozwolony znak: "HEX_BLUE"%c", pname[i]);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- ShowDialogCreate(playerid);
- return 1;
- }
- }
- new name[MAX_PLAYER_NAME];
- format(name, sizeof(name), pname);
- RegisterCache[playerid][rName] = name;
- if(sex[0] == 'm')
- RegisterCache[playerid][rSex] = 0; else RegisterCache[playerid][rSex] = 1;
- RegisterCache[playerid][rBornDate] = pborndate;
- ShowDialogPassword(playerid);
- return 1;
- }
- else
- return ShowDialogCreate(playerid);
- }
- else
- {
- BackToMenu(playerid);
- }
- }
- case D_PASS:
- {
- if(response)
- {
- if(strlen(inputtext) < 8 || strlen(inputtext) > 32)
- return ShowPlayerDialog(playerid, D_PASS, DIALOG_STYLE_PASSWORD, "Wybór hasła", ""HEX_WHITE"Poniżej wprowadź hasło za pomocą którego będziesz logować się do swojej postaci.\n\n"HEX_RED"Hasło musi mieć przynajmniej 8 oraz maksymalnie 32 znaki.\n\n"HEX_PURPLE"Prosimy nie wpisywać haseł zawierających polskie znaki, gdyż logowanie potem będzie nie możliwe.", "Stwórz", "Anuluj");
- if(RegisterCache[playerid][rSex])
- CreateUser(RegisterCache[playerid][rName], inputtext, "k", RegisterCache[playerid][rBornDate]);
- else
- CreateUser(RegisterCache[playerid][rName], inputtext, "m", RegisterCache[playerid][rBornDate]);
- SetPlayerName(playerid, RegisterCache[playerid][rName]);
- ShowDialogLogin(playerid);
- }
- else
- {
- BackToMenu(playerid);
- }
- }
- case D_LOGIN:
- {
- if(response)
- {
- if(Isnull(inputtext))
- {
- return ShowDialogLogin(playerid);
- }
- for(new i = 1; i < LastUID; i++)
- {
- if(!strcmp(PlayerName(playerid), UserCache[i][uName], true))
- {
- if(!strcmp(inputtext, UserCache[i][uPass], false))
- {
- if(UserCache[i][uBan])
- {
- new str[128];
- if(UserCache[i][uBan] == 999)
- format(str, sizeof(str), "Twoja postać została stale zablokowana.");
- if(UserCache[i][uBan] != 999)
- format(str, sizeof(str), "Twoja postać posiada aktywną blokadę do %02d:%02d:%02d", UserCache[i][uBanYear], UserCache[i][uBanDay], UserCache[i][uBanMin]);
- SendClientMessage(playerid, COLOR_RED, str);
- SendClientMessage(playerid, COLOR_ORANGE, UserCache[i][uBanReason]);
- return ShowDialogLogin(playerid);
- }
- return LoginPlayer(playerid, UserCache[i][uUID]);
- }
- else
- {
- if(LoginAttempt[playerid] == 3)
- return Kick(playerid);
- new str[256];
- format(str, sizeof(str), ""HEX_PURPLE"Witaj na serwerze Szkodnik RolePlay!"HEX_WHITE"\n\n"HEX_RED"Nieprawidłowe dane logowania!\n\nPostać "HEX_RED"%s"HEX_WHITE" została odnaleziona.\n\nZaloguj się podając poprawne hasło lub wybierz 'Zmień' jeśli chcesz zalogować się na inną postać.", PlayerName(playerid));
- ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", str, "Zaloguj", "Zmień");
- LoginAttempt[playerid]++;
- return 1;
- }
- }
- }
- }
- else
- {
- ShowDialogFind(playerid);
- }
- }
- case D_INFO:
- {
- if(response)
- {
- return 1;
- }
- else
- {
- return 1;
- }
- }
- case D_CREATEDOOR:
- {
- if(response)
- {
- new zone = GetPlayerZone(playerid);
- if(!strlen(inputtext))
- {
- ShowDialogDoorCreate(playerid,ZoneData[zone][zYard]);
- return 1;
- }
- new input[128];
- format(input, sizeof(input), " %s", inputtext);
- new type[2], yard;
- if(sscanf(input, "s[2]i", type, yard))
- {
- ShowDialogDoorCreate(playerid, ZoneData[zone][zYard]);
- return 1;
- }
- if(yard < ZoneData[zone][zYard])
- {
- ShowDialogDoorCreate(playerid,ZoneData[zone][zYard]);
- return 1;
- }
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- if(!strcmp(type, "d", true))
- {
- new price = ZoneData[zone][zCostH] * yard;
- if(UserCache[pUID[playerid]][uCash] < price)
- {
- ShowDialogDoorCreate(playerid, ZoneData[zone][zYard]);
- new msg[64];
- format(msg, sizeof(msg), "~g~nie posiadasz %d$ na stworzenie drzwi", price);
- GameTextForPlayer(playerid, msg, 5000, 4);
- return 1;
- }
- CreateDoor(playerid, GetPlayerVirtualWorld(playerid), 0, X, Y, Z);
- SetPlayerCash(playerid, -price);
- return 1;
- }
- else if(!strcmp(type, "b", true))
- {
- new price = ZoneData[zone][zCostB] * yard;
- if(UserCache[pUID[playerid]][uCash] < price)
- {
- ShowDialogDoorCreate(playerid, ZoneData[zone][zYard]);
- new msg[64];
- format(msg, sizeof(msg), "~g~nie posiadasz %d$ na stworzenie drzwi", price);
- GameTextForPlayer(playerid, msg, 5000, 4);
- return 1;
- }
- CreateDoor(playerid, GetPlayerVirtualWorld(playerid), 1, X, Y, Z);
- SetPlayerCash(playerid, -price);
- return 1;
- }
- else
- {
- ShowDialogDoorCreate(playerid, ZoneData[zone][zYard]);
- return 1;
- }
- }
- else
- {
- return 1;
- }
- }
- case D_ITEMS:
- {
- new uid = strval(inputtext);
- if(response)
- {
- UseItem(playerid, uid);
- return 1;
- }
- else
- {
- SetPVarInt(playerid, "iUID", uid);
- return ShowPlayerDialog(playerid, D_ITEM_OPTIONS, DIALOG_STYLE_LIST, "Zarządzaj przedmiotem", "1\tOdłóż przedmiot na ziemię\n2\tOddaj przedmiot za darmo graczowi\n"HEX_BLUE"3\tResetuj akcesorium doczepiane\n4\tSchowaj przedmiot do torby", "Wybierz", "Zamknij");
- }
- }
- case D_ITEM_OPTIONS:
- {
- if(response)
- {
- return UseItemOption(playerid, strval(inputtext), GetPVarInt(playerid, "iUID"));
- }
- return 1;
- }
- case D_NEARBY_ITEMS:
- {
- if(response)
- {
- new uid = strval(inputtext);
- if(ItemCache[uid][iState] == 0)
- {
- new Float:targetX, Float:targetY, Float:targetZ;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iUID] == uid)
- {
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(GetPlayerItemsCount(playerid) >= 20)
- return ShowDialogInfo(playerid, "Twój ekwipunek jest przepełniony!\nMożesz schować przedmioty do torby, pojazdu, szafy, oddać czy sprzedać innemu graczowi lub odłożyć je na ziemię.");
- GetPlayerPos(j, targetX, targetY, targetZ);
- if(GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(j) || !IsPlayerInRangeOfPoint(playerid, 5.0, targetX, targetY, targetZ))
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz oddalił się.");
- if(ItemCache[uid][iActive])
- return GameTextForPlayer(playerid, "~b~~h~~h~~h~uzywany", 3000, 4);
- ItemCache[uid][iOwner] = pUID[playerid];
- new msg[128];
- format(msg, sizeof(msg), "zabiera jakiś przedmiot %s", RPName(j));
- return SendPlayerMe(playerid, msg);
- }
- }
- }
- }
- return 1;
- }
- if(GetPlayerItemsCount(playerid) >= 20)
- return ShowDialogInfo(playerid, "Twój ekwipunek jest przepełniony!\nMożesz schować przedmioty do torby, pojazdu, szafy, oddać czy sprzedać innemu graczowi lub odłożyć je na ziemię.");
- ItemCache[uid][iState] = 0;
- ItemCache[uid][iOwner] = pUID[playerid];
- new msg[128]; format(msg, sizeof(msg), "podnosi %s.",ItemCache[uid][iName]);
- if(IsPlayerInAnyVehicle(playerid))
- format(msg, sizeof(msg), "podnosi %s z pojazdu.",ItemCache[uid][iName]);
- SendPlayerMe(playerid, msg);
- ApplyAnimation(playerid, "bomber", "bom_plant", 4.1, 0, 0, 0, 0, 0, 0);
- }
- return 1;
- }
- case D_USE_WEAP:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogUseWeap(playerid);
- new uid=GetPVarInt(playerid, "iUID");
- new msg[128];
- if(ItemCache[uid][iActive])
- {
- format(msg, sizeof(msg), "chowa %s %s.", ItemCache[uid][iName], inputtext);
- SendPlayerMe(playerid, msg); ItemCache[uid][iActive] = 1;
- ResetPlayerWeapons(playerid);
- SetTimerEx("HideWeapon", 50, false, "ii", uid, playerid);
- return 1;
- }
- format(msg, sizeof(msg), "wyciąga %s %s.", ItemCache[uid][iName], inputtext);
- SendPlayerMe(playerid, msg); ItemCache[uid][iActive] = 1;
- ItemCache[uid][iActive]=1;
- return SetTimerEx("GiveWeapon", 50, false, "iii", playerid, ItemCache[uid][iVal], ItemCache[uid][iVal2]);
- }
- }
- case D_PHONE:
- {
- if(response)
- {
- new option=strval(inputtext), uid=GetPVarInt(playerid, "iUID");
- switch(option)
- {
- case 1:
- {
- return ShowDialogContacts(playerid);
- }
- case 3:
- {
- return ShowDialogCall(playerid);
- }
- case 2:
- {
- return ShowDialogMessages(playerid);
- }
- case 4:
- {
- return ShowDialogSMS(playerid);
- }
- case 5:
- {
- ItemCache[uid][iActive]=0;
- GameTextForPlayer(playerid, "~b~~h~telefon ~w~wylaczony", 3000, 4);
- return PlayerPlaySound(playerid, 4202, 0.0, 0.0, 0.0);
- }
- }
- }
- return 1;
- }
- case D_SMS:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogSMS(playerid);
- new str[256], num, text[128]; format(str, sizeof(str), " %s", inputtext);
- if(sscanf(str, "is[128]", num, text))
- return ShowDialogSMS(playerid);
- new uid = GetPVarInt(playerid, "iUID");
- MsgCache[LastMsgUID][mReceiver] = num;
- MsgCache[LastMsgUID][mSender] = ItemCache[uid][iVal];
- MsgCache[LastMsgUID][mText] = text;
- MsgCache[LastMsgUID][mUID] = LastMsgUID;
- LastMsgUID++;
- ShowDialogPhone(playerid);
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType]==2)
- {
- if(ItemCache[i][iVal]==num)
- {
- for(new j=0; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(pUID[j] == ItemCache[i][iOwner])
- {
- new msg[128];
- format(msg, sizeof(msg), "#%d"HEX_WHITE": %s", ItemCache[uid][iVal], text);
- SendClientMessage(j, COLOR_GREEN, msg);
- format(msg, sizeof(msg), "* %s otrzymał wiadomość SMS.", strreplace(PlayerName(j), '_', ' '));
- SendPlayerMe(j, msg);
- break;
- }
- }
- }
- }
- }
- }
- }
- ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- new msg[128];
- format(msg, sizeof(msg), "* %s robi coś na telefonie.", strreplace(PlayerName(playerid), '_', ' '));
- SendPlayerMe(playerid, msg);
- return GameTextForPlayer(playerid, "~w~wiadomosc ~b~wyslana", 3000, 4);
- }
- }
- case D_MESSAGES:
- {
- if(response)
- return ShowDialogMessages(playerid);
- return ShowDialogPhone(playerid);
- }
- case D_CALL:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogCall(playerid);
- new str[128], num; format(str, sizeof(str), " %s", inputtext);
- if(sscanf(str, "i", num))
- return ShowDialogPhone(playerid);
- new uid = GetPVarInt(playerid, "iUID");
- if(num == ItemCache[uid][iVal])
- {
- return GameTextForPlayer(playerid, "~w~nie mozesz zadzwonic do samego siebie", 3000, 4);
- }
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iVal] == num)
- {
- if(!ItemCache[i][iActive])
- {
- SetPlayerSpecialAction(playerid, 13);
- return SendClientMessage(playerid, COLOR_YELLOW, "Telefon(poczta głosowa): Telefon osoby do, której dzwonisz jest wyłączony.");
- }
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(pUID[j] == ItemCache[i][iOwner])
- {
- if(CallData[j][cCaller] >= 0)
- {
- SetPlayerSpecialAction(playerid, 13);
- return SendClientMessage(playerid, COLOR_YELLOW, "Telefon(poczta głosowa): Wybrany numer jest zajęty.");
- }
- PlayerPlaySound(playerid, 3600, 0.0 ,0.0 ,0.0);
- new msg[128]; format(msg, sizeof(msg), "* Dzwoni telefon %s.", strreplace(PlayerName(j), '_', ' '));
- SendPlayerMe(j, msg);
- CallData[j][cCalling] = 3;
- CallData[j][cCaller] = playerid;
- SetPlayerSpecialAction(playerid, 11);
- PlayerPlaySound(playerid, 3600, 0.0, 0.0, 0.0);
- SetTimerEx("Calling", 3000, false, "i", j);
- PlayerPlaySoundInRange(j, 23000, 12.0);
- return 1;
- }
- }
- }
- }
- }
- }
- return GameTextForPlayer(playerid, "~w~wybrany numer jest nieosiagalny", 3000, 4);
- }
- else
- return ShowDialogPhone(playerid);
- }
- case D_ANSWER:
- {
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1:
- {
- CallData[playerid][cCalling] = 0;
- new senderid = CallData[playerid][cCaller];
- CallData[senderid][cCaller] = playerid;
- GameTextForPlayer(senderid, "~w~rozmowca ~g~odebral ~w~polaczenie", 3000, 4);
- GameTextForPlayer(playerid, "~g~~h~odebrano ~w~telefon", 3000, 4);
- SetPlayerSpecialAction(playerid, 11);
- }
- case 2:
- {
- new senderid = CallData[playerid][cCaller];
- CallData[playerid][cCaller] = -1;
- CallData[senderid][cCaller] = -1;
- CallData[playerid][cCalling] = 0;
- CallData[senderid][cCalling] = 0;
- GameTextForPlayer(senderid, "~w~Rozmowca rozlaczyl sie", 3000, 4);
- SetPlayerSpecialAction(senderid, 13);
- SetPlayerSpecialAction(playerid, 13);
- }
- }
- }
- return 1;
- }
- case D_CONTACTS:
- {
- new option = strval(inputtext);
- if(response)
- {
- new uid = GetPVarInt(playerid, "iUID"), info[256], list[256], count;
- format(list, sizeof(list), "Numer telefonu\tNazwa kontaktu\n");
- switch(option)
- {
- case 1:
- {
- for(new i=1; i<LastContactUID; i++)
- {
- if(ContactCache[i][cOwner] == ItemCache[uid][iVal])
- {
- if(ContactCache[i][cState] == 0)
- {
- count++;
- format(info, sizeof(info), "%d\t%s\n", ContactCache[i][cNum], ContactCache[i][cName]);
- strins(list, info, strlen(list));
- }
- }
- }
- if(count)
- return ShowPlayerDialog(playerid, D_FRIENDS, DIALOG_STYLE_TABLIST_HEADERS, "Telefon > Kontakty > Zadzwoń do kontaktu", list, "Wybierz", "Anuluj");
- else
- {
- GameTextForPlayer(playerid, "~w~nie posiadasz zadnych kontaktow", 3000, 4);
- return ShowDialogContacts(playerid);
- }
- }
- case 2:
- {
- return ShowDialogInfo(playerid, "Ta funkcja będzie gotowa później.");
- }
- case 3:
- {
- return ShowDialogAddContact(playerid);
- }
- case 4:
- {
- return ShowDialogVCard(playerid);
- }
- case 5:
- {
- return ShowDialogRemoveContact(playerid);
- }
- }
- }
- }
- case D_FRIENDS:
- {
- new num = strval(inputtext);
- if(response)
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iVal] == num)
- {
- if(ItemCache[i][iActive])
- {
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(pUID[j])
- {
- if(pUID[j] == ItemCache[i][iOwner])
- {
- PlayerPlaySound(playerid, 3600, 0.0 ,0.0 ,0.0);
- new msg[128]; format(msg, sizeof(msg), "* Dzwoni telefon %s.", strreplace(PlayerName(j), '_', ' '));
- SendPlayerMe(j, msg);
- CallData[j][cCalling] = 3;
- CallData[j][cCaller] = playerid;
- SetPlayerSpecialAction(playerid, 11);
- PlayerPlaySound(playerid, 3600, 0.0, 0.0, 0.0);
- SetTimerEx("Calling", 3000, false, "i", j);
- PlayerPlaySoundInRange(j, 23000, 12.0);
- return 1;
- }
- }
- }
- }
- return SendClientMessage(playerid, COLOR_YELLOW, "Telefon: Wybrana osoba jest niedostępna.");
- }
- else
- {
- return SendClientMessage(playerid, COLOR_YELLOW, "Telefon: Osoba do, której dzwonisz ma wyłączony telefon.");
- }
- }
- }
- }
- return GameTextForPlayer(playerid, "~w~wybrany numer jest nieosiagalny", 3000, 4);
- }
- return 1;
- }
- case D_ADD_CONTACT:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogAddContact(playerid);
- new str[256]; format(str, sizeof(str), " %s", inputtext);
- new num, name[128];
- if(sscanf(str, "is[128]", num, name))
- return ShowDialogAddContact(playerid);
- new uid = GetPVarInt(playerid, "iUID");
- for(new i=1; i<LastContactUID; i++)
- {
- if(ContactCache[i][cOwner] == ItemCache[uid][iVal])
- {
- if(ContactCache[i][cState] == 0)
- {
- if(ContactCache[i][cNum] == num)
- {
- GameTextForPlayer(playerid, "~w~juz masz ten numer w kontaktach", 1500, 4);
- return ShowDialogAddContact(playerid);
- }
- }
- }
- }
- AddContact(ItemCache[uid][iVal], num, name);
- ShowDialogContacts(playerid);
- return GameTextForPlayer(playerid, "~g~kontakt dodany!", 1500, 4);
- }
- return 1;
- }
- case D_REMOVE_CONTACT:
- {
- if(response)
- {
- new num = strval(inputtext), uid = GetPVarInt(playerid, "iUID");
- for(new i=1; i < LastContactUID; i++)
- {
- if(ContactCache[i][cState] == 0)
- {
- if(ContactCache[i][cOwner] == ItemCache[uid][iVal])
- {
- if(ContactCache[i][cNum] == num)
- {
- ContactCache[i][cState] = 1;
- GameTextForPlayer(playerid, "~w~usunieto kontakt", 1500, 4);
- return ShowDialogContacts(playerid);
- }
- }
- }
- }
- }
- return ShowDialogContacts(playerid);
- }
- case D_VCARD:
- {
- if(response)
- {
- new pid = strval(inputtext);
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[pid])
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iActive])
- {
- VCardSender[pid] = playerid;
- TextDrawForPlayerEx(playerid, 1, "Wyslano oferte", 5000);
- return ShowDialogVCardAccept(pid);
- }
- }
- }
- }
- TextDrawForPlayerEx(playerid, 1, "Ta osoba nie ma telefonu lub jest wylaczony.", 5000);
- return ShowDialogVCard(playerid);
- }
- }
- case D_VCARD_ACCEPT:
- {
- new senderid = VCardSender[playerid];
- if(response)
- {
- new ownernum;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iOwner] == pUID[senderid])
- {
- ownernum = ItemCache[i][iVal];
- break;
- }
- }
- }
- }
- new pnum;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- pnum = ItemCache[i][iVal];
- break;
- }
- }
- }
- }
- AddContact(ownernum, pnum, strreplace(PlayerName(playerid), '_', ' '));
- TextDrawForPlayerEx(senderid, 1, "~g~Oferta zaakceptowana.", 5000);
- return TextDrawForPlayerEx(playerid, 1, "~g~Oferta zaakceptowana.", 5000);
- }
- else
- {
- TextDrawForPlayerEx(senderid, 1, "~r~Oferta anulowana.", 5000);
- return TextDrawForPlayerEx(playerid, 1, "~g~Oferta anulowana.", 5000);
- }
- }
- case D_ZONE:
- {
- if(response)
- {
- new zoneid = GetPlayerZone(playerid);
- ShowDialogDoorCreate(playerid, ZoneData[zoneid][zYard]);
- return 1;
- }
- else
- {
- return 1;
- }
- }
- case D_STATS:
- {
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1: return ShowDialogSettings(playerid);
- case 2: return ShowPlayerDialog(playerid, D_SERVICES, DIALOG_STYLE_LIST, "Usługi", ""HEX_WHITE"1\tStwórz grupę", "Wybierz", "Anuluj");
- case 3:
- {
- new documents[256], info[128];
- if(UserCache[pUID[playerid]][uID])
- {
- format(info, sizeof(info), "%d\tDowód osobisty", pUID[playerid]);
- strins(documents, info, strlen(documents));
- }
- if(strlen(documents))
- return ShowPlayerDialog(playerid, D_DOCUMENTS, DIALOG_STYLE_LIST, "Dokumenty Twojej postaci", documents, "Wybierz", "Anuluj");
- return ShowDialogInfo(playerid, "Twoja postać nie posiada jeszcze żadnych dokumentów.");
- }
- case 4: return ShowDialogConnects(playerid);
- }
- }
- return 1;
- }
- case D_CONNECT:
- {
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uFreeze])
- {
- UserCache[pUID[playerid]][uFreeze] = false;
- ShowDialogConnects(playerid);
- return TextDrawForPlayerEx(playerid, 1, "~r~~h~Przelaczono ~w~freeze przez drzwi.", 3000);
- }
- UserCache[pUID[playerid]][uFreeze] = true;
- ShowDialogConnects(playerid);
- return TextDrawForPlayerEx(playerid, 1, "~g~~h~Przelaczono ~w~freeze przez drzwi.", 3000);
- }
- case 2:
- {
- if(UserCache[pUID[playerid]][uOOC])
- {
- UserCache[pUID[playerid]][uOOC] = false;
- ShowDialogConnects(playerid);
- return TextDrawForPlayerEx(playerid, 1, "~r~~h~Przelaczono ~w~czat OOC.", 3000);
- }
- UserCache[pUID[playerid]][uOOC] = true;
- ShowDialogConnects(playerid);
- return TextDrawForPlayerEx(playerid, 1, "~g~~h~Przelaczono ~w~czat OOC.", 3000);
- }
- }
- }
- }
- case D_SETTINGS:
- {
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1: return ShowDialogChangePass(playerid);
- }
- }
- return 1;
- }
- case D_SERVICES:
- {
- if(response)
- {
- new option = strval(inputtext);
- switch(option)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uSP] < 1000)
- return SendClientMessage(playerid, COLOR_WHITE, "Nie posiadasz 1000 SP do stworzenia grupy.");
- return ShowDialogCreateGroup(playerid);
- }
- }
- }
- return 1;
- }
- case D_CREATE_GROUP:
- {
- if(response)
- {
- if(Isnull(inputtext))
- return ShowDialogCreateGroup(playerid);
- new string[64]; format(string, sizeof(string), " %s", inputtext);
- new type, name[32];
- if(sscanf(string, "is[32]", type, name))
- return ShowDialogCreateGroup(playerid);
- if(type != 0) return ShowDialogCreateGroup(playerid);
- if(strlen(name) > 32)
- return ShowDialogCreateGroup(playerid);
- if(!GetPlayerFreeSlot(playerid))
- return SendClientMessage(playerid, COLOR_GRAY, "Brak wolnych slotów grupowych! Musisz opuścić jakąś grupę. Możesz użyć komendy /g [slot grupy] [opuść] by opuścić grupę.");
- CreateGroup(type, name, "ffffff");
- new uid = pUID[playerid]; UserCache[uid][uSP] -= 1000;
- SetPlayerScore(playerid, UserCache[uid][uSP]);
- TextDrawForPlayerEx(playerid, 1, "Grupa zostala utworzona pomyslnie!~n~Uzyj ~y~/g [slot] panel~w~ by zarzadzac grupa.", 5000);
- }
- return 1;
- }
- case D_USERS:
- {
- if(response)
- {
- new uid = strval(inputtext);
- new num = random(6);
- new pass[32]; format(pass, sizeof(pass), "%d", num);
- UserCache[uid][uPass] = pass;
- new msg[128];
- format(msg, sizeof(msg), "Zresetowano hasło %s (%d): %s", UserCache[uid][uName], uid, pass);
- SendClientMessage(playerid, COLOR_WHITE, msg);
- }
- return 1;
- }
- case D_CHANGE_PASS:
- {
- if(response)
- {
- if(strlen(inputtext) < 8 || strlen(inputtext) > 32)
- return ShowDialogChangePass(playerid);
- new newpass[32]; format(newpass, sizeof(newpass), inputtext);
- UserCache[pUID[playerid]][uPass] = newpass;
- TextDrawForPlayerEx(playerid, 1, "Haslo do konta zostalo zmienione pomyslnie.", 5000);
- LogoutPlayer(playerid);
- }
- return 1;
- }
- }
- return 0;
- }
- stock ShowDialogSettings(playerid)
- {
- new str[256];
- format(str, sizeof(str), ""HEX_WHITE"1\tZmień hasło logowania");
- return ShowPlayerDialog(playerid, D_SETTINGS, DIALOG_STYLE_LIST, "Ustawienia postaci", str , "Wybierz", "Anuluj");
- }
- stock ShowDialogConnects(playerid)
- {
- new str[256];
- format(str, sizeof(str), "1\tFreeze przy przejściu: %s\n2\tCzat OOC: %s", UserCache[pUID[playerid]][uFreeze] ? (""HEX_GREEN"Tak") : (""HEX_RED"Nie"), UserCache[pUID[playerid]][uOOC] ? (""HEX_GREEN"Tak") : (""HEX_RED"Nie"));
- return ShowPlayerDialog(playerid, D_CONNECT, DIALOG_STYLE_LIST, "Przełączniki postaci", str , "Wybierz", "Anuluj");
- }
- stock LogoutPlayer(playerid)
- {
- godmodecount[playerid]=0;
- new uid = pUID[playerid];
- for(new i=0; i<10; i++)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, i))
- RemovePlayerAttachedObject(playerid, i);
- }
- if(UserCache[pUID[playerid]][uTutorial] == 0)
- {
- GetPlayerPos(playerid, UserCache[uid][uSpawnX], UserCache[uid][uSpawnY], UserCache[uid][uSpawnZ]);
- UserCache[uid][uSpawnVW] = GetPlayerVirtualWorld(playerid); // Saving player's position and virtual world
- }
- UserCache[uid][uOnline] = false;
- KillTimer(PlayerRepairingVehicle[playerid][repairTimer]);
- UserCache[uid][uBelts] = false;
- SetPlayerVirtualWorld(playerid, -1);
- DestroyPlayerTextDraws(playerid);
- PlayAudioStreamForPlayer(playerid, "http://k003.kiwi6.com/hotlink/ict12m0ifu/Legendary_Official_Audio_-_Welshly_Arms.mp3");
- ClearChat(playerid);
- TogglePlayerSpectating(playerid, 1);
- RandomCamera(playerid);
- SetPlayerColor(playerid, COLOR_BLACK);
- ShowDialogLogin(playerid);
- LoginAttempt[playerid] = 0;
- if(UserCache[pUID[playerid]][uTutorial] > 0) // Destroy Tutorial if is any
- {
- KillTimer(ChooseSkinTimer[playerid]);
- }
- DestroyDynamic3DTextLabel(pDesc[playerid][dID]); // Destroy his description
- pDesc[playerid][dID] = Text3D:0;
- pDesc[playerid][dIsDescOnPlayer] = false;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] != 2)
- {
- if(ItemCache[i][iType] == 1)
- ResetPlayerWeapons(playerid);
- ItemCache[i][iActive]=0;
- }
- }
- }
- }
- for(new i=1; i < LastoUID; i++) // Clear object editor
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oPlayer] == playerid)
- {
- ObjectCache[i][oPlayer] = -1;
- KillTimer(ObjectCache[i][oTimer]);
- ObjectCache[i][oTimer] = 0;
- break;
- }
- }
- }
- // Clear phone calling
- if(CallData[playerid][cCaller] != -1 && !CallData[playerid][cCalling])
- {
- new callerid = CallData[playerid][cCaller];
- SetPlayerSpecialAction(callerid, 13);
- SendClientMessage(callerid, -1, "Rozmówca rozłączył się.");
- CallData[callerid][cCaller] = -1;
- }
- CallData[playerid][cCalling] = 0;
- CallData[playerid][cCaller] = -1;
- pDuty[playerid] = 0; // aduty off
- pChoosingTxd[playerid] = 0;
- aduty[playerid] = 0;
- SetTimerEx("ClearPos", 60000*10, false, "i", pUID[playerid]);
- ac[playerid] = false;
- pUID[playerid] = 0;
- return 1;
- }
- stock ShowDialogChangePass(playerid)
- return ShowPlayerDialog(playerid, D_CHANGE_PASS, DIALOG_STYLE_PASSWORD, "Zmień hasło", ""HEX_WHITE"Wprowadź nowe hasło do konta.\n\n1\tIlość znaków hasła musi mieścić się w przedziale "HEX_BLUE"8-32"HEX_WHITE".\n2\tHasło nie może zawierać polskich znaków.", "Zmien", "Anuluj");
- stock ShowDialogCreateGroup(playerid)
- return ShowPlayerDialog(playerid, D_CREATE_GROUP, DIALOG_STYLE_INPUT, "Stwórz grupę", ""HEX_WHITE"Podaj rodzaj oraz nazwę grupy.\nWzór: [liczba] [nazwa]\nGdzie:\n"HEX_RED"0"HEX_WHITE" - Party", "Stwórz", "Anuluj");
- stock ShowDialogVCardAccept(playerid)
- {
- new senderid = VCardSender[playerid];
- new header[64], str[128];
- format(header, sizeof(header), "Oferta od "HEX_YELLOW"%s", strreplace(PlayerName(senderid), '_', ' '));
- format(str, sizeof(str), ""HEX_YELLOW"%s"HEX_WHITE" wysyła Ci swój VCard.\nCzy akceptujesz tę ofertę?", strreplace(PlayerName(senderid), '_', ' '));
- return ShowPlayerDialog(playerid, D_VCARD_ACCEPT, DIALOG_STYLE_MSGBOX, header, str, "Tak", "Nie");
- }
- stock ShowDialogVCard(playerid)
- {
- new Float:X, Float:Y, Float:Z, vw = GetPlayerVirtualWorld(playerid); GetPlayerPos(playerid, X, Y, Z);
- new list[256], info[256], count;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 5.0, X, Y, Z))
- {
- format(info, sizeof(info), "%d\t%s\n", i, strreplace(PlayerName(i), '_', ' '));
- strins(list, info, strlen(list));
- count++;
- }
- }
- }
- }
- if(count)
- return ShowPlayerDialog(playerid, D_VCARD, DIALOG_STYLE_LIST, "Telefon > Kontakty > Wyślij VCard", list, "Wyślij", "Anuluj");
- return ShowDialogInfo(playerid, "Musisz stać w pobliżu osoby z telefonem do, której chcesz wysłać VCard.");
- }
- stock ShowDialogVehicleGroup(playerid)
- return ShowPlayerDialog(playerid, D_VEHICLE_GROUP, DIALOG_STYLE_INPUT, "Podpisz pojazd pod grupę", "Wpisz poniżej slot grupowy grupy pod jaką chcesz podpisać swój pojazd.\nPamiętaj, aby to zrobić musisz mieć odpowiednie uprawnienia nadane przez lidera wybranej grupy.", "Podpisz", "Anuluj");
- stock ShowDialogGroupPanel(playerid)
- {
- new uid = GetPVarInt(playerid, "iUID");
- new str[1000]; format(str, sizeof(str), ""HEX_WHITE"Informacje o grupie:\n\nNazwa grupy:\t%s\nUID grupy:\t%d\nKolor grupy:\t{%s}%s\nStan konta bankowego grupy:\t"HEX_GREEN"%d$\n"HEX_WHITE"---\n1\tZmień nazwę grupy\n2\tWyrzuć członka\n3\tPrzełącz czat grupowy OOC\n4\tPrzełącz czat grupowy IC\n5\tZmień uprawnienia członka\n6\t"HEX_RED"Usuń grupę\n7\tZmień kolor grupy",
- GroupCache[uid][gName], uid, GroupCache[uid][gColor], GroupCache[uid][gColor], GroupCache[uid][gBank]);
- return ShowPlayerDialog(playerid, D_GROUP_PANEL, DIALOG_STYLE_LIST, "Zarządzaj grupą", str, "Wybierz", "Anuluj");
- }
- stock ShowDialogRemoveContact(playerid)
- {
- new uid = GetPVarInt(playerid, "iUID"), list[256], info[256], count;
- for(new i=1; i < LastContactUID; i++)
- {
- if(ContactCache[i][cOwner] == ItemCache[uid][iVal])
- {
- if(!ContactCache[i][cState])
- {
- format(info, sizeof(info), "%d\t%s\n", ContactCache[i][cNum], ContactCache[i][cName]);
- strins(list, info, strlen(list)); count++;
- }
- }
- }
- if(count)
- return ShowPlayerDialog(playerid, D_REMOVE_CONTACT, DIALOG_STYLE_LIST, "Telefon > Kontakty > Usuń kontakt", list, "Wybierz", "Anuluj");
- GameTextForPlayer(playerid, "~w~nie posiadasz zadnych kontaktow", 1500, 4);
- return ShowDialogContacts(playerid);
- }
- stock AddContact(owner, num, name[])
- {
- new str[128]; format(str, sizeof(str), name);
- ContactCache[LastContactUID][cOwner] = owner;
- ContactCache[LastContactUID][cNum] = num;
- ContactCache[LastContactUID][cName] = str;
- ContactCache[LastContactUID][cState] = 0;
- LastContactUID++;
- }
- stock ShowDialogAddContact(playerid)
- return ShowPlayerDialog(playerid, D_ADD_CONTACT, DIALOG_STYLE_INPUT, "Telefon > Kontakty > Dodaj nowy kontakt", ""HEX_WHITE"Dodaj nowy kontakt na wzór: "HEX_GREEN"[numer telefonu] [nazwa kontaktu]", "Dodaj", "Anuluj");
- stock ShowDialogContacts(playerid)
- return ShowPlayerDialog(playerid, D_CONTACTS, DIALOG_STYLE_LIST, "Telefon > Kontakty", "1\tZadzwoń do kontaktu\n2\tNumery alarmowe\n3\tDodaj nowy kontakt\n4\tWyślij VCard\n5\t"HEX_RED"Usuń kontakt", "Wybierz", "Anuluj");
- stock PlayerPlaySoundInRange(playerid, soundid, Float:range)
- {
- new Float:X, Float:Y, Float:Z, vw = GetPlayerVirtualWorld(playerid); GetPlayerPos(playerid, X, Y, Z);
- for(new i=0; i<=GetPlayerPoolSize(); i++)
- {
- if(vw == GetPlayerVirtualWorld(i))
- {
- if(IsPlayerInRangeOfPoint(i, range, X, Y, Z))
- {
- PlayerPlaySound(i, soundid, 0.0, 0.0, 0.0);
- }
- }
- }
- }
- forward GiveWeapon(playerid, weaponid, ammo);
- public GiveWeapon(playerid, weaponid, ammo)
- {
- GivePlayerWeapon(playerid, weaponid, ammo);
- }
- forward Calling(playerid);
- public Calling(playerid)
- {
- if(CallData[playerid][cCalling] > 0)
- {
- PlayerPlaySound(CallData[playerid][cCaller], 16001, 0.0, 0.0, 0.0);
- PlayerPlaySoundInRange(playerid, 23000, 12.0);
- CallData[playerid][cCalling]--;
- if(CallData[playerid][cCalling] == 0)
- {
- SetPlayerSpecialAction(CallData[playerid][cCaller], 13);
- SendClientMessage(CallData[playerid][cCaller],COLOR_WHITE, "Rozmówca nie odebrał połączenia.");
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iOwner] == pUID[CallData[playerid][cCaller]])
- {
- new msg[128];
- format(msg, sizeof(msg), "Masz nieodebrane połączenie od numeru: %d", ItemCache[i][iVal]);
- CallData[playerid][cCalling] = 0;
- CallData[playerid][cCaller] = -1;
- return SendClientMessage(playerid, COLOR_WHITE, msg);
- }
- }
- }
- }
- return 1;
- }
- SetTimerEx("Calling", 3000, false, "i", playerid);
- }
- return 1;
- }
- stock ShowDialogCall(playerid)
- return ShowPlayerDialog(playerid, D_CALL, DIALOG_STYLE_INPUT, "Telefon > Zadzwoń pod numer", "Wprowadź numer telefonu osoby do, której chcesz zadzwonić.\nNp. "HEX_GREEN"500914", "Zadzwoń", "Anuluj");
- stock ShowDialogMessages(playerid)
- {
- new uid = GetPVarInt(playerid, "iUID"), msg[256], list[256] = "#\tNumer tel.\tWiadomość\n", count;
- for(new i=1; i<LastMsgUID; i++)
- {
- if(MsgCache[i][mReceiver] == ItemCache[uid][iVal])
- {
- count++;
- format(msg, sizeof(msg), ""HEX_WHITE"%d\t%d\t%s\n", count, MsgCache[i][mSender], MsgCache[i][mText]);
- strins(list, msg, strlen(list));
- }
- }
- if(count != 0)
- return ShowPlayerDialog(playerid, D_MESSAGES, DIALOG_STYLE_TABLIST_HEADERS, "Telefon > Skrzynka odbiorcza", list, "Wybierz", "Wróć");
- else
- {
- GameTextForPlayer(playerid, "~w~skrzynka odbiorcza jest pusta", 3000, 4);
- return ShowDialogPhone(playerid);
- }
- }
- stock ShowDialogSMS(playerid)
- return ShowPlayerDialog(playerid, D_SMS, DIALOG_STYLE_INPUT, "Telefon > Wyślij SMS", ""HEX_WHITE"Podaj numer na jaki chcesz wysłać wiadomość SMS, następnie jego treść.\nNp. "HEX_GREEN"523414 "HEX_WHITE"Cześć Lucy!", "Wyślij", "Anuluj");
- stock SetPlayerCash(playerid, cash)
- {
- UserCache[pUID[playerid]][uCash] += cash;
- GivePlayerMoney(playerid, cash);
- return 1;
- }
- stock CreateDoor(ownerid, outVW, type, Float:X, Float:Y, Float:Z)
- {
- new VW=1, name[32];
- for(new i=1; i<LastdUID; i++)
- {
- if(VW == DoorCache[i][dInsVW])
- {
- VW++;
- }
- }
- DoorCache[LastdUID][dUID] = LastdUID;
- DoorCache[LastdUID][dType] = type;
- if(type)
- {
- name = "Biznes";
- DoorCache[LastdUID][dName] = name;
- }
- else
- {
- name = "Dom";
- DoorCache[LastdUID][dName] = name;
- if(UserCache[pUID[ownerid]][uHouseSpawn] == 0)
- {
- UserCache[pUID[ownerid]][uHouseSpawn] = LastdUID;
- SendClientMessage(ownerid, COLOR_GRAY, "Od teraz będziesz spawnować się w tym budynku.");
- }
- else
- {
- SendClientMessage(ownerid, COLOR_GRAY, "Jesteś zameldowany w jakimś innym budynku, nie będziesz spawnować się w tym.");
- }
- }
- DoorCache[LastdUID][dPlayerUID] = pUID[ownerid];
- DoorCache[LastdUID][dGroupUID] = 0;
- DoorCache[LastdUID][dOutX] = X;
- DoorCache[LastdUID][dOutY] = Y;
- DoorCache[LastdUID][dOutZ] = Z;
- DoorCache[LastdUID][dInsVW] = VW;
- DoorCache[LastdUID][dInsX] = X;
- DoorCache[LastdUID][dInsY] = Y;
- DoorCache[LastdUID][dInsZ] = Z;
- DoorCache[LastdUID][dOutVW] = outVW;
- DoorCache[LastdUID][dDestroyed] = 0;
- DoorCache[LastdUID][dOpen] = 1;
- DoorCache[LastdUID][dVehicle] = 0;
- if(DoorCache[LastdUID][dType])
- DoorPickupID[LastdUID] = CreateDynamicPickup(1210, 2, X,Y, Z, DoorCache[LastdUID][dOutVW], 0, -1);
- else
- DoorPickupID[LastdUID] = CreateDynamicPickup(1273, 2, X, Y, Z, DoorCache[LastdUID][dOutVW], 0, -1);
- new url[256];
- format(url, sizeof(url), "");
- DoorCache[LastdUID][dUrl] = url;
- LastdUID++;
- }
- stock GetPickupModelFromGroupType(gtype)
- {
- if(gtype == 0)
- return 1273;
- if(gtype == 1)
- return 1210;
- if(gtype == 2)
- return 11738;
- if(gtype == 3)
- return 1582;
- if(gtype == 4)
- return 1239;
- if(gtype == 5)
- return 1239;
- if(gtype == 6)
- return 1239;
- if(gtype == 7)
- return 1212;
- if(gtype == 8)
- return 1274;
- if(gtype == 9)
- return 1210;
- if(gtype == 10)
- return 1318;
- if(gtype == 11)
- return 1727;
- if(gtype == 12)
- return 1239;
- if(gtype == 13)
- return 1272;
- if(gtype == 14)
- return 11746;
- return 1239;
- }
- stock BackToMenu(playerid)
- {
- if(UserExists(PlayerName(playerid)))
- ShowDialogLogin(playerid);
- else
- ShowDialogNotFound(playerid);
- }
- stock UserExists(name[])
- {
- for(new i = 1; i < LastUID; i++)
- {
- if(!strcmp(name, UserCache[i][uName], true))
- {
- return 1;
- }
- }
- return 0;
- }
- stock PlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- stock UserPath(id)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_USERS"%d.ini", id);
- return path;
- }
- stock Isnull(string[])
- return !strlen(string);
- stock LoadAccounts()
- {
- new pass[32];
- new name[MAX_PLAYER_NAME];
- new count;
- new reason[128];
- for(new i=1; i < LastUID; i++)
- {
- if(!dfile_FileExists(UserPath(i)))
- continue;
- dfile_Open(UserPath(i));
- format(name, sizeof(name), dfile_ReadString("Name"));
- UserCache[i][uName] = name;
- format(pass, sizeof(pass), dfile_ReadString("Pass"));
- UserCache[i][uPass] = pass;
- UserCache[i][uBornDate] = dfile_ReadInt("BornDate");
- UserCache[i][uUID] = dfile_ReadInt("UID");
- UserCache[i][uSkin] = dfile_ReadInt("Skin");
- UserCache[i][uHealth] = dfile_ReadFloat("Health");
- UserCache[i][uCash] = dfile_ReadInt("Cash");
- UserCache[i][uTutorial] = dfile_ReadInt("Tutorial");
- UserCache[i][uStrenght] = dfile_ReadInt("Strenght");
- UserCache[i][uRank] = dfile_ReadInt("Rank");
- UserCache[i][uBW] = dfile_ReadInt("BW");
- UserCache[i][uSpawnX] = dfile_ReadFloat("SpawnX");
- UserCache[i][uSpawnY] = dfile_ReadFloat("SpawnY");
- UserCache[i][uSpawnZ] = dfile_ReadFloat("SpawnZ");
- UserCache[i][uAJ] = dfile_ReadInt("AJ");
- UserCache[i][uBWReason] = dfile_ReadInt("BWReason");
- UserCache[i][uGroup] = dfile_ReadInt("Group");
- UserCache[i][uGroup2] = dfile_ReadInt("Group2");
- UserCache[i][uGroup3] = dfile_ReadInt("Group3");
- UserCache[i][uGroupMapper] = dfile_ReadBool("GroupMapper");
- UserCache[i][uGroupMapper2] = dfile_ReadBool("GroupMapper2");
- UserCache[i][uGroupMapper3] = dfile_ReadBool("GroupMapper3");
- UserCache[i][uGroupDuty] = dfile_ReadInt("GroupDuty");
- UserCache[i][uGroupDuty2] = dfile_ReadInt("GroupDuty2");
- UserCache[i][uGroupDuty] = dfile_ReadInt("GroupDuty3");
- UserCache[i][uH] = dfile_ReadInt("H");
- UserCache[i][uMin] = dfile_ReadInt("Min");
- UserCache[i][uSP] = dfile_ReadInt("SP");
- UserCache[i][uHouseSpawn] = dfile_ReadInt("HouseSpawn");
- UserCache[i][uBank] = dfile_ReadInt("Bank");
- UserCache[i][uMapper] = dfile_ReadBool("Mapper");
- UserCache[i][uSpawnVW] = dfile_ReadInt("SpawnVW");
- UserCache[i][uID] = dfile_ReadInt("ID");
- UserCache[i][uDrivingLicense] = dfile_ReadInt("DrivingLicense");
- UserCache[i][uBankAccount] = dfile_ReadInt("BankAccount");
- UserCache[i][uBan] = dfile_ReadInt("Ban");
- UserCache[i][uBanHour] = dfile_ReadInt("BanHour");
- UserCache[i][uBanMin] = dfile_ReadInt("BanMin");
- format(reason, sizeof(reason), dfile_ReadString("BanReason"));
- UserCache[i][uBanReason] = reason;
- UserCache[i][uBanYear] = dfile_ReadInt("BanYear");
- UserCache[i][uBanMonth] = dfile_ReadInt("BanMonth");
- UserCache[i][uBanDay] = dfile_ReadInt("BanDay");
- UserCache[i][uLastLogin] = dfile_ReadInt("LastLogin");
- UserCache[i][uFreeze] = dfile_ReadBool("Freeze");
- UserCache[i][uOOC] = dfile_ReadBool("OOC");
- UserCache[i][uAchievementManDown] = dfile_ReadBool("AchievementManDown");
- dfile_CloseFile();
- count++;
- }
- printf("[SYSTEM] Loaded %d accounts.", count);
- }
- stock SaveAccounts()
- {
- for(new i=1; i < LastUID; i++)
- {
- if(!dfile_FileExists(UserPath(i)))
- {
- dfile_Create(UserPath(i));
- }
- dfile_Open(UserPath(i));
- dfile_WriteString("Name", UserCache[i][uName]);
- dfile_WriteString("Pass", UserCache[i][uPass]);
- dfile_WriteInt("UID", UserCache[i][uUID]);
- dfile_WriteInt("Skin", UserCache[i][uSkin]);
- dfile_WriteFloat("Health", UserCache[i][uHealth]);
- dfile_WriteInt("Cash", UserCache[i][uCash]);
- dfile_WriteInt("Tutorial", UserCache[i][uTutorial]);
- dfile_WriteInt("Strenght", UserCache[i][uStrenght]);
- dfile_WriteInt("Rank", UserCache[i][uRank]);
- dfile_WriteInt("BornDate", UserCache[i][uBornDate]);
- dfile_WriteInt("BW", UserCache[i][uBW]);
- dfile_WriteFloat("SpawnX", UserCache[i][uSpawnX]);
- dfile_WriteFloat("SpawnY", UserCache[i][uSpawnY]);
- dfile_WriteFloat("SpawnZ", UserCache[i][uSpawnZ]);
- dfile_WriteInt("BWReason", UserCache[i][uBWReason]);
- dfile_WriteInt("AJ", UserCache[i][uAJ]);
- dfile_WriteInt("Group", UserCache[i][uGroup]);
- dfile_WriteInt("Group2", UserCache[i][uGroup2]);
- dfile_WriteInt("Group3", UserCache[i][uGroup3]);
- dfile_WriteBool("GroupMapper", UserCache[i][uGroupMapper]);
- dfile_WriteBool("GroupMapper2", UserCache[i][uGroupMapper2]);
- dfile_WriteBool("GroupMapper3", UserCache[i][uGroupMapper3]);
- dfile_WriteInt("GroupDuty", UserCache[i][uGroupDuty]);
- dfile_WriteInt("GroupDuty2", UserCache[i][uGroupDuty2]);
- dfile_WriteInt("GroupDuty3", UserCache[i][uGroupDuty3]);
- dfile_WriteInt("Min", UserCache[i][uMin]);
- dfile_WriteInt("H", UserCache[i][uH]);
- dfile_WriteInt("SP", UserCache[i][uSP]);
- dfile_WriteInt("HouseSpawn", UserCache[i][uHouseSpawn]);
- dfile_WriteInt("Bank", UserCache[i][uBank]);
- dfile_WriteBool("Mapper", UserCache[i][uMapper]);
- dfile_WriteInt("SpawnVW", UserCache[i][uSpawnVW]);
- dfile_WriteInt("DrivingLicense", UserCache[i][uDrivingLicense]);
- dfile_WriteInt("ID", UserCache[i][uID]);
- dfile_WriteInt("BankAccount", UserCache[i][uBankAccount]);
- dfile_WriteInt("Ban", UserCache[i][uBan]);
- dfile_WriteInt("BanHour", UserCache[i][uBanHour]);
- dfile_WriteInt("BanMin", UserCache[i][uBanMin]);
- dfile_WriteString("BanReason", UserCache[i][uBanReason]);
- dfile_WriteInt("BanYear", UserCache[i][uBanYear]);
- dfile_WriteInt("BanMonth", UserCache[i][uBanMonth]);
- dfile_WriteInt("BanDay", UserCache[i][uBanDay]);
- dfile_WriteInt("LastLogin", UserCache[i][uLastLogin]);
- dfile_WriteBool("Freeze", UserCache[i][uFreeze]);
- dfile_WriteBool("OOC", UserCache[i][uOOC]);
- dfile_WriteBool("AchievementManDown", UserCache[i][uAchievementManDown]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock LoadUIDs()
- {
- if(dfile_FileExists(UID_FILE))
- {
- dfile_Open(UID_FILE);
- LastUID = dfile_ReadInt("UID");
- LastdUID = dfile_ReadInt("dUID");
- LastiUID = dfile_ReadInt("iUID");
- LastMsgUID = dfile_ReadInt("MsgUID");
- LastContactUID = dfile_ReadInt("ContactUID");
- LastgUID = dfile_ReadInt("gUID");
- LastoUID = dfile_ReadInt("oUID");
- LasttUID = dfile_ReadInt("tUID");
- LastvUID = dfile_ReadInt("vUID");
- LastaUID = dfile_ReadInt("aUID");
- dfile_CloseFile();
- }
- }
- stock SaveUIDs()
- {
- if(dfile_FileExists(UID_FILE))
- {
- dfile_Open(UID_FILE);
- dfile_WriteInt("UID", LastUID);
- dfile_WriteInt("dUID", LastdUID);
- dfile_WriteInt("iUID", LastiUID);
- dfile_WriteInt("MsgUID", LastMsgUID);
- dfile_WriteInt("ContactUID", LastContactUID);
- dfile_WriteInt("gUID", LastgUID);
- dfile_WriteInt("oUID", LastoUID);
- dfile_WriteInt("tUID", LasttUID);
- dfile_WriteInt("vUID", LastvUID);
- dfile_WriteInt("aUID", LastaUID);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock ShowDialogLogin(playerid)
- {
- new str[256];
- format(str, sizeof(str), ""HEX_PURPLE"Witaj na serwerze Szkodnik RolePlay!"HEX_WHITE"\n\nPostać "HEX_RED"%s"HEX_WHITE" została odnaleziona.\n\nZaloguj się podając poprawne hasło lub wybierz 'Zmień' jeśli chcesz zalogować się na inną postać.", PlayerName(playerid));
- ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", str, "Zaloguj", "Zmień");
- return 1;
- }
- stock ShowDialogNotFound(playerid)
- {
- new str[256];format(str, sizeof(str), ""HEX_WHITE"Postać "HEX_RED"%s"HEX_WHITE" nie została odnaleziona.\n\nMożesz wyszukać postać już istniejącą lub stworzyć zupełnie nową.\n\n"HEX_PURPLE"1\tWybierz przycisk stwórz by stworzyć nową postać.\n2\tWybierz przycisk zmień by znaleźć postać już istniejącą.", PlayerName(playerid));
- return ShowPlayerDialog(playerid, D_NOTFOUND, DIALOG_STYLE_MSGBOX, "Stwórz lub zmień postać", str, "Stwórz", "Zmień");
- }
- stock ShowDialogFind(playerid)
- return ShowPlayerDialog(playerid, D_FIND, DIALOG_STYLE_INPUT, "Wybór postaci", ""HEX_PURPLE"Witaj na serwerze Szkodnik RolePlay!\n\n"HEX_WHITE"Wprowadź nazwę postaci w formacie: "HEX_RED"Imie_Nazwisko"HEX_WHITE" by wyszukać już istniejącą postać.\n\nWybierz drugą opcje by stworzyć nową postać.", "Zmień", "Stwórz");
- stock ShowDialogCreate(playerid)
- return ShowPlayerDialog(playerid, D_CREATE, DIALOG_STYLE_INPUT, "Wpisz dane postaci", "Aby utworzyć nową postać wpisz poniżej jej dane w formacie:\n\n"HEX_RED"[Imie_Nazwisko]\t[Data urodzenia]\t[Płeć]\n\n"HEX_WHITE"Z czego płeć to: m - mężczyzna oraz k - kobieta\n\nPrzykład: Josh_Smith 1990 m", "Wprowadź", "Anuluj");
- stock ShowDialogPassword(playerid)
- {
- ShowPlayerDialog(playerid, D_PASS, DIALOG_STYLE_PASSWORD, "Wprowadź hasło", ""HEX_WHITE"Wpisz poniżej hasło za pomocą którego będziesz logować się do swojej postaci.\n\n"HEX_PURPLE"Prosimy nie wpisywać haseł zawierających polskie znaki, gdyż logowanie potem będzie nie możliwe.", "Stwórz", "Anuluj");
- return 1;
- }
- stock CreateUser(username[], userpass[], usersex[], userBornDate)
- {
- new name[MAX_PLAYER_NAME], pass[32];
- format(name, sizeof(name), username);
- format(pass, sizeof(pass), userpass);
- UserCache[LastUID][uName] = name;
- UserCache[LastUID][uPass] = pass;
- if(usersex[0] == 'm')
- UserCache[LastUID][uSex] = 0;
- else
- UserCache[LastUID][uSex] = 1;
- UserCache[LastUID][uUID] = LastUID;
- if(usersex[0] == 'k')
- {
- UserCache[LastUID][uSkin] = 12;
- }
- else
- {
- UserCache[LastUID][uSkin] = 7;
- }
- UserCache[LastUID][uBornDate] = userBornDate;
- UserCache[LastUID][uHealth] = 100.0;
- UserCache[LastUID][uCash] = 50;
- UserCache[LastUID][uTutorial] = 2;
- UserCache[LastUID][uStrenght] = 100;
- UserCache[LastUID][uRank] = 0;
- UserCache[LastUID][uBW] = 0;
- UserCache[LastUID][uSpawnVW] = 0;
- UserCache[LastUID][uSpawnX] = -128.0586,
- UserCache[LastUID][uSpawnY] = 1267.5101;
- UserCache[LastUID][uSpawnZ] =18.9242;
- UserCache[LastUID][uAJ] = 0;
- UserCache[LastUID][uBWReason] = 0;
- UserCache[LastUID][uGroup] = 0;
- UserCache[LastUID][uGroup2] = 0;
- UserCache[LastUID][uGroup3] = 0;
- UserCache[LastUID][uGroupDuty] = 0;
- UserCache[LastUID][uGroupDuty2] = 0;
- UserCache[LastUID][uGroupDuty3] = 0;
- UserCache[LastUID][uH] = 0;
- UserCache[LastUID][uMin] = 0;
- UserCache[LastUID][uSP] = 0;
- UserCache[LastUID][uHouseSpawn] = 0;
- UserCache[LastUID][uMapper] = false;
- UserCache[LastUID][uID] = 0;
- UserCache[LastUID][uDrivingLicense] = 0;
- UserCache[LastUID][uBankAccount] = 0;
- LastUID++;
- }
- stock PlayerIP(playerid)
- {
- new IP[128];
- GetPlayerIp(playerid, IP, sizeof(IP));
- return IP;
- }
- stock SetSpawnInfoFix(playerid, team, skinid, Float:X, Float:Y, Float:Z)
- {
- SetSpawnInfo(playerid, team, skinid, X, Y, Z, 0.0, 0, 0, 0, 0, 0, 0);
- return SetPlayerTeam(playerid, team); // Set Player Team bug fix
- }
- stock LoginPlayer(playerid, UID)
- {
- SetPVarInt(playerid, "Spec", -1); // Nobody specs him
- pUID[playerid] = UID;
- new y, m, d, todays;
- todays = getdate(y, m, d);
- UserCache[UID][uLastLogin] = todays;
- UserCache[UID][uOnline] = true;
- TextDrawShowForPlayer(playerid, RadioTextDraw);
- StopAudioStreamForPlayer(playerid);
- SetPlayerScore(playerid, UserCache[pUID[playerid]][uSP]);
- CallData[playerid][cCaller] = -1;
- CallData[playerid][cCalling] = 0;
- SetPlayerColor(playerid, LOGGED_COLOR);
- CreatePlayerTextDraws(playerid);
- new str[128];
- format(str, sizeof(str), "> Witaj, %s! "HEX_GRAY"(UID: %d, ID: %d)"HEX_WHITE". Życzymy miłej gry!", PlayerName(playerid), UID, playerid);
- ClearChat(playerid);
- SendClientMessage(playerid, COLOR_WHITE, str);
- KillTimer(ChooseSkinTimer[playerid]);
- if(UserCache[UID][uTutorial] == 2)
- {
- SetPlayerFreeVW(playerid);
- SetSpawnInfoFix(playerid, 0, UserCache[pUID[playerid]][uSkin], 1016.1049,-1313.0197,13.5469);
- }
- if(UserCache[UID][uAJ] > 0)
- {
- SetPlayerFreeVW(playerid);
- format(str, sizeof(str), "~r~AJ: %d min", UserCache[UID][uAJ]);
- PlayerTextDrawSetString(playerid, AJTextDraw[playerid], str);
- PlayerTextDrawShow(playerid, AJTextDraw[playerid]);
- SetSpawnInfoFix(playerid, 0, UserCache[pUID[playerid]][uSkin], 1175.3094,-1179.7953,87.0432);
- }
- else if(UserCache[UID][uSpawnX] != 0 && UserCache[UID][uSpawnY] != 0 && UserCache[UID][uSpawnZ] != 0)
- {
- Freeze(playerid, 3000);
- SetSpawnInfoFix(playerid, 0, UserCache[UID][uSkin],UserCache[UID][uSpawnX], UserCache[UID][uSpawnY], UserCache[UID][uSpawnZ]);
- SetPlayerVirtualWorld(playerid, UserCache[UID][uSpawnVW]);
- }
- else if(UserCache[UID][uHouseSpawn] != 0)
- {
- new duid = UserCache[UID][uHouseSpawn];
- SetSpawnInfoFix(playerid, 0, UserCache[UID][uSkin],DoorCache[duid][dInsX], DoorCache[duid][dInsY], DoorCache[duid][dInsZ]);
- SetPlayerVirtualWorld(playerid, DoorCache[duid][dInsVW]);
- }
- else
- {
- SetSpawnInfoFix(playerid, 0, UserCache[UID][uSkin],-128.0586,1267.5101,18.9242);
- SetPlayerVirtualWorld(playerid, 0);
- }
- TogglePlayerSpectating(playerid, 0); // Spawn
- if(UserCache[UID][uBW] > 0)
- {
- TogglePlayerControllable(playerid, 0);
- ApplyAnimation(playerid, "crack", "crckdeth1", 4.1, 0, 0, 0, 1, 0, 0);
- SetPlayerCameraPos(playerid, UserCache[UID][uSpawnX], UserCache[UID][uSpawnY], UserCache[UID][uSpawnZ]+10.0);
- SetPlayerCameraLookAt(playerid, UserCache[UID][uSpawnX], UserCache[UID][uSpawnY], UserCache[UID][uSpawnZ], CAMERA_CUT);
- new msg[64];
- format(msg, sizeof(msg), "Stan nieprzytomnosci przez: %dmin", UserCache[UID][uBW]);
- PlayerTextDrawShow(playerid, BWTextDraw[playerid]);
- }
- else if(UserCache[UID][uTutorial])
- {
- TogglePlayerControllable(playerid, 0);
- SetPlayerPos(playerid, -128.0586,1267.5101,18.9242);
- SetPlayerCameraPos(playerid, -127.2054,1263.7201,19.0055);
- SetPlayerCameraLookAt(playerid, -128.0586,1267.5101,18.9242);
- SetPlayerFacingAngle(playerid, 182.2969);
- ChooseSkinTimer[playerid] = SetTimerEx("ChooseSkin", 120, true, "i", playerid);
- PlayerTextDrawSetString(playerid, BottomTextDraw[playerid], "~y~Wyglad postaci.~w~~n~~n~~b~~h~~h~~h~lewo ~w~poprzedni skin~n~~b~~h~~h~~h~prawo ~w~nastepny skin~n~~n~~b~~h~~h~~h~LALT~w~ akceptuj");
- PlayerTextDrawShow(playerid, BottomTextDraw[playerid]);
- }
- DestroyDynamic3DTextLabel(pNick[playerid][nID]); // Remove nickname on his ID
- if(UserCache[pUID[playerid]][uRank] != 0)
- pNick[playerid][nColor] = COLOR_WHITE;
- else
- pNick[playerid][nColor] = PLAYER_NORMAL_COLOR;
- pNick[playerid][nID] = CreateDynamic3DTextLabel(" ", pNick[playerid][nColor], 0.0, 0.0, 0.2, 10.0, playerid, INVALID_VEHICLE_ID, 1, -1, -1, -1);
- SetTimerEx("GiveScorePerHour", 60000*60, false, "i", playerid);
- if(UserCache[pUID[playerid]][uRank] != 0)
- {
- aduty[playerid] = 1;
- format(str, sizeof(str), "~w~wchodzisz na sluzbe:~n~~b~~h~~h~~h~%s", GetRankName(UserCache[pUID[playerid]][uRank]));
- GameTextForPlayer(playerid, str, 3000, 4);
- }
- UpdatePlayerName(playerid);
- return 1;
- }
- forward GiveScorePerHour(playerid);
- public GiveScorePerHour(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- UserCache[pUID[playerid]][uSP] += 30;
- SetPlayerScore(playerid, UserCache[pUID[playerid]][uSP]);
- if(!UserCache[pUID[playerid]][uBankAccount])
- TextDrawForPlayerEx(playerid, 1, "Nie mozesz otrzymac cogodzinnego zasilku~n~poniewaz nie posiadasz konta bankowego.~n~Udaj sie do banku!", 10000);
- else
- {
- new msg[128]; format(msg, sizeof(msg), "#Bank "HEX_WHITE"Na konto wypłynęła kwota 40$ z cogodzinnego zasiłku.");
- SendClientMessage(playerid, COLOR_GREEN, msg);
- UserCache[pUID[playerid]][uBank] += 40;
- SetTimerEx("GiveScorePerHour", 60000*60, false, "i", playerid);
- }
- }
- }
- stock ReturnHour()
- {
- new h, m, s;
- gettime(h, m ,s);
- return h;
- }
- stock ReturnMinute()
- {
- new h, m, s;
- gettime(h,m,s);
- return m;
- }
- stock UpdatePlayerName(playerid)
- {
- new name[525], uid = pUID[playerid];
- format(name, sizeof(name), "%s, %d", strreplace(PlayerName(playerid), '_', ' '), playerid);
- if(UserCache[uid][uBW])
- {
- format(name, sizeof(name), "%s, %d\n(%s)", RPName(playerid), playerid, GetBWReason(playerid));
- if(UserCache[uid][uBelts])
- format(name, sizeof(name), "%s, %d\n(%s, %s)", strreplace(PlayerName(playerid), '_', ' '), playerid,GetBWReason(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"));
- if(UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, AFK od: %02d:%02d)", strreplace(PlayerName(playerid), '_', ' '), playerid,GetBWReason(playerid),IsHelmet(playerid) ? ("kask") : ("pasy"), ReturnHour(), ReturnMinute());
- }
- if(pDuty[playerid] != 0)
- {
- if(UserCache[uid][uBelts])
- {
- format(name, sizeof(name), "%s, %d\n(%s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid,IsHelmet(playerid) ? ("kask") : ("pasy"), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uAFK])
- {
- format(name, sizeof(name), "%s, %d\n(%s, AFK od: %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, IsHelmet(playerid) ? ("kask") : ("pasy"), ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- }
- }
- if(UserCache[uid][uAFK])
- {
- format(name, sizeof(name), "%s, %d\n(AFK od: %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- }
- else
- format(name, sizeof(name), "%s, %d\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- }
- if(UserCache[uid][uStrenght] >= 300)
- {
- format(name, sizeof(name), "%s, %d\n(%s)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid));
- if(UserCache[uid][uBelts])
- format(name, sizeof(name), "%s, %d\n(%s, %s)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"));
- if(UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, AFK od: %02d:%02d)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), ReturnHour(), ReturnMinute());
- if(UserCache[uid][uBelts] && UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, AFK od: %02d:%02d)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"), ReturnHour(), ReturnMinute());
- }
- if(UserCache[uid][uStrenght] >= 300 && pDuty[playerid])
- {
- format(name, sizeof(name), "%s, %d\n(%s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), GroupCache[pDuty[playerid]][gColor], GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, AFK od: %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor], GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uBelts])
- format(name, sizeof(name), "%s, %d\n(%s, %s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"),GroupCache[pDuty[playerid]][gColor], GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uBelts] && UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, AFK od: %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"), ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor], GroupCache[pDuty[playerid]][gName]);
- }
- if(UserCache[uid][uStrenght] >= 300 && UserCache[uid][uBW])
- {
- format(name, sizeof(name), "%s, %d\n(%s, %s)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid), GetPlayerStrenghtName(playerid));
- if(UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, %s, AFK od: %02d:%02d)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid), GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"), ReturnHour(), ReturnMinute());
- if(UserCache[uid][uBelts])
- format(name, sizeof(name), "%s, %d\n(%s, %s, %s)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid), GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"));
- if(UserCache[uid][uBelts] && UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, %s, AFK od: %02d:%02d)", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid), GetPlayerStrenghtName(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"), ReturnHour(), ReturnMinute());
- }
- if(pDuty[playerid] && UserCache[uid][uBW])
- {
- format(name, sizeof(name), "%s, %d\n(%s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid),GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, AFK od %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid),ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uBelts])
- format(name, sizeof(name), "%s, %d\n(%s, %s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid), IsHelmet(playerid) ? ("kask") : ("pasy"),GroupCache[pDuty[playerid]][gColor] ,GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uBelts] && UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, AFK od %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '),playerid, GetBWReason(playerid),IsHelmet(playerid) ? ("kask") : ("pasy"),ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- }
- if(pDuty[playerid] && UserCache[uid][uBW] && UserCache[uid][uStrenght] >= 300)
- {
- format(name, sizeof(name), "%s, %d\n(%s, %s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, GetBWReason(playerid),GetPlayerStrenghtName(playerid),GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, AFK od %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, GetBWReason(playerid),GetPlayerStrenghtName(playerid),ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uBelts])
- format(name, sizeof(name), "%s, %d\n(%s, %s, %s)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, GetBWReason(playerid),GetPlayerStrenghtName(playerid),IsHelmet(playerid) ? ("kask") : ("pasy"),GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- if(UserCache[uid][uBelts] && UserCache[uid][uAFK])
- format(name, sizeof(name), "%s, %d\n(%s, %s, %s, AFK od %02d:%02d)\n{%s}[%s]", strreplace(PlayerName(playerid), '_', ' '), playerid, GetBWReason(playerid),GetPlayerStrenghtName(playerid),IsHelmet(playerid) ? ("kask") : ("pasy"),ReturnHour(), ReturnMinute(), GroupCache[pDuty[playerid]][gColor],GroupCache[pDuty[playerid]][gName]);
- }
- pNick[playerid][nColor] = PLAYER_NORMAL_COLOR;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iType] == 7)
- {
- if(ItemCache[i][iActive])
- {
- new pos = strfind(name, ",", true);
- strdel(name, pos, pos+3);
- }
- }
- }
- }
- if(aduty[playerid] != 0)
- {
- pNick[playerid][nColor] = COLOR_WHITE;
- format(name, sizeof(name), "%s %s(%s, %d)", strreplace(PlayerName(playerid), '_', ' '), GetHexRankColor(UserCache[uid][uRank]), GetRankName(UserCache[uid][uRank]), playerid);
- }
- pNick[playerid][nStr] = name;
- UpdateDynamic3DTextLabelText(pNick[playerid][nID], pNick[playerid][nColor], name);
- return 1;
- }
- stock GetHexRankColor(rank)
- {
- new hex[16];
- switch(rank)
- {
- case 1: hex = "{FF00CC}";
- case 2: hex = "{FF00FF}";
- case 3: hex = "{FF0099}";
- case 4: hex = "{660099}";
- case 5: hex = "{6600FF}";
- case 6: hex = "{CC0000}";
- case 7: hex = "{990000}";
- case 8: hex = "{FF0000}";
- }
- return hex;
- }
- stock GetRankName(rank)
- {
- new name[16];
- switch(rank)
- {
- case 1: name = "Supporter";
- case 2: name = "Supporter 2";
- case 3: name = "Supporter 3";
- case 4: name = "GameMaster";
- case 5: name = "SGM";
- case 6: name = "Admin";
- case 7: name = "SAdmin";
- case 8: name = "Programista";
- }
- return name;
- }
- stock GetPlayerStrenghtName(playerid)
- {
- new name[16], uid = pUID[playerid], strenght = UserCache[uid][uStrenght];
- if(UserCache[uid][uSex])
- {
- if(strenght >= 300)
- name = "wysportowana";
- if(strenght >= 600)
- name = "umięśniona";
- if(strenght >= 900)
- name = "muskularna";
- }
- else
- {
- if(strenght >= 300)
- name = "wysportowany";
- if(strenght >= 600)
- name = "umięśniony";
- if(strenght >= 900)
- name = "muskularny";
- }
- return name;
- }
- public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
- {
- if(GetPlayerWeapon(playerid) != 0)
- {
- new bool:ischeater=true;
- for(new i=1;i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 1)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(GetPlayerWeapon(playerid) == ItemCache[i][iVal])
- {
- ischeater=false;
- break;
- }
- }
- }
- }
- }
- if(ischeater == true)
- {
- new str[128]; format(str, sizeof(str), "Weapon Cheat (C) weaponid %d", GetPlayerWeapon(playerid));
- return !KickPlayer(playerid, "System", str);
- }
- }
- return 1;
- }
- forward SetSpawnPos(playerid);
- public SetSpawnPos(playerid)
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid, 838.4644,-1346.0699,7.1787);
- SetPlayerVirtualWorld(playerid, 0);
- DestroyActor(JaneSmith[playerid]);
- DestroyDynamic3DTextLabel(JaneSmithLabel[playerid]);
- DisablePlayerCheckpoint(playerid);
- }
- new restarttime = 10, restartstr[64];
- cmd:gmx (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- format(restartstr, sizeof(restartstr), "~w~restart serwera za:~n~ ~b~~h~%d~w~ sek", restarttime);
- GameTextForAll(restartstr, 1000, 4);
- restarttime--;
- SetTimer("RestartServer", 1000, true);
- return 1;
- }
- forward RestartServer();
- public RestartServer()
- {
- if(restarttime == 0)
- {
- SendRconCommand("gmx");
- return 1;
- }
- format(restartstr, sizeof(restartstr), "~w~restart serwera za:~n~ ~b~~h~%d~w~ sek", restarttime);
- GameTextForAll(restartstr, 1000, 4);
- restarttime--;
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
- {
- if(!pUID[playerid])
- return 0;
- if(UserCache[pUID[playerid]][uRank])
- return 1;
- if(UserCache[pUID[playerid]][uAJ] > 0 && strcmp(cmd, "/w", true) || strcmp(cmd, "/re", true))
- return 1;
- if(!strcmp(cmd, "/krzeslo", true))
- {
- if(UserCache[pUID[playerid]][uTutorial] == 2)
- {
- if(!IsPlayerInRangeOfPoint(playerid,0.5,2.7780,26.6538,1199.5938))
- {
- GameTextForPlayer(playerid, "~r~wejdz w marker", 3000, 4);
- return 1;
- }
- SetPlayerFacingAngle(playerid, 9.086769);
- SetPlayerPos(playerid, 2.6589,26.5511,1199.5938);
- ApplyAnimation(playerid, "ped", "seat_down", 4.1, 0, 0, 0, 1, 0, 0);
- TextDrawForPlayer(playerid, 0, "~b~~h~The tutoriale zjebale~n~~n~Zajebiscie. Ogarnales to. Zeby wstac musisz kliknac ~g~~h~LPM ~w~(lewy przycisk myszki).~n~Szersza liste animacji znajdziesz pod ~y~/anim~w~.");
- PlayerPlaySound(playerid, 1149, 0.0, 0.0, 0.0);
- UserCache[pUID[playerid]][uTutorial]--;
- return 0;
- }
- return !ApplyAnimation(playerid, "int_office", "off_sit_idle_loop", 4.1, 0, 0, 0, 1, 0, 0);
- }
- if(!strcmp(cmd, "/napad", true))
- {
- return !ApplyAnimation(playerid, "shop", "rob_loop", 4.1, 1, 0, 0, 1, 0, 0);
- }
- if(!strcmp(cmd, "/siad", true))
- {
- return !ApplyAnimation(playerid, "beach", "parksit_m_loop", 4.1, 1, 0, 0, 1, 0, 0);
- }
- if(!strcmp(cmd, "/tancz", true))
- {
- return !SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE1);
- }
- if(!strcmp(cmd, "/tancz2", true))
- {
- return !SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE2);
- }
- if(!strcmp(cmd, "/tancz3", true))
- {
- return !SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE3);
- }
- if(!strcmp(cmd, "/tancz4", true))
- {
- return !SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DANCE4);
- }
- if(!pUID[playerid])
- return 0;
- if(UserCache[pUID[playerid]][uAJ])
- return 0;
- return 1;
- }
- stock ShowDialogATM(playerid)
- {
- new str[128]; format(str, sizeof(str), ""HEX_WHITE"Stan konta bankowego:\t"HEX_GREEN"%d$"HEX_WHITE"\n-\n1\tWypłać środki\n2\tWpłać środki", UserCache[pUID[playerid]][uBank]);
- return ShowPlayerDialog(playerid, D_ATM, DIALOG_STYLE_LIST, "Bankomat", str, "Wybierz", "Anuluj");
- }
- stock RPName(playerid)
- {
- new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name));
- for(new i; i<strlen(name); i++)
- {
- if(name[i] == '_')
- {
- name[i] = ' ';
- }
- }
- return name;
- }
- forward TurnOnEngine(vuid);
- public TurnOnEngine(vuid)
- {
- new playerid;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == VehicleCache[vuid][vOwner])
- {
- playerid = i;
- }
- }
- }
- if(VehicleCache[vuid][vHP] <= 300.0)
- {
- VehicleCache[vuid][vTimer] = 0;
- PlayerTextDrawSetString(playerid, VehicleInfo[playerid], "~b~~h~~h~~h~LCTRL ~w~by uruchomic silnik~n~~b~~h~~h~~h~LPM ~w~by zapalic swiatla");
- PlayerTextDrawShow(playerid, VehicleInfo[playerid]);
- new msg[128]; format(msg, sizeof(msg), "* %s próbuje uruchomić silnik w %s, ale stan techniczny pojazdu na to nie pozwala. *", RPName(playerid), GetVehicleName(GetVehicleModel(GetPlayerVehicleID(playerid))));
- ShowDialogInfo(playerid, "Stan techniczny pojazdu jest w kiepskim stanie.\nSkorzystaj z zestawu naprawczego by naprawić pojazd lub wezwij holownik.");
- return SendPlayerMessageInRange(playerid, msg, DO_SHADE_1, DO_SHADE_2, DO_SHADE_3, DO_SHADE_4, DO_SHADE_5, DO_SHADE_6);
- }
- if(VehicleCache[vuid][vFuel] == 0)
- {
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == VehicleCache[vuid][vOwner])
- {
- VehicleCache[vuid][vTimer] = 0;
- PlayerTextDrawSetString(playerid, VehicleInfo[playerid], "~b~~h~~h~~h~LCTRL ~w~by uruchomic silnik~n~~b~~h~~h~~h~LPM ~w~by zapalic swiatla");
- PlayerTextDrawShow(playerid, VehicleInfo[playerid]);
- return TextDrawForPlayerEx(i, 1, "W pojezdzie skonczylo sie paliwo.", 3000);
- }
- }
- }
- }
- SetVehicleParamsEx(VehicleCache[vuid][vID], VehicleCache[vuid][vEngine]=1, VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet],VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- VehicleCache[vuid][vTimer] = 0;
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_ACTION)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid);
- if(GetVehicleModel(vid) == 481 || GetVehicleModel(vid) == 509 || GetVehicleModel(vid) == 510)
- return 1;
- if(pUID[playerid] != VehicleCache[vuid][vOwner])
- return TextDrawForPlayerEx(playerid, 1, "Nie posiadasz kluczy do tego pojazdu.", 1500);
- if(VehicleCache[vuid][vEngine])
- {
- PlayerTextDrawSetString(playerid, VehicleInfo[playerid], "~b~~h~~h~~h~LCTRL ~w~by uruchomic silnik~n~~b~~h~~h~~h~LPM ~w~by zapalic swiatla");
- PlayerTextDrawShow(playerid, VehicleInfo[playerid]);
- SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine]=0, VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet],VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- return SendPlayerMe(playerid, "przekręca kluczyk w stacyjce gasi silnik.");
- }
- else if(VehicleCache[vuid][vTimer] == 0)
- {
- VehicleCache[vuid][vTimer] = SetTimerEx("TurnOnEngine", 3000, false, "i", vuid);
- PlayerTextDrawSetString(playerid, VehicleInfo[playerid], "~y~Trwa uruchamianie silnika..");
- PlayerTextDrawShow(playerid, VehicleInfo[playerid]);
- return SendPlayerMe(playerid, "przekręca kluczyk w stacyjce i zapala.");
- }
- }
- return 1;
- }
- if(newkeys & KEY_YES)
- {
- if(GetPlayerCameraTargetVehicle(playerid) != INVALID_VEHICLE_ID)
- {
- new vuid = GetVehicleUID(GetPlayerCameraTargetVehicle(playerid));
- new Float:vX, Float:vY, Float:vZ;
- GetVehiclePos(GetPlayerCameraTargetVehicle(playerid), vX, vY, vZ);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, vX, vY, vZ))
- {
- if(VehicleCache[vuid][vOwner] == pUID[playerid])
- {
- ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0);
- if(VehicleCache[vuid][vOpen])
- {
- SendPlayerMe(playerid, "zamyka pojazd.");
- VehicleCache[vuid][vOpen]=0;
- return TextDrawForPlayerEx(playerid, 1, "Pojazd ~r~zamkniety.", 3000);
- }
- else
- {
- SendPlayerMe(playerid, "otwiera pojazd.");
- VehicleCache[vuid][vOpen]=1;
- return TextDrawForPlayerEx(playerid, 1, "Pojazd ~g~otwarty.", 3000);
- }
- }
- return TextDrawForPlayerEx(playerid, 1, "~r~~h~Nie posiadasz kluczykow do tego pojazdu.", 3000);
- }
- return 1;
- }
- if(IsPlayerInAnyVehicle(playerid))
- {
- if(GetPlayerVehicleSeat(playerid) == 0)
- {
- new vid = GetPlayerVehicleID(playerid);
- new vuid = GetVehicleUID(vid);
- if(GetVehicleModel(vid) == 525)
- {
- if(VehicleCache[vuid][vEngine])
- {
- if(IsTrailerAttachedToVehicle(vid))
- {
- new trailerid = GetVehicleTrailer(vid);
- new traileruid = GetVehicleUID(trailerid);
- GetVehiclePos(trailerid, VehicleCache[traileruid][vPosX], VehicleCache[traileruid][vPosY], VehicleCache[traileruid][vPosZ]);
- GetVehicleZAngle(trailerid, VehicleCache[traileruid][vAngle]);
- VehicleCache[traileruid][vVW] = GetVehicleVirtualWorld(trailerid);
- DetachTrailerFromVehicle(vid);
- new str[128];
- format(str, sizeof(str), "Odholowano pojazd marki ~b~~h~~h~~h~%s~w~.", GetVehicleName(GetVehicleModel(trailerid)));
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- return 1;
- }
- new str[128];
- new targetvid = GetPlayerCameraTargetVehicle(playerid);
- if(targetvid == INVALID_VEHICLE_ID)
- return TextDrawForPlayerEx(playerid, 1, "Skieruj kamere na ~b~~h~~h~~h~pojazd~w~ aby go zaczepic.", 3000);
- new Float:X, Float:Y, Float:Z;
- GetVehiclePos(targetvid, X, Y, Z);
- if(!IsPlayerInRangeOfPoint(playerid, 7.5, X, Y, Z))
- return TextDrawForPlayerEx(playerid, 1, "Ten pojazd jest zbyt daleko! Podjedz blizej.", 5000);
- new targetvuid = GetVehicleUID(targetvid);
- if(VehicleCache[targetvuid][vEngine])
- return TextDrawForPlayerEx(playerid, 1, "Silnik w pojezdzie, ktory chcesz odholowac jest ~y~zapalony~w~.", 3000);
- AttachTrailerToVehicle(targetvid, vid);
- format(str, sizeof(str), "Zaczepiono pojazd marki ~b~~h~~h~~h~%s~w~.", GetVehicleName(GetVehicleModel(VehicleCache[targetvuid][vID])));
- return TextDrawForPlayerEx(playerid, 1, str, 3000);
- }
- return ShowDialogInfo(playerid, "Włącz silnik.");
- }
- }
- }
- if(GetPlayerCameraTargetDynActor(playerid) != 0)
- {
- new auid = GetActorUID(GetPlayerCameraTargetDynActor(playerid));
- if(IsPlayerInRangeOfPoint(playerid, 3.0, ActorCache[auid][aPosX], ActorCache[auid][aPosY], ActorCache[auid][aPosZ]))
- {
- new msg[825];
- if(ActorCache[auid][aType] == 1)
- {
- format(msg, sizeof(msg), "%s mówi: Witam, w czym mogę pomóc?", strreplace(ActorCache[auid][aName], '_', ' '));
- ShowPlayerDialog(playerid, D_GOVERMENT, DIALOG_STYLE_LIST, "Urząd", "1\tWyrób dowód osobisty"HEX_WHITE"\n2\tWyrób prawo jazdy\n3\tZakup rejestrację pojazdu", "Wybierz", "Anuluj");
- }
- else if(ActorCache[auid][aType] == 2)
- {
- format(msg, sizeof(msg), "%s mówi: Witam, w czym mogę pomóc?", strreplace(ActorCache[auid][aName], '_', ' '));
- ShowPlayerDialog(playerid, D_BANK, DIALOG_STYLE_LIST, "Bank", "1\tOtwórz konto bankowe", "Wybierz", "Anuluj");
- }
- else if(ActorCache[auid][aType] == 3)
- return ShowPlayerDialog(playerid, D_MEDIC, DIALOG_STYLE_LIST, "Lekarz", ""HEX_GREEN"$50"HEX_WHITE"\tZakup lek", "Wybierz", "Anuluj");
- else
- {
- new rand = random(3);
- switch(rand)
- {
- case 0: format(msg, sizeof(msg), "%s mówi: Mądra osoba rzekła kiedyś.. 'Nie warto być tak dobrym dla drugiego człowieka bo ta osoba później zaczyna oczekiwać zbyt wiele i każde uchylenie nastroju czy niepoprawny występek jest jak nóż wbity w plecy samemu sobie.'", strreplace(ActorCache[auid][aName], '_', ' '));
- case 1: format(msg, sizeof(msg), "%s mówi: Los Santos to dość duże miasto, zawsze wiele się dzieje.", strreplace(ActorCache[auid][aName], '_', ' '));
- case 2: format(msg, sizeof(msg), "%s mówi: Mam znajomego, który interesuje się programowaniem czy coś.. ma nawet swój własny serwer pomocniczy dla graczy. Nie lubię go.", strreplace(ActorCache[auid][aName], '_', ' '));
- }
- }
- if(strlen(msg) >= 100)
- {
- new temp1[825], temp2[825];
- temp1 = msg, temp2=msg;
- strdel(temp1, 100, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 100);
- strins(temp2, "...", 0);
- SendClientMessage(playerid, CHAT_SHADE_2, temp1);
- return SendClientMessage(playerid, CHAT_SHADE_2, temp2);
- }
- return SendClientMessage(playerid, CHAT_SHADE_2, msg);
- }
- }
- new objectid = GetPlayerCameraTargetDynObject(playerid);
- new objuid = GetObjectUID(objectid);
- if(ObjectCache[objuid][oModel] == 19324 || ObjectCache[objuid][oModel] == 2942 || ObjectCache[objuid][oModel] == 2754)
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, ObjectCache[objuid][oX], ObjectCache[objuid][oY], ObjectCache[objuid][oZ]))
- {
- if(!UserCache[pUID[playerid]][uBankAccount])
- return ShowDialogInfo(playerid, "Nie posiadasz konta bankowego, udaj się do banku by utworzyć konto!");
- ApplyAnimation(playerid, "dealer", "shop_pay", 4.1, 0, 0, 0, 0, 0, 0);
- SendPlayerMe(playerid, "korzysta z bankomatu.");
- return ShowDialogATM(playerid);
- }
- }
- if(ObjectCache[objuid][oGate])
- {
- new Float:ox, Float:oy, Float:oz, Float:rx, Float:ry, Float:rz;
- if(IsDynamicObjectMoving(objectid))
- return TextDrawForPlayerEx(playerid, 1, "Brama aktualnie sie porusza!", 3000);
- GetDynamicObjectPos(objectid, ox, oy, oz);
- GetDynamicObjectRot(objectid, rx, ry, rz);
- if(ox == ObjectCache[objuid][oX]+ObjectCache[objuid][oGateX] && oy == ObjectCache[objuid][oY]+ObjectCache[objuid][oGateY] && oz ==ObjectCache[objuid][oZ]+ObjectCache[objuid][oGateZ] && rx == ObjectCache[objuid][orX]+ObjectCache[objuid][oGaterX] && ry == ObjectCache[objuid][orY]+ObjectCache[objuid][oGaterY] && rz == ObjectCache[objuid][orZ]+ObjectCache[objuid][oGaterZ])
- {
- TextDrawForPlayerEx(playerid, 1, "Brama ~r~~h~zamknieta~w~.", 3000);
- return MoveDynamicObject(objectid,ObjectCache[objuid][oX], ObjectCache[objuid][oY], ObjectCache[objuid][oZ], 4.1, ObjectCache[objuid][orX], ObjectCache[objuid][orY], ObjectCache[objuid][orZ]);
- }
- MoveDynamicObject(objectid,ObjectCache[objuid][oX]+ObjectCache[objuid][oGateX], ObjectCache[objuid][oY]+ObjectCache[objuid][oGateY], ObjectCache[objuid][oZ]+ObjectCache[objuid][oGateZ], 4.1, ObjectCache[objuid][orX]+ObjectCache[objuid][oGaterX], ObjectCache[objuid][orY]+ObjectCache[objuid][oGaterY], ObjectCache[objuid][orZ]+ObjectCache[objuid][oGaterZ]);
- return TextDrawForPlayerEx(playerid, 1, "Brama ~g~~h~otwarta.~w~.", 3000);
- }
- }
- if(newkeys & KEY_FIRE)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid);
- if(GetPlayerVehicleSeat(playerid) != 0)
- return 1;
- if(VehicleCache[vuid][vLights])
- return SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights]=0, VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet], VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- return SetVehicleParamsEx(vid, VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights]=1, VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet], VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- }
- new lib[32], name[32], index;
- index = GetPlayerAnimationIndex(playerid);
- GetAnimationName(index, lib, sizeof(lib), name, sizeof(name));
- if(!strcmp(lib, "int_office", true) || !strcmp(name, "parksit_m_loop", true) || !strcmp(name, "rob_loop", true))
- {
- return ClearAnimations(playerid);
- }
- if(GetPlayerObjectID(playerid))
- {
- if(!strcmp(name, "gnstwall_injurd", true))
- return ClearAnimations(playerid);
- return ApplyAnimation(playerid, "swat", "gnstwall_injurd", 4.1, 0, 0, 0, 1, 0, 0);
- }
- return 1;
- }
- if(newkeys & KEY_WALK && newkeys & KEY_SPRINT)
- {
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- if(vw == DoorCache[i][dOutVW])
- {
- if(!DoorCache[i][dOpen])
- {
- SendPlayerMe(playerid, "pociąga za klamkę od drzwi.");
- TextDrawForPlayerEx(playerid, 1, "~r~Te drzwi sa zamkniete.", 3000);
- return 1;
- }
- if(DoorCache[i][dEnterCost] > 0)
- {
- if(UserCache[pUID[playerid]][uCash] < DoorCache[i][dEnterCost])
- return TextDrawForPlayerEx(playerid, 1, "~r~~h~Brak gotowki na przejscie.", 3000);
- UserCache[pUID[playerid]][uCash] -= DoorCache[i][dEnterCost];
- GivePlayerMoney(playerid, -DoorCache[i][dEnterCost]);
- GroupCache[DoorCache[i][dGroupUID]][gBank] += DoorCache[i][dEnterCost];
- }
- if(pChangeInterior[playerid])
- return TextDrawForPlayerEx(playerid, 1, "Odczekaj chwile przed kolejnym przejsciem.", 3000);
- pChangeInterior[playerid] = true;
- SetTimerEx("DisableInterior", 3000, false, "i", playerid);
- if(UserCache[pUID[playerid]][uFreeze])
- Freeze(playerid, 3000);
- else if(!UserCache[pUID[playerid]][uFreeze] && GetPlayerSpeed(playerid))
- TextDrawForPlayerEx(playerid, 1, "Przechodzac przez interior spadasz pod mape? Przejdz do: ~y~/stats -> ustawienia postaci~w~ i ~n~Przelacz ~g~~h~freeze~w~ przy przejsciu przez drzwi.", 10000);
- SetPlayerVirtualWorld(playerid, DoorCache[i][dInsVW]);
- SetPlayerPos(playerid, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]);
- Streamer_Update(playerid);
- if(!Isnull(DoorCache[i][dUrl]))
- PlayAudioStreamForPlayer(playerid, DoorCache[i][dUrl]);
- PlayerTextDrawHide(playerid, TextDrawDoorInfo[playerid]);
- if(GroupCache[DoorCache[i][dGroupUID]][gType] == 7)
- TextDrawForPlayerEx(playerid, 1, "Znajdujesz sie w sklepie calodobowym.~n~Uzyj ~g~~h~/kup~w~ by wyswietlic liste wszystkich przedmiotow do kupienia.", 75000);
- return 1;
- }
- }
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]))
- {
- if(vw == DoorCache[i][dInsVW])
- {
- if(!DoorCache[i][dOpen])
- {
- SendPlayerMe(playerid, "pociąga za klamkę od drzwi");
- TextDrawForPlayerEx(playerid, 1, "~r~Te drzwi sa zamkniete.", 3000);
- return 1;
- }
- if(pChangeInterior[playerid])
- return TextDrawForPlayerEx(playerid, 1, "Odczekaj chwile przed kolejnym przejsciem.", 3000);
- pChangeInterior[playerid] = true;
- SetTimerEx("DisableInterior", 3000, false, "i", playerid);
- if(UserCache[pUID[playerid]][uFreeze])
- Freeze(playerid, 3000);
- SetPlayerVirtualWorld(playerid, DoorCache[i][dOutVW]);
- SetPlayerPos(playerid, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]);
- StopAudioStreamForPlayer(playerid);
- Streamer_Update(playerid);
- return 1;
- }
- }
- }
- }
- }
- return 1;
- }
- forward DisableInterior(playerid);
- public DisableInterior(playerid)
- {
- pChangeInterior[playerid] = false;
- }
- stock Freeze(playerid, time)
- {TogglePlayerControllable(playerid, 0); SetTimerEx("Unfreeze", time, false, "i", playerid);}
- forward Unfreeze(playerid);
- public Unfreeze(playerid)
- TogglePlayerControllable(playerid, 1);
- stock IsPosInRangeOfPos(Float:PosX, Float:PosY, Float:PosZ, Float:TargetX, Float:TargetY, Float:TargetZ, Float:range)
- {
- if(PosX >= TargetX-range && PosX <= TargetX+range || PosY >= TargetY-range && PosY <= TargetY+range || PosZ >= TargetZ-range && PosZ <= TargetZ+range)
- return 1;
- return 0;
- }
- public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
- {
- printf("[UID: %d] [CMD: %s %s] [PLAYER: %s ID: %d]", pUID[playerid], cmd, params, PlayerName(playerid), playerid);
- if(result==-1)
- return PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
- return 1;
- }
- forward ChooseSkin(playerid);
- public ChooseSkin(playerid)
- {
- new ud, lr, keys;
- GetPlayerKeys(playerid, keys, ud, lr);
- if(lr == KEY_LEFT)
- {
- PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
- if(UserCache[pUID[playerid]][uSex])
- {
- SetPrevFemaleSkin(playerid);
- }
- else
- {
- SetPrevMaleSkin(playerid);
- }
- }
- else if(lr == KEY_RIGHT)
- {
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- if(UserCache[pUID[playerid]][uSex])
- {
- SetNextFemaleSkin(playerid);
- }
- else
- {
- SetNextMaleSkin(playerid);
- }
- }
- else if(keys & KEY_WALK)
- {
- ChooseSkinTimer[playerid] = KillTimer(ChooseSkinTimer[playerid]);
- UserCache[pUID[playerid]][uSkin] = GetPlayerSkin(playerid);
- TogglePlayerControllable(playerid, 1);
- SetCameraBehindPlayer(playerid);
- UserCache[pUID[playerid]][uTutorial] = 1;
- SetPlayerPos(playerid, -199.4787,1223.2294,19.7113);
- SetPlayerVirtualWorld(playerid, 0);
- ShowDialogInfo(playerid, ""HEX_BLUE"Witamy na Projekt Roleplay!\n\n"HEX_WHITE"Stworzyłeś/aś właśnie nową postać, słowami wstępu:\n\nUdaj się do "HEX_BLUE"urzędu"HEX_WHITE" miasta by wyrobić dokumenty osobiste, następnie do "HEX_GREEN"banku"HEX_WHITE",\nw celu wyrobienia karty kredytowej.\nKiedy już to wszystko zrobisz, poszukaj zatrudnienia w jakimś biznesie. Popytaj ludzi o pracę.\n\nJeśli dalej potrzebujesz pomocy - skorzystaj z komendy /pomoc. Miłej gry!");
- UserCache[pUID[playerid]][uTutorial] = 0;
- PlayerTextDrawHide(playerid, BottomTextDraw[playerid]);
- }
- }
- stock SetNextMaleSkin(playerid)
- {
- for(new i=GetPlayerSkin(playerid)+1; i < LAST_MALE_SKIN; i++)
- {
- if(i == LAST_MALE_SKIN)
- {
- SetPlayerSkin(playerid, FIRST_MALE_SKIN);
- break;
- }
- if(i ==18 || i == 17 || i == 19 || i == 20 || i == 21 || i == 23 || i == 240 || i == 250 || i == LAST_MALE_SKIN)
- {
- SetPlayerSkin(playerid, i);
- break;
- }
- }
- }
- stock SetNextFemaleSkin(playerid)
- {
- for(new i=GetPlayerSkin(playerid)+1; i < LAST_FEMALE_SKIN; i++)
- {
- if(i == LAST_FEMALE_SKIN)
- {
- SetPlayerSkin(playerid, FIRST_FEMALE_SKIN);
- break;
- }
- if(i ==12 || i == 40 || i == 41 || i == 56 || i == 63 || i == 69 || i == 75 || i == 76 || i == LAST_FEMALE_SKIN)
- {
- SetPlayerSkin(playerid, i);
- break;
- }
- }
- }
- stock SetPrevMaleSkin(playerid)
- {
- for(new i=GetPlayerSkin(playerid)-1; i > FIRST_MALE_SKIN; i--)
- {
- if(i == FIRST_MALE_SKIN)
- {
- SetPlayerSkin(playerid, LAST_MALE_SKIN);
- break;
- }
- if(i ==18 || i == 17 || i == 19 || i == 20 || i == 21 || i == 23 || i == 240 || i == 250 || i == FIRST_MALE_SKIN)
- {
- SetPlayerSkin(playerid, i);
- break;
- }
- }
- }
- stock SetPrevFemaleSkin(playerid)
- {
- for(new i=GetPlayerSkin(playerid)-1; i < FIRST_FEMALE_SKIN; i--)
- {
- if(i == FIRST_FEMALE_SKIN)
- {
- SetPlayerSkin(playerid, LAST_FEMALE_SKIN);
- break;
- }
- if(i ==12 || i == 40 || i == 41 || i == 56 || i == 63 || i == 69 || i == 75 || i == 76 || i == LAST_FEMALE_SKIN)
- {
- SetPlayerSkin(playerid, i);
- break;
- }
- }
- }
- public OnPlayerSpawn(playerid)
- {
- if(!pUID[playerid])
- return Kick(playerid);
- SetPlayerHealth(playerid, UserCache[pUID[playerid]][uHealth]);
- ResetPlayerMoney(playerid); GivePlayerMoney(playerid, UserCache[pUID[playerid]][uCash]);
- if(UserCache[pUID[playerid]][uBW] > 0)
- {
- SetPlayerHP(playerid, 1);
- UpdatePlayerName(playerid);
- }
- return 1;
- }
- stock LookForEmoji(str[])
- {
- new msg[258]; format(msg, sizeof(msg), str);
- new pos;
- while(strfind(msg, ":d", true) != -1)
- {
- pos = strfind(msg, ":d", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*śmieje się*",pos);
- }
- while(strfind(msg, ":)", true) != -1)
- {
- pos = strfind(msg, ":)", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*uśmiecha się*",pos);
- }
- while(strfind(msg, ":(", true) != -1)
- {
- pos = strfind(msg, ":(", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*smuci się*",pos);
- }
- while(strfind(msg, ";(", true) != -1)
- {
- pos = strfind(msg, ";(", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*smuci się*",pos);
- }
- while(strfind(msg, ":p", true) != -1)
- {
- pos = strfind(msg, ":p", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*wystawia język*",pos);
- }
- while(strfind(msg, ":o", true) != -1)
- {
- pos = strfind(msg, ":o", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*robi zaskoczoną minę*",pos);
- }
- while(strfind(msg, "lel", true) != -1)
- {
- pos = strfind(msg, "lel", true);
- strdel(msg, pos, pos+3);
- strins(msg, "*wybucha śmiechem*",pos);
- }
- while(strfind(msg, "lol", true) != -1)
- {
- pos = strfind(msg, "lol", true);
- strdel(msg, pos, pos+3);
- strins(msg, "*wybucha śmiechem*",pos);
- }
- while(strfind(msg, ":d", true) != -1)
- {
- pos = strfind(msg, ":d", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*śmieje się*",pos);
- }
- while(strfind(msg, "xd", true) != -1)
- {
- pos = strfind(msg, "xd", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*śmieje się*",pos);
- }
- while(strfind(msg, ":/", true) != -1)
- {
- pos = strfind(msg, ":/", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*krzywi się*",pos);
- }
- while(strfind(msg, ":*", true) != -1)
- {
- pos = strfind(msg, ":*", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*posyła całusa*",pos);
- }
- while(strfind(msg, ":>", true) != -1)
- {
- pos = strfind(msg, ":>", true);
- strdel(msg, pos, pos+2);
- strins(msg, "*mróży oczy*",pos);
- }
- return msg;
- }
- stock SendFormattedMessage(playerid, message[], hexme[], hexnormal[], color)
- {
- new msg[500]; format(msg, sizeof(msg), message);
- new me[32]; format(me, sizeof(me), "%s*", hexme);
- new norm[32]; format(norm, sizeof(norm), "*%s", hexnormal);
- new bool:look;
- if(strlen(msg) >= 100)
- {
- new temp1[500], temp2[500];
- temp1 = msg; temp2 = msg;
- strdel(temp1, 100, strlen(temp1));
- strdel(temp2, 0, 100);
- strins(temp1, "...", strlen(temp1));
- strins(temp2, "...", 0);
- format(temp1, sizeof(temp1), LookForEmoji(temp1));
- format(temp2, sizeof(temp2), LookForEmoji(temp2));
- for(new i=0; i<=strlen(temp1); i++)
- {
- if(look == true)
- {
- if(temp1[i] == '*')
- {
- strdel(temp1, i, i+1);
- strins(temp1, norm, i);
- look = false;
- continue;
- }
- }
- if(temp1[i] == '*')
- {
- strdel(temp1, i, i+1);
- strins(temp1, me, i);
- i=i+8;
- look = true;
- }
- }
- for(new i=0; i<=strlen(temp2); i++)
- {
- if(look == true)
- {
- if(temp2[i] == '*')
- {
- strdel(temp2, i, i+1);
- strins(temp2, norm, i);
- look = false;
- continue;
- }
- }
- if(temp2[i] == '*')
- {
- strdel(temp2, i, i+1);
- strins(temp2, me, i);
- i=i+8;
- look = true;
- }
- }
- new pos2;
- for(new i=strlen(temp1); i>=0; i--)
- {
- if(temp1[i] == '*')
- {
- pos2 = i;
- break;
- }
- }
- if(pos2 != 0)
- {
- strins(temp1, hexme, pos2);
- strins(temp2, hexme, 0);
- }
- SendClientMessage(playerid, color, temp1);
- SendClientMessage(playerid, color, temp2);
- return 1;
- }
- format(msg, sizeof(msg), LookForEmoji(msg));
- for(new i=0; i<=strlen(msg); i++)
- {
- if(look == true)
- {
- if(msg[i] == '*')
- {
- strdel(msg, i, i+1);
- strins(msg, norm, i);
- look = false;
- continue;
- }
- }
- if(msg[i] == '*')
- {
- strdel(msg, i, i+1);
- strins(msg, me, i);
- i=i+8;
- look = true;
- }
- }
- return SendClientMessage(playerid, color, msg);
- }
- public OnPlayerText(playerid, text[])
- {
- if(UserCache[pUID[playerid]][uAJ] || !pUID[playerid])
- return 0;
- PlayerTick[playerid] = GetTickCount();
- if(GetTickCount()/1000 + 2000 >= PlayerTick[playerid])
- {
- new msg[128];
- format(msg, sizeof(msg), "Poczekaj %ds.", GetTickCount()/1000-PlayerTick[playerid]/1000);
- return !SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- if(ac[playerid])
- {
- new msg[256];
- format(msg, sizeof(msg), "(( %s: %s ))", PlayerName(playerid), text);
- for(new i=0; i<=GetPlayerPoolSize();i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(UserCache[pUID[i]][uRank] >= ADMINISTRATION)
- {
- SendClientMessage(i, COLOR_DARKRED, msg);
- }
- }
- }
- }
- return 0;
- }
- if(UserCache[pUID[playerid]][uBW])
- return !SendClientMessage(playerid, COLOR_GRAY, "Nie możesz nic mówić podczas BW.");
- if(text[0] == ':' && text[1] == 'd' || text[1] == 'D' && text[0] == ':')
- return !SendPlayerMe(playerid, "śmieje się.");
- if(text[0] == 'x' && text[1] == 'd' || text[1] == 'D' && text[0] == 'X')
- return !SendPlayerMe(playerid, "śmieje się.");
- if(text[0] == ':' && text[1] == ')')
- return !SendPlayerMe(playerid, "uśmiecha się.");
- if(text[0] == ':' && text[1] == '(')
- return !SendPlayerMe(playerid, "smuci się.");
- if(text[0] == ':' && text[1] == 'p')
- return !SendPlayerMe(playerid, "wystawia język.");
- if(text[0] == ':' && text[1] == 'P')
- return !SendPlayerMe(playerid, "wystawia język.");
- if(text[0] == ':' && text[1] == '>')
- return !SendPlayerMe(playerid, "mróży oczy.");
- if(text[0] == ':' && text[1] == '/')
- return !SendPlayerMe(playerid, "krzywi się.");
- if(text[0] == ':' && text[1] == 'o')
- return !SendPlayerMe(playerid, "robi zaskoczoną minę");
- if(text[0] == ':' && text[1] == 'O')
- return !SendPlayerMe(playerid, "robi zaskoczoną minę");
- if(text[0] == '@')
- {
- new slot;
- if(strfind(text, "1", true) != -1)
- {
- slot =1;
- }
- else if(strfind(text, "2", true) != -1)
- {
- slot =2;
- }
- else if(strfind(text, "3", true) != -1)
- {
- slot =3;
- }
- switch(slot)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uGroup] == 0)
- {
- return !SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie masz żadnej grupy.");
- }
- else if(GroupCache[UserCache[pUID[playerid]][uGroup]][gChatOOC] == false)
- return !SendClientMessage(playerid, COLOR_GRAY, "Czat OOC tej grupy jest wyłaczony.");
- new temp[16]; format(temp, sizeof(temp), "%d", slot);
- new playermsg[128]; format(playermsg, sizeof(playermsg), text);
- strdel(playermsg, 0, strfind(playermsg,temp,true)+1);
- new groupuid = UserCache[pUID[playerid]][uGroup];
- new msg[128]; format(msg, sizeof(msg), "{%s}(( %s, %s: %s ))",GroupCache[groupuid][gColor], GroupCache[groupuid][gName], strreplace(PlayerName(playerid), '_', ' '), playermsg);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(UserCache[pUID[i]][uGroup] == groupuid || UserCache[pUID[i]][uGroup2] == groupuid || UserCache[pUID[i]][uGroup3] == groupuid)
- {
- SendClientMessage(i, -1, msg);
- }
- }
- }
- }
- return 0;
- }
- case 2:
- {
- if(UserCache[pUID[playerid]][uGroup2] == 0)
- {
- return !SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie masz żadnej grupy.");
- }
- else if(GroupCache[UserCache[pUID[playerid]][uGroup2]][gChatOOC] == false)
- return !SendClientMessage(playerid, COLOR_GRAY, "Czat OOC tej grupy jest wyłaczony.");
- new temp[16]; format(temp, sizeof(temp), "%d", slot);
- new playermsg[128]; format(playermsg, sizeof(playermsg), text);
- strdel(playermsg, 0, strfind(playermsg,temp,true)+1);
- new groupuid = UserCache[pUID[playerid]][uGroup2];
- new msg[128]; format(msg, sizeof(msg), "{%s}(( %s, %s: %s ))",GroupCache[groupuid][gColor], GroupCache[groupuid][gName], strreplace(PlayerName(playerid), '_', ' '), playermsg);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(UserCache[pUID[i]][uGroup] == groupuid || UserCache[pUID[i]][uGroup2] == groupuid || UserCache[pUID[i]][uGroup3] == groupuid)
- {
- SendClientMessage(i, -1, msg);
- }
- }
- }
- }
- return 0;
- }
- case 3:
- {
- if(UserCache[pUID[playerid]][uGroup3] == 0)
- {
- return !SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie masz żadnej grupy.");
- }
- else if(GroupCache[UserCache[pUID[playerid]][uGroup3]][gChatOOC] == false)
- return !SendClientMessage(playerid, COLOR_GRAY, "Czat OOC tej grupy jest wyłaczony.");
- new temp[16]; format(temp, sizeof(temp), "%d", slot);
- new playermsg[128]; format(playermsg, sizeof(playermsg), text);
- strdel(playermsg, 0, strfind(playermsg,temp,true)+1);
- new groupuid = UserCache[pUID[playerid]][uGroup3];
- new msg[128]; format(msg, sizeof(msg), "{%s}(( %s, %s:%s ))",GroupCache[groupuid][gColor], GroupCache[groupuid][gName], strreplace(PlayerName(playerid), '_', ' '), playermsg);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(UserCache[pUID[i]][uGroup] == groupuid || UserCache[pUID[i]][uGroup2] == groupuid || UserCache[pUID[i]][uGroup3] == groupuid)
- {
- SendClientMessage(i, -1, msg);
- }
- }
- }
- }
- return 0;
- }
- default:
- {
- SendClientMessage(playerid, COLOR_GRAY, "Nieprawidłowy slot grupy.");
- return 0;
- }
- }
- return 0;
- }
- if(text[0] == '!')
- {
- new slot;
- if(strfind(text, "1", true) != -1)
- {
- slot =1;
- }
- else if(strfind(text, "2", true) != -1)
- {
- slot =2;
- }
- else if(strfind(text, "3", true) != -1)
- {
- slot =3;
- }
- new groupuid;
- switch(slot)
- {
- case 1:
- {
- if(UserCache[pUID[playerid]][uGroup] == 0)
- {
- return !SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie masz żadnej grupy.");
- }
- else if(GroupCache[UserCache[pUID[playerid]][uGroup]][gChatIC] == false)
- return !SendClientMessage(playerid, COLOR_GRAY, "Czat IC tej grupy jest wyłaczony.");
- groupuid = UserCache[pUID[playerid]][uGroup];
- }
- case 2:
- {
- if(UserCache[pUID[playerid]][uGroup2] == 0)
- {
- return !SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie masz żadnej grupy.");
- }
- else if(GroupCache[UserCache[pUID[playerid]][uGroup2]][gChatIC] == false)
- return !SendClientMessage(playerid, COLOR_GRAY, "Czat IC tej grupy jest wyłaczony.");
- groupuid = UserCache[pUID[playerid]][uGroup2];
- }
- case 3:
- {
- if(UserCache[pUID[playerid]][uGroup3] == 0)
- {
- return !SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie masz żadnej grupy.");
- }
- else if(GroupCache[UserCache[pUID[playerid]][uGroup3]][gChatIC] == false)
- return !SendClientMessage(playerid, COLOR_GRAY, "Czat IC tej grupy jest wyłaczony.");
- groupuid = UserCache[pUID[playerid]][uGroup3];
- }
- default: return !SendClientMessage(playerid, COLOR_GRAY, "Nieprawidłowy slot grupy.");
- }
- new temp[16]; format(temp, sizeof(temp), "%d", slot);
- new playermsg[128]; format(playermsg, sizeof(playermsg), text);
- strdel(playermsg, 0, strfind(playermsg,temp,true)+1);
- new msg[128]; format(msg, sizeof(msg), "{%s}!%s, %s"HEX_WHITE":%s", GroupCache[groupuid][gColor], GroupCache[groupuid][gName], strreplace(PlayerName(playerid), '_', ' '), playermsg);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(UserCache[pUID[i]][uGroup] == groupuid || UserCache[pUID[i]][uGroup2] == groupuid || UserCache[pUID[i]][uGroup3] == groupuid)
- {
- SendClientMessage(i, -1, msg);
- }
- }
- }
- }
- format(msg, sizeof(msg), "(słuchawka) %s mówi: %s", strreplace(PlayerName(playerid), '_', ' '), playermsg);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i=0; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(UserCache[pUID[i]][uGroup] == groupuid || UserCache[pUID[i]][uGroup2] == groupuid || UserCache[pUID[i]][uGroup3] == groupuid)
- {
- continue;
- }
- if(IsPlayerInRangeOfPoint(i, 2.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_1, "Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{B992C3}", "{EEEEEE}", CHAT_SHADE_1);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_2, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{AC79A7}", "{C8C8C8}", CHAT_SHADE_2);
- }
- else if(IsPlayerInRangeOfPoint(i, 6.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_3, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{AC7998}", "{B4B4B4}", CHAT_SHADE_3);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_4, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{AC6798}", "{8C8C8C}", CHAT_SHADE_4);
- }
- else if(IsPlayerInRangeOfPoint(i, 10.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_5, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{976798}", "{787878}", CHAT_SHADE_5);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_6, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{936583}", "{505050}", CHAT_SHADE_6);
- }
- }
- }
- }
- return 0;
- }
- if(text[0] == '.' && text[1] != ' ')
- {
- new finalmsg[256], playermsg[128];
- format(playermsg, sizeof(playermsg), text);
- strdel(playermsg, 0, 1);
- format(finalmsg, sizeof(finalmsg), "(( %s ))", playermsg);
- SetPlayerChatBubble(playerid, finalmsg, COLOR_WHITE, 12.0, 5000);
- if(!UserCache[pUID[playerid]][uOOC])
- {
- format(finalmsg, sizeof(finalmsg), "(( Wysłano OOC: %s ))", playermsg);
- SendClientMessage(playerid, COLOR_WHITE, finalmsg);
- }
- format(finalmsg, sizeof(finalmsg), "(( [%d] %s: %s ))", playerid, RPName(playerid), playermsg);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(UserCache[pUID[i]][uOOC])
- {
- if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
- SendClientMessage(i, COLOR_WHITE, finalmsg);
- }
- }
- }
- return 0;
- }
- if(aduty[playerid] != 0)
- {
- new msg[128];
- format(msg, sizeof(msg), "%s%s"HEX_WHITE": %s",GetHexRankColor(UserCache[pUID[playerid]][uRank]), PlayerName(playerid), text);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i=0; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 1.0, X, Y, Z))
- {
- SendFormattedMessage(i, msg, "{B992C3}", "{EEEEEE}", CHAT_SHADE_1);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- SendFormattedMessage(i, msg, "{AC79A7}", "{C8C8C8}", CHAT_SHADE_2);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- SendFormattedMessage(i, msg, "{AC7998}", "{B4B4B4}", CHAT_SHADE_3);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- SendFormattedMessage(i, msg, "{AC6798}", "{8C8C8C}", CHAT_SHADE_4);
- }
- else if(IsPlayerInRangeOfPoint(i, 16.0, X, Y, Z))
- {
- SendFormattedMessage(i, msg, "{976798}", "{787878}", CHAT_SHADE_5);
- }
- else if(IsPlayerInRangeOfPoint(i, 20.0, X, Y, Z))
- {
- SendFormattedMessage(i, msg, "{936583}", "{505050}", CHAT_SHADE_6);
- }
- }
- }
- }
- return 0;
- }
- new msg[128];
- format(msg, sizeof(msg), "%s mówi: %s", strreplace(PlayerName(playerid), '_', ' '), text);
- if(CallData[playerid][cCaller] != -1)
- format(msg, sizeof(msg), "%s (telefon): %s", PlayerName(playerid), text);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i=0; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 1.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_1, "Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{B992C3}", "{EEEEEE}", CHAT_SHADE_1);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_2, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{AC79A7}", "{C8C8C8}", CHAT_SHADE_2);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_3, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{AC7998}", "{B4B4B4}", CHAT_SHADE_3);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_4, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{AC6798}", "{8C8C8C}", CHAT_SHADE_4);
- }
- else if(IsPlayerInRangeOfPoint(i, 16.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_5, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{976798}", "{787878}", CHAT_SHADE_5);
- }
- else if(IsPlayerInRangeOfPoint(i, 20.0, X, Y, Z))
- {
- if(UserCache[pUID[i]][uBW] > 0)
- {
- SendClientMessage(i, ME_SHADE_6, "* Twoja postać jest nieprzytomna, więc nie może sąyszeć wypowiedzi innych osób.");
- continue;
- }
- SendFormattedMessage(i, msg, "{936583}", "{505050}", CHAT_SHADE_6);
- }
- }
- }
- }
- if(CallData[playerid][cCaller] != -1)
- {
- new uid;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 2)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- uid = i;
- break;
- }
- }
- }
- }
- if(UserCache[pUID[playerid]][uSex])
- format(msg, sizeof(msg), "%d(kobieta) mówi: "HEX_WHITE"%s", ItemCache[uid][iVal], text);
- else
- format(msg, sizeof(msg), "%d(mężczyzna) mówi: "HEX_WHITE"%s", ItemCache[uid][iVal], text);
- SendClientMessage(CallData[playerid][cCaller], COLOR_YELLOW, msg);
- return 0;
- }
- if(UserCache[pUID[playerid]][uTutorial] > 0)
- {
- new actorvw;
- new pvw = GetPlayerVirtualWorld(playerid);
- for(new i=0; i<=GetActorPoolSize(); i++)
- {
- GetActorPos(i, X, Y, Z);
- actorvw = GetActorVirtualWorld(i);
- if(IsPlayerInRangeOfPoint(playerid, 15.0, X, Y,Z) && pvw == actorvw)
- {
- if(strfind(text, "kurw", true) != -1)
- {
- SendActorMessageInRange(i, "Jane Smith mówi: zamknij pizde lachociągu jebany kurwa");
- break;
- }
- }
- }
- }
- return 0;
- }
- stock SendActorMessageInRange(actorid, msg[])
- {
- new Float:X, Float:Y, Float:Z;
- GetActorPos(actorid, X, Y, Z);
- new vw = GetActorVirtualWorld(actorid);
- for(new i=0; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 2.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_1, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_2, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 6.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_3, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_4, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 10.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_5, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_6, msg);
- }
- }
- }
- }
- }
- stock SendPlayerMessageInRange(playerid, text[], color, color2, color3, color4, color5, color6)
- {
- new msg[128]; format(msg, sizeof(msg), text);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 1.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, color, temp1);
- SendClientMessage(i, color, temp2);
- continue;
- }
- SendClientMessage(i, color, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, color2, temp1);
- SendClientMessage(i, color, temp2);
- continue;
- }
- SendClientMessage(i, color2, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, color3, temp1);
- SendClientMessage(i, color3, temp2);
- continue;
- }
- SendClientMessage(i, color3, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, color4, temp1);
- SendClientMessage(i, color4, temp2);
- continue;
- }
- SendClientMessage(i, color4, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 16.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, color5, temp1);
- SendClientMessage(i, color5, temp2);
- continue;
- }
- SendClientMessage(i, color5, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 20.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, color6, temp1);
- SendClientMessage(i, color6, temp2);
- continue;
- }
- SendClientMessage(i, color6, msg);
- }
- }
- }
- }
- return 1;
- }
- stock strreplace(string[], find, replace)
- {
- new str[128];
- format(str, sizeof(str), string);
- for(new i = 0; i < strlen(str); i++)
- {
- if(str[i] == find)
- {
- str[i] = replace;
- }
- }
- return str;
- }
- stock ClearChat(playerid)
- {
- for(new i=0; i<21; i++)
- {
- SendClientMessage(playerid, 0, " ");
- }
- }
- stock TextDrawForPlayerEx(playerid, textdrawid, text[], time)
- {
- switch(textdrawid)
- {
- case 0: {PlayerTextDrawSetString(playerid, ObjectInfo[playerid], text); PlayerTextDrawShow(playerid, ObjectInfo[playerid]); ObjectInfoTimer[playerid]=SetTimerEx("HideTextDrawForPlayerEx", time, false, "iii", playerid, 0, time);}
- case 1: {PlayerTextDrawSetString(playerid, RadarTextDraw[playerid], text); PlayerTextDrawShow(playerid, RadarTextDraw[playerid]); RadarTextDrawTimer[playerid]=SetTimerEx("HideTextDrawForPlayerEx", time, false, "iii", playerid, 1, time);}
- case 2: {PlayerTextDrawSetString(playerid, TextDrawDoorInfo[playerid], text); PlayerTextDrawShow(playerid, TextDrawDoorInfo[playerid]); DoorInfoTextTimer[playerid]=SetTimerEx("HideTextDrawForPlayerEx", time, false, "iii", playerid, 2, time);}
- }
- return 1;
- }
- stock TextDrawForPlayer(playerid, textdrawid, text[])
- {
- switch(textdrawid)
- {
- case 0: {PlayerTextDrawSetString(playerid, BottomTextDraw[playerid], text); PlayerTextDrawShow(playerid, BottomTextDraw[playerid]);}
- case 1: {PlayerTextDrawSetString(playerid, RadarTextDraw[playerid], text); PlayerTextDrawShow(playerid, RadarTextDraw[playerid]);}
- case 2: {PlayerTextDrawSetString(playerid, BWTextDraw[playerid], text); PlayerTextDrawShow(playerid, BWTextDraw[playerid]);}
- case 3: {PlayerTextDrawSetString(playerid, AJTextDraw[playerid], text); PlayerTextDrawShow(playerid, AJTextDraw[playerid]);}
- }
- }
- stock HideTextDrawForPlayer(playerid, textdrawid)
- {
- switch(textdrawid)
- {
- case 0: PlayerTextDrawHide(playerid, BottomTextDraw[playerid]);
- case 1: PlayerTextDrawHide(playerid, RadarTextDraw[playerid]);
- case 2: PlayerTextDrawHide(playerid, BWTextDraw[playerid]);
- case 3: PlayerTextDrawHide(playerid, AJTextDraw[playerid]);
- }
- }
- forward HideTextDrawForPlayerEx(playerid, textdrawid, time);
- public HideTextDrawForPlayerEx(playerid, textdrawid, time)
- {
- switch(textdrawid)
- {
- case 0: PlayerTextDrawHide(playerid, ObjectInfo[playerid]);
- case 1: PlayerTextDrawHide(playerid, RadarTextDraw[playerid]);
- case 2: PlayerTextDrawHide(playerid, TextDrawDoorInfo[playerid]);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- godmodecount[playerid]=0;
- LoginAttempt[playerid] = 0;
- for(new i=0; i<10; i++)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, i))
- RemovePlayerAttachedObject(playerid, i);
- }
- if(pUID[playerid])
- {
- new uid = pUID[playerid]; // uid - player's UID
- UserCache[uid][uOnline] = false;
- UserCache[uid][uBelts] = false;
- if(UserCache[uid][uAJ] == 0 && UserCache[uid][uTutorial] == 0)
- {
- GetPlayerPos(playerid, UserCache[uid][uSpawnX], UserCache[uid][uSpawnY], UserCache[uid][uSpawnZ]);
- UserCache[uid][uSpawnVW] = GetPlayerVirtualWorld(playerid); // Saving player's position and virtual world
- }
- KillTimer(PlayerRepairingVehicle[playerid][repairTimer]);
- DestroyDynamic3DTextLabel(pDesc[playerid][dID]); // Destroy his description
- pDesc[playerid][dID] = Text3D:0;
- pDesc[playerid][dIsDescOnPlayer] = false;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] != 2)
- {
- if(ItemCache[i][iType] == 1)
- ResetPlayerWeapons(playerid);
- ItemCache[i][iActive]=0;
- }
- }
- }
- }
- for(new i=1; i < LastoUID; i++) // Clear object editor
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oPlayer] == playerid)
- {
- ObjectCache[i][oPlayer] = -1;
- KillTimer(ObjectCache[i][oTimer]);
- ObjectCache[i][oTimer] = 0;
- break;
- }
- }
- }
- // Clear phone calling
- if(CallData[playerid][cCaller] != -1 && !CallData[playerid][cCalling])
- {
- new callerid = CallData[playerid][cCaller];
- SetPlayerSpecialAction(callerid, 13);
- SendClientMessage(callerid, -1, "Rozmówca rozłączył się.");
- CallData[callerid][cCaller] = -1;
- }
- CallData[playerid][cCalling] = 0;
- CallData[playerid][cCaller] = -1;
- pDuty[playerid] = 0;
- pChoosingTxd[playerid] = 0;
- aduty[playerid] = 0;
- ac[playerid] = false;
- SetTimerEx("ClearPos", 60000*10, false, "i", pUID[playerid]);
- pUID[playerid] = 0;
- }
- return 1;
- }
- forward ClearPos(puid);
- public ClearPos(puid)
- {
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == puid)
- {
- return 1;
- }
- }
- }
- UserCache[puid][uSpawnX] = 0;
- UserCache[puid][uSpawnY] = 0;
- UserCache[puid][uSpawnZ] = 0;
- return 1;
- }
- stock CreatePlayerTextDraws(playerid)
- {
- VehicleInfo[playerid] = CreatePlayerTextDraw(playerid, 505.519317, 390.666748, "Predkosc: ~b~~h~~h~0 km/h~n~~w~Paliwo: ~b~~h~~h~100/100");
- PlayerTextDrawLetterSize(playerid, VehicleInfo[playerid], 0.212122, 0.905833);
- PlayerTextDrawTextSize(playerid, VehicleInfo[playerid], 642.000000, 0.000000);
- PlayerTextDrawAlignment(playerid, VehicleInfo[playerid], 1);
- PlayerTextDrawColor(playerid, VehicleInfo[playerid], -1);
- PlayerTextDrawUseBox(playerid, VehicleInfo[playerid], 1);
- PlayerTextDrawBoxColor(playerid, VehicleInfo[playerid], 20);
- PlayerTextDrawSetShadow(playerid, VehicleInfo[playerid], 0);
- PlayerTextDrawSetOutline(playerid, VehicleInfo[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, VehicleInfo[playerid], 36);
- PlayerTextDrawFont(playerid, VehicleInfo[playerid], 1);
- PlayerTextDrawSetProportional(playerid, VehicleInfo[playerid], 1);
- PlayerTextDrawSetShadow(playerid, VehicleInfo[playerid], 0);
- BottomTextDraw[playerid] = CreatePlayerTextDraw(playerid, 499.898010, 306.666656, "Kradziez pojazdu.~n~Rozpoczynasz ~r~~h~kradziez pojazdu~w~. Czekaj cierpliwie do konca kradziezy.~n~~n~Kliknij ~y~LPM~w~ aby anl");
- PlayerTextDrawLetterSize(playerid, BottomTextDraw[playerid], 0.249135, 1.337484);
- PlayerTextDrawTextSize(playerid, BottomTextDraw[playerid], 0.000000, 239.000000);
- PlayerTextDrawAlignment(playerid, BottomTextDraw[playerid], 2);
- PlayerTextDrawColor(playerid, BottomTextDraw[playerid], -1);
- PlayerTextDrawUseBox(playerid, BottomTextDraw[playerid], 1);
- PlayerTextDrawBoxColor(playerid, BottomTextDraw[playerid], 43);
- PlayerTextDrawSetShadow(playerid, BottomTextDraw[playerid], 0);
- PlayerTextDrawSetOutline(playerid, BottomTextDraw[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, BottomTextDraw[playerid], 255);
- PlayerTextDrawFont(playerid, BottomTextDraw[playerid], 1);
- PlayerTextDrawSetProportional(playerid, BottomTextDraw[playerid], 1);
- PlayerTextDrawSetShadow(playerid, BottomTextDraw[playerid], 0);
- RadarTextDraw[playerid] = CreatePlayerTextDraw(playerid, 549.561157, 110.083229, " ");
- PlayerTextDrawLetterSize(playerid, RadarTextDraw[playerid],0.186464, 1.080818);
- PlayerTextDrawTextSize(playerid, RadarTextDraw[playerid],0.099999, 130.000000);
- PlayerTextDrawAlignment(playerid, RadarTextDraw[playerid], 2);
- PlayerTextDrawColor(playerid, RadarTextDraw[playerid], -1);
- PlayerTextDrawUseBox(playerid, RadarTextDraw[playerid], 1);
- PlayerTextDrawBoxColor(playerid, RadarTextDraw[playerid], 36);
- PlayerTextDrawSetShadow(playerid, RadarTextDraw[playerid], 0);
- PlayerTextDrawSetOutline(playerid, RadarTextDraw[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, RadarTextDraw[playerid], 28);
- PlayerTextDrawFont(playerid, RadarTextDraw[playerid], 1);
- PlayerTextDrawSetProportional(playerid,RadarTextDraw[playerid], 1);
- PlayerTextDrawSetShadow(playerid, RadarTextDraw[playerid], 0);
- TextDrawDoorInfo[playerid] = CreatePlayerTextDraw(playerid, 522.386779, 372.000122, " ");
- PlayerTextDrawLetterSize(playerid, TextDrawDoorInfo[playerid],0.183068, 0.969994);
- PlayerTextDrawTextSize(playerid, TextDrawDoorInfo[playerid], 0.000000, 143.000000);
- PlayerTextDrawAlignment(playerid, TextDrawDoorInfo[playerid], 2);
- PlayerTextDrawColor(playerid, TextDrawDoorInfo[playerid], -1);
- PlayerTextDrawUseBox(playerid, TextDrawDoorInfo[playerid], 1);
- PlayerTextDrawBoxColor(playerid, TextDrawDoorInfo[playerid], 28);
- PlayerTextDrawSetShadow(playerid, TextDrawDoorInfo[playerid], 0);
- PlayerTextDrawSetOutline(playerid, TextDrawDoorInfo[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, TextDrawDoorInfo[playerid], 30);
- PlayerTextDrawFont(playerid, TextDrawDoorInfo[playerid], 1);
- PlayerTextDrawSetProportional(playerid, TextDrawDoorInfo[playerid], 1);
- PlayerTextDrawSetShadow(playerid, TextDrawDoorInfo[playerid], 0);
- BWTextDraw[playerid] = CreatePlayerTextDraw(playerid, 319.517089, 396.500091, "Stan nieprzytomnosci przez: 10 min");
- PlayerTextDrawLetterSize(playerid, BWTextDraw[playerid], 0.231331, 0.981666);
- PlayerTextDrawTextSize(playerid, BWTextDraw[playerid],0.000000, 158.000000);
- PlayerTextDrawAlignment(playerid, BWTextDraw[playerid], 2);
- PlayerTextDrawColor(playerid, BWTextDraw[playerid], -1);
- PlayerTextDrawUseBox(playerid, BWTextDraw[playerid], 1);
- PlayerTextDrawBoxColor(playerid, BWTextDraw[playerid],-16711642);
- PlayerTextDrawSetShadow(playerid, BWTextDraw[playerid], 0);
- PlayerTextDrawSetOutline(playerid, BWTextDraw[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, BWTextDraw[playerid], 255);
- PlayerTextDrawFont(playerid, BWTextDraw[playerid], 1);
- PlayerTextDrawSetProportional(playerid, BWTextDraw[playerid], 1);
- PlayerTextDrawSetShadow(playerid, BWTextDraw[playerid], 0);
- AJTextDraw[playerid] = CreatePlayerTextDraw(playerid, 237.993927, 335.249938, " ");
- PlayerTextDrawLetterSize(playerid, AJTextDraw[playerid], 0.951446, 3.034994);
- PlayerTextDrawAlignment(playerid, AJTextDraw[playerid], 2);
- PlayerTextDrawColor(playerid, AJTextDraw[playerid], -1);
- PlayerTextDrawSetShadow(playerid, AJTextDraw[playerid], 0);
- PlayerTextDrawSetOutline(playerid, AJTextDraw[playerid], 2);
- PlayerTextDrawBackgroundColor(playerid, AJTextDraw[playerid], 36);
- PlayerTextDrawFont(playerid, AJTextDraw[playerid], 1);
- PlayerTextDrawSetProportional(playerid, AJTextDraw[playerid], 1);
- PlayerTextDrawSetShadow(playerid, AJTextDraw[playerid], 0);
- Group[playerid] = CreatePlayerTextDraw(playerid, 553.777770, 143.916717, "Brak");
- PlayerTextDrawLetterSize(playerid, Group[playerid], 0.180730, 1.098330);
- PlayerTextDrawTextSize(playerid, Group[playerid], 5, 138.000000);
- PlayerTextDrawAlignment(playerid, Group[playerid], 2);
- PlayerTextDrawColor(playerid, Group[playerid], -1);
- PlayerTextDrawUseBox(playerid, Group[playerid], 1);
- PlayerTextDrawBoxColor(playerid, Group[playerid], 23);
- PlayerTextDrawSetShadow(playerid, Group[playerid], 0);
- PlayerTextDrawSetOutline(playerid, Group[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, Group[playerid], 23);
- PlayerTextDrawFont(playerid, Group[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Group[playerid], 1);
- PlayerTextDrawSetShadow(playerid, Group[playerid], 0);
- PlayerTextDrawSetSelectable(playerid, Group[playerid], 1);
- Group2[playerid] = CreatePlayerTextDraw(playerid, 553.777648, 160.250076, "Brak");
- PlayerTextDrawLetterSize(playerid, Group2[playerid], 0.180730, 1.098330);
- PlayerTextDrawTextSize(playerid, Group2[playerid], 5, 138.000000);
- PlayerTextDrawAlignment(playerid, Group2[playerid], 2);
- PlayerTextDrawColor(playerid, Group2[playerid], -1);
- PlayerTextDrawUseBox(playerid, Group2[playerid], 1);
- PlayerTextDrawBoxColor(playerid, Group2[playerid], 23);
- PlayerTextDrawSetShadow(playerid, Group2[playerid], 0);
- PlayerTextDrawSetOutline(playerid, Group2[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, Group2[playerid], 23);
- PlayerTextDrawFont(playerid, Group2[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Group2[playerid], 1);
- PlayerTextDrawSetShadow(playerid, Group2[playerid], 0);
- PlayerTextDrawSetSelectable(playerid, Group2[playerid], 1);
- Group3[playerid] = CreatePlayerTextDraw(playerid, 553.777648, 176.583343, "Brak");
- PlayerTextDrawLetterSize(playerid, Group3[playerid], 0.180730, 1.098330);
- PlayerTextDrawTextSize(playerid, Group3[playerid], 5, 138.000000);
- PlayerTextDrawAlignment(playerid, Group3[playerid], 2);
- PlayerTextDrawColor(playerid, Group3[playerid], -1);
- PlayerTextDrawUseBox(playerid, Group3[playerid], 1);
- PlayerTextDrawBoxColor(playerid, Group3[playerid], 23);
- PlayerTextDrawSetShadow(playerid, Group3[playerid], 0);
- PlayerTextDrawSetOutline(playerid, Group3[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, Group3[playerid], 23);
- PlayerTextDrawFont(playerid, Group3[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Group3[playerid], 1);
- PlayerTextDrawSetShadow(playerid, Group3[playerid], 0);
- PlayerTextDrawSetSelectable(playerid, Group3[playerid], 1);
- GroupLabel[playerid] = CreatePlayerTextDraw(playerid, 553.309082, 127.583351, "Twoje grupy:");
- PlayerTextDrawLetterSize(playerid, GroupLabel[playerid], 0.181667, 1.057497);
- PlayerTextDrawTextSize(playerid, GroupLabel[playerid], 0.000000, 138.000000);
- PlayerTextDrawAlignment(playerid, GroupLabel[playerid], 2);
- PlayerTextDrawColor(playerid, GroupLabel[playerid], -1);
- PlayerTextDrawUseBox(playerid, GroupLabel[playerid], 1);
- PlayerTextDrawBoxColor(playerid, GroupLabel[playerid], 23);
- PlayerTextDrawSetShadow(playerid, GroupLabel[playerid], 0);
- PlayerTextDrawSetOutline(playerid, GroupLabel[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, GroupLabel[playerid], 23);
- PlayerTextDrawFont(playerid, GroupLabel[playerid], 1);
- PlayerTextDrawSetProportional(playerid, GroupLabel[playerid], 1);
- PlayerTextDrawSetShadow(playerid, GroupLabel[playerid], 0);
- DutyTxd[playerid] = CreatePlayerTextDraw(playerid, 516.763854, 3.333277, "Sluzba: ~y~Federal Bureau of Investigation");
- PlayerTextDrawLetterSize(playerid, DutyTxd[playerid], 0.169955, 0.923333);
- PlayerTextDrawAlignment(playerid, DutyTxd[playerid], 1);
- PlayerTextDrawColor(playerid, DutyTxd[playerid], -1);
- PlayerTextDrawSetShadow(playerid, DutyTxd[playerid], 0);
- PlayerTextDrawSetOutline(playerid, DutyTxd[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, DutyTxd[playerid], 22);
- PlayerTextDrawFont(playerid, DutyTxd[playerid], 1);
- PlayerTextDrawSetProportional(playerid, DutyTxd[playerid], 1);
- PlayerTextDrawSetShadow(playerid, DutyTxd[playerid], 0);
- ObjectInfo[playerid] = CreatePlayerTextDraw(playerid, 310.615112, 374.916717, "X: ~y~0.0 ~w~Y: ~y~0.0 ~w~Z: ~y~0.0~w~ rX: ~y~0.0~w~ rY: ~y~0.0 ~w~rZ: ~y~0.0");
- PlayerTextDrawLetterSize(playerid, ObjectInfo[playerid],0.209309, 1.028334);
- PlayerTextDrawAlignment(playerid, ObjectInfo[playerid], 2);
- PlayerTextDrawColor(playerid, ObjectInfo[playerid], -1);
- PlayerTextDrawSetShadow(playerid, ObjectInfo[playerid], 0);
- PlayerTextDrawSetOutline(playerid, ObjectInfo[playerid], 1);
- PlayerTextDrawBackgroundColor(playerid, ObjectInfo[playerid], 68);
- PlayerTextDrawFont(playerid, ObjectInfo[playerid], 1);
- PlayerTextDrawSetProportional(playerid, ObjectInfo[playerid], 1);
- PlayerTextDrawSetShadow(playerid, ObjectInfo[playerid], 0);
- }
- stock DestroyPlayerTextDraws(playerid)
- {
- PlayerTextDrawDestroy(playerid, BottomTextDraw[playerid]);
- PlayerTextDrawDestroy(playerid, RadarTextDraw[playerid]);
- PlayerTextDrawDestroy(playerid, TextDrawDoorInfo[playerid]);
- PlayerTextDrawDestroy(playerid, BWTextDraw[playerid]);
- PlayerTextDrawDestroy(playerid, AJTextDraw[playerid]);
- PlayerTextDrawDestroy(playerid, Group2[playerid]);
- PlayerTextDrawDestroy(playerid, Group3[playerid]);
- PlayerTextDrawDestroy(playerid, GroupLabel[playerid]);
- PlayerTextDrawDestroy(playerid, Group[playerid]);
- PlayerTextDrawDestroy(playerid, DutyTxd[playerid]);
- PlayerTextDrawDestroy(playerid, ObjectInfo[playerid]);
- }
- cmd:anim (playerid, params[])
- return ShowDialogAnim(playerid);
- stock ShowDialogAnim(playerid)
- return ShowPlayerDialog(playerid, D_ANIMS, DIALOG_STYLE_LIST, "Dostępne animacje", "//krzeslo\n//siad\n//napad\n//tancz\n//tancz2\n//tancz3\n//tancz4\n//tancz5", "Wybierz", "Anuluj");
- public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
- {
- if(issuerid != INVALID_PLAYER_ID)
- {
- if(UserCache[pUID[playerid]][uBW] > 0 || aduty[playerid])
- return 1;
- // issuerid - ten co uderzył
- // playerid - ten co otrzymał
- if(issuerid != Attacker[playerid])
- {
- Attacker[playerid] = issuerid;
- SendClientMessage(issuerid, -1, "Nie jestes w stanie skrzywdzic tego gracza, jak ci odda to mozecie sie bic.");
- return SendClientMessage(playerid, -1, "Gracz Ci nic nie zrobi bo nie oddałeś mu.");
- }
- if(Attacker[issuerid] != playerid)
- {
- return SendClientMessage(playerid, -1, "Gracz Ci nic nie zrobi bo nie oddales mu, jak mu oddasz to mu wpierdolic mozesz.");
- }
- if(ClearNicknameColorTimer[playerid] == 0)
- {
- UpdateDynamic3DTextLabelText(pNick[playerid][nID], DAMAGE_COLOR, pNick[playerid][nStr]);
- ClearNicknameColorTimer[playerid] = SetTimerEx("ClearNicknameColor", 2500, false, "i", playerid);
- }
- new Float:damage = 0.0;
- switch(weaponid)
- {
- case 0:
- {
- if(UserCache[pUID[issuerid]][uStrenght] >= 100)
- damage = UserCache[pUID[issuerid]][uStrenght]/100;
- }
- case 2: damage = 3.0;
- case 5: damage = 3.0;
- case 6: damage = 3.0;
- case 7: damage = 3.0;
- case 22: damage = 4.0;
- case 23: damage = 2.5;
- case 24: damage = 21.0;
- case 25: damage = 6.0;
- case 28: damage = 1.5;
- case 29: damage = 3.5;
- case 30: damage = 9.5;
- case 31: damage = 9.5;
- case 32: damage = 2.0;
- case 33: damage = 10.0;
- case 34: damage = 50.0;
- case 38: damage = 0.1;
- case 41: damage = 0.5;
- case 42: damage = 0.5;
- }
- if(UserCache[pUID[playerid]][uHealth] - damage <= 0)
- {
- if(Attacker[playerid] != -1)
- {
- Attacker[Attacker[playerid]] = -1;
- Attacker[playerid] = -1;
- }
- if(!UserCache[pUID[playerid]][uAchievementManDown])
- {
- UserCache[pUID[playerid]][uAchievementManDown] = true;
- SendClientMessage(playerid, COLOR_YELLOW, "> Zdobyto osiągnięcie Man Down! (+10 SP)");
- UserCache[pUID[playerid]][uSP] += 10;
- SetPlayerScore(playerid, UserCache[pUID[playerid]][uSP]);
- }
- SendPlayerMe(playerid, "traci przytomność");
- UserCache[pUID[playerid]][uBWReason] = weaponid;
- new puid = pUID[playerid];
- UserCache[puid][uHealth]=1;
- SetPlayerCameraPos(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ]+10.0);
- SetPlayerCameraLookAt(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ], CAMERA_CUT);
- UserCache[puid][uBW] = 2;
- new msg[32];
- format(msg, sizeof(msg), "Stan nieprzytomnosci przez: %d min", UserCache[puid][uBW]);
- TextDrawForPlayer(playerid, 2, msg);
- ResetPlayerWeapons(playerid);
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 1)
- {
- ItemCache[i][iActive]=0;
- }
- }
- }
- }
- TogglePlayerControllable(playerid, 0);
- UpdatePlayerName(playerid);
- ClearAnimations(playerid);
- ApplyAnimation(playerid, "crack", "crckdeth1", 4.1, 0, 0, 0, 1, 0, 0);
- return 1;
- }
- SetPlayerHP(playerid, UserCache[pUID[playerid]][uHealth]-damage);
- }
- else
- {
- if(ClearNicknameColorTimer[playerid] == 0)
- {
- UpdateDynamic3DTextLabelText(pNick[playerid][nID], DAMAGE_COLOR, pNick[playerid][nStr]);
- ClearNicknameColorTimer[playerid] = SetTimerEx("ClearNicknameColor", 2500, false, "i", playerid);
- }
- UserCache[pUID[playerid]][uHealth] -= amount;
- }
- return 1;
- }
- forward StandUp(playerid);
- public StandUp(playerid)
- {
- ClearAnimations(playerid);
- }
- stock GetBWReason(playerid)
- {
- new uid = pUID[playerid], reason[64];
- if(UserCache[uid][uSex])
- {
- if(UserCache[uid][uBWReason] < 22)
- reason = "pobita";
- else if(UserCache[uid][uBWReason] > 22 && UserCache[uid][uBWReason] < 49)
- reason = "postrzelona z broni palnej";
- else if(UserCache[uid][uBWReason] == 49)
- reason = "potrącenie";
- else if(UserCache[uid][uBWReason] == 51)
- reason = "eksplozja";
- else if(UserCache[uid][uBWReason] == 53)
- reason = "utonięcie";
- else if(UserCache[uid][uBWReason] == 54)
- reason = "potłuczona";
- }
- else
- {
- if(UserCache[uid][uBWReason] < 22)
- reason = "pobity";
- else if(UserCache[uid][uBWReason] > 22 && UserCache[uid][uBWReason] < 49)
- reason = "postrzelony z broni palnej";
- else if(UserCache[uid][uBWReason] == 49)
- reason = "potrącenie";
- else if(UserCache[uid][uBWReason] == 51)
- reason = "eksplozja";
- else if(UserCache[uid][uBWReason] == 53)
- reason = "utonięcie";
- else if(UserCache[uid][uBWReason] == 54)
- reason = "potłuczony";
- }
- return reason;
- }
- stock SetPlayerHP(playerid, Float:HP)
- {
- SetPlayerHealth(playerid, HP);
- UserCache[pUID[playerid]][uHealth] = HP;
- }
- forward ClearNicknameColor(playerid);
- public ClearNicknameColor(playerid)
- {
- UpdateDynamic3DTextLabelText(pNick[playerid][nID], pNick[playerid][nColor], pNick[playerid][nStr]);
- ClearNicknameColorTimer[playerid] = 0;
- }
- stock ReturnLastOnline(puid, todays)
- {
- new str[32];
- format(str, sizeof(str), "%d dni temu", todays-UserCache[puid][uLastLogin]);
- return str;
- }
- cmd:a (playerid, params[])
- {
- new year, month, days, todays;
- todays = getdate(year, month, days);
- new info[256], list[525];
- format(list, sizeof(list), "Nickname\tUprawnienia\tStatus\tOstatnio online\n");
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uRank])
- {
- format(info, sizeof(info), "%s\t%s%s\t%s\t%s\n", UserCache[i][uName], GetHexRankColor(UserCache[i][uRank]),GetRankName(UserCache[i][uRank]), UserCache[i][uOnline] ? (""HEX_GREEN"Online") : (""HEX_GRAY"Offline"), UserCache[i][uLastLogin] == todays ? ("Dzisiaj") : (ReturnLastOnline(i, todays)));
- strins(list, info, strlen(list));
- }
- }
- return ShowPlayerDialog(playerid, D_ADMINS, DIALOG_STYLE_TABLIST_HEADERS, "Nasza ekipa", list, "OK", "");
- }
- stock ShowDialogInfo(playerid, info[])
- {
- ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_MSGBOX, "Informacja", info, "ok", "");
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- Attacker[playerid] = -1;
- ResetPlayerWeapons(playerid);
- if(IsPlayerInAnyVehicle(playerid))
- RemovePlayerFromVehicle(playerid);
- new puid = pUID[playerid];
- UserCache[pUID[playerid]][uBWReason] = reason;
- UserCache[puid][uHealth]=1;
- GetPlayerPos(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ]);
- TogglePlayerSpectating(playerid, 1);
- SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ], 0.0, 0, 0, 0, 0, 0 ,0);
- TogglePlayerSpectating(playerid, 0);
- SendPlayerMe(playerid, "traci przytomność");
- SetPlayerHP(playerid, 100);
- ClearAnimations(playerid);
- ApplyAnimation(playerid, "crack", "crckdeth1", 4.1, 0, 0, 0, 1, 0, 0);
- SetPlayerCameraPos(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ]+10.0);
- SetPlayerCameraLookAt(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ], CAMERA_CUT);
- UserCache[puid][uBW] = 2;
- new msg[32];
- format(msg, sizeof(msg), "Stan nieprzytomnosci przez: %d min", UserCache[puid][uBW]);
- TextDrawForPlayer(playerid, 2, msg);
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 1)
- {
- SetTimerEx("HideWeapon", 50, false, "ii", ItemCache[i][iUID], playerid);
- }
- }
- }
- }
- TogglePlayerControllable(playerid, 0);
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- return 1;
- }
- forward CheckCameraPos(playerid, Float:oldX, Float:oldY, Float:oldZ);
- public CheckCameraPos(playerid, Float:oldX, Float:oldY, Float:oldZ)
- {
- if(!UserCache[pUID[playerid]][uAFK])
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerCameraPos(playerid, X, Y,Z);
- if(oldX == X && oldY == Y && oldZ == Z)
- {
- UserCache[pUID[playerid]][uAFK] = true;
- UpdatePlayerName(playerid);
- PlayerTextDrawSetString(playerid, BWTextDraw[playerid], "AFK");
- PlayerTextDrawShow(playerid, BWTextDraw[playerid]);
- }
- }
- }
- stock ReturnAttachFreeSlot(playerid)
- {
- for(new i=0; i<10; i++)
- {
- if(!IsPlayerAttachedObjectSlotUsed(playerid, i))
- return i;
- }
- return -1;
- }
- forward OnPlayerWeaponChange(playerid, weaponid);
- public OnPlayerWeaponChange(playerid, weaponid)
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iType] == 1)
- {
- if(weaponid == 0)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, 6))
- return 1;
- new weapon = ItemCache[i][iVal];
- switch(weapon)
- {
- case 5: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,0.214000,-0.155999,-0.051000,2.200000,65.199981, 1.700000, 1, 1, 1, 0, 0);
- case 3: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.179000,0.079999,-0.230999,88.500038,-79.399971,-4.199996, 1, 1, 1, 0, 0);
- case 33: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.158999,0.049999,0.155999,77.799972,178.399948, 3.099992, 1, 1, 1, 0, 0);
- case 22: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.158999,0.049999,0.155999,77.799972,178.399948, 3.099992, 1, 1, 1, 0, 0);
- case 23: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.158999,0.049999,0.155999,77.799972,178.399948, 3.099992, 1, 1, 1, 0, 0);
- case 24: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.158999,0.049999,0.155999,77.799972,178.399948, 3.099992, 1, 1, 1, 0, 0);
- case 30: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.118000,-0.133000,0.056000,7.699995,33.100013, -1.500000, 1, 1, 1, 0, 0);
- case 31: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,0.011000,0.211000, -0.116000,178.299957,153.700164, -1.399997, 1, 1, 1, 0, 0);
- case 25: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.118000,-0.133000,0.056000,7.699995,33.100013, -1.500000, 1, 1, 1, 0, 0);
- case 28: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.006000,-0.089000,-0.163999,-2.099997,-3.299997,-175.099960, 1, 1, 1, 0, 0);
- case 29: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.006000,-0.089000,-0.163999,-2.099997,-3.299997,-175.099960, 1, 1, 1, 0, 0);
- case 32: SetPlayerAttachedObject(playerid, 6, GetWeaponModel(weapon), 1,-0.006000,-0.089000,-0.163999,-2.099997,-3.299997,-175.099960, 1, 1, 1, 0, 0);
- }
- return 1;
- }
- }
- }
- }
- }
- return RemovePlayerAttachedObject(playerid, 6);
- }
- forward min_timer();
- public min_timer()
- {
- gettime(ghour, gmin, gsec);
- if(gmin==0)
- {
- format(gmsg, sizeof(gmsg), "** Dzwony w ratuszu wybijają %d:%02d godzinę. **", ghour, gmin);
- if(ghour==0)
- gmsg = "** Dzwony w ratuszu wybijają północ. **";
- SendClientMessageToAll(DO_SHADE_1, gmsg);
- SetWorldTime(ghour);
- }
- new str[64];
- new guid;
- new dooruid;
- new vuid;
- for(new i=1; i<=GetVehiclePoolSize(); i++)
- {
- vuid = GetVehicleUID(i);
- if(VehicleCache[vuid][vEngine])
- {
- if(VehicleCache[vuid][vFuel] == 0)
- {
- SetVehicleParamsEx(i, VehicleCache[vuid][vEngine]=0, VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet],VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- continue;
- }
- VehicleCache[vuid][vFuel]--;
- }
- }
- new Float:pH;
- new Float:X, Float:Y, Float:Z;
- for(new i=0; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(GetPlayerSurfingVehicleID(i))
- {
- Freeze(i, 3000);
- GameTextForPlayer(i, "~r~~h~nie mozesz jezdzic na tym pojezdzie", 3000, 4);
- continue;
- }
- GetPlayerCameraPos(i, X, Y, Z);
- SetTimerEx("CheckCameraPos", 1000*30, false, "ifff", i, X, Y, Z);
- if(IsPlayerInAnyVehicle(i))
- {
- new id = GetPlayerVehicleID(i);
- if(GetPlayerVehicleSeat(i) == 0)
- {
- if(GetVehicleSpeed(id) >= 180.0)
- {
- AJPlayer(i, "System", "Veh speedhack (A)", 30);
- }
- vuid = GetVehicleUID(id);
- if(VehicleCache[vuid][vOwner] != pUID[i])
- {
- AJPlayer(i, "System", "Vehicle Jack (A)", 30);
- }
- }
- }
- GetPlayerHealth(i, pH);
- if(pH != UserCache[pUID[i]][uHealth])
- SetPlayerHealth(i, UserCache[pUID[i]][uHealth]);
- if(GetPlayerMoney(i) != UserCache[pUID[i]][uCash])
- {
- ResetPlayerMoney(i);
- GivePlayerMoney(i, UserCache[pUID[i]][uCash]);
- }
- if(pDuty[i])
- {
- guid = pDuty[i];
- if(GroupCache[guid][gType] == 1) // We DO NOT check player inside building
- {
- if(UserCache[pUID[i]][uGroup] == guid)
- {
- if(UserCache[pUID[i]][uGroupDuty] == 18)
- {
- UserCache[pUID[i]][uBank] += 400;
- SendClientMessage(i, DO_SHADE_1, "* Otrzymujesz 400$ wypłaty *");
- PlayerPlaySound(i, 4201, 0.0, 0.0, 0.0);
- UserCache[pUID[i]][uGroupDuty] = 0;
- }
- UserCache[pUID[i]][uGroupDuty]++;
- }
- else if(UserCache[pUID[i]][uGroup2] == guid)
- {
- if(UserCache[pUID[i]][uGroupDuty2] == 18)
- {
- UserCache[pUID[i]][uBank] += 400;
- SendClientMessage(i, DO_SHADE_1, "* Otrzymujesz 400$ wypłaty *");
- PlayerPlaySound(i, 4201, 0.0, 0.0, 0.0);
- UserCache[pUID[i]][uGroupDuty2] = 0;
- }
- UserCache[pUID[i]][uGroupDuty2]++;
- }
- else if(UserCache[pUID[i]][uGroup3] == guid)
- {
- if(UserCache[pUID[i]][uGroupDuty3] == 18)
- {
- UserCache[pUID[i]][uBank] += 400;
- SendClientMessage(i, DO_SHADE_1, "* Otrzymujesz 400$ wypłaty *");
- PlayerPlaySound(i, 4201, 0.0, 0.0, 0.0);
- UserCache[pUID[i]][uGroupDuty3] = 0;
- }
- UserCache[pUID[i]][uGroupDuty3]++;
- }
- }
- else // Count duty time ONLY when player is inside group's building
- {
- dooruid = GetPlayerDoorUID(i);
- if(DoorCache[dooruid][dGroupUID] == guid)
- {
- if(UserCache[pUID[i]][uGroup] == guid)
- {
- if(UserCache[pUID[i]][uGroupDuty] == 18)
- {
- UserCache[pUID[i]][uBank] += 180;
- SendClientMessage(i, DO_SHADE_1, "* Otrzymujesz 180$ wypłaty *");
- PlayerPlaySound(i, 4201, 0.0, 0.0, 0.0);
- UserCache[pUID[i]][uGroupDuty] = 0;
- }
- UserCache[pUID[i]][uGroupDuty]++;
- }
- else if(UserCache[pUID[i]][uGroup2] == guid)
- {
- if(UserCache[pUID[i]][uGroupDuty2] == 18)
- {
- UserCache[pUID[i]][uBank] += 180;
- SendClientMessage(i, DO_SHADE_1, "* Otrzymujesz 180$ wypłaty *");
- PlayerPlaySound(i, 4201, 0.0, 0.0, 0.0);
- UserCache[pUID[i]][uGroupDuty2] = 0;
- }
- UserCache[pUID[i]][uGroupDuty2]++;
- }
- else if(UserCache[pUID[i]][uGroup3] == guid)
- {
- if(UserCache[pUID[i]][uGroupDuty3] == 18)
- {
- UserCache[pUID[i]][uBank] += 180;
- SendClientMessage(i, DO_SHADE_1, "* Otrzymujesz 180$ wypłaty *");
- PlayerPlaySound(i, 4201, 0.0, 0.0, 0.0);
- UserCache[pUID[i]][uGroupDuty3] = 0;
- }
- UserCache[pUID[i]][uGroupDuty3]++;
- }
- }
- }
- }
- if(UserCache[pUID[i]][uMin] >= 60)
- {
- UserCache[pUID[i]][uMin] = 0;
- UserCache[pUID[i]][uH]++;
- }
- UserCache[pUID[i]][uMin]++;
- if(UserCache[pUID[i]][uBW] > 0)
- {
- UserCache[pUID[i]][uBW]--;
- format(str, sizeof(str), "Stan nieprzytomnosci przez: %dmin", UserCache[pUID[i]][uBW]);
- PlayerTextDrawShow(i, BWTextDraw[i]);
- if(UserCache[pUID[i]][uBW] == 0)
- {
- TogglePlayerControllable(i, 1);
- ClearAnimations(i);
- SetCameraBehindPlayer(i);
- ShowDialogInfo(i, "Twoja postać ocknęła się po utracie przytomności.\nUdaj się do szpitala.");
- PlayerTextDrawHide(i, BWTextDraw[i]);
- UpdatePlayerName(i);
- continue;
- }
- }
- if(UserCache[pUID[i]][uAJ])
- {
- UserCache[pUID[i]][uAJ]--;
- format(str, sizeof(str), "~r~AJ: %dmin", UserCache[pUID[i]][uAJ]);
- PlayerTextDrawSetString(i, AJTextDraw[i], str);
- PlayerTextDrawShow(i, AJTextDraw[i]);
- if(UserCache[pUID[i]][uAJ] == 0)
- {
- new UID = pUID[i];
- if(UserCache[UID][uSpawnX] != 0 && UserCache[UID][uSpawnY] != 0 && UserCache[UID][uSpawnZ] != 0)
- {
- SetPlayerPos(i, UserCache[pUID[i]][uSpawnX], UserCache[pUID[i]][uSpawnY], UserCache[pUID[i]][uSpawnZ]);
- SetPlayerVirtualWorld(i, UserCache[pUID[i]][uSpawnVW]);
- }
- else if(UserCache[UID][uHouseSpawn] != 0)
- {
- new duid = UserCache[pUID[i]][uHouseSpawn];
- SetPlayerPos(i, DoorCache[duid][dInsX], DoorCache[duid][dInsY], DoorCache[duid][dInsZ]);
- SetPlayerVirtualWorld(i, DoorCache[duid][dInsVW]);
- }
- else if(UserCache[UID][uHouseSpawn] == 0)
- {
- SetPlayerPos(i, 1016.3893,-1314.6183,13.5469);
- SetPlayerVirtualWorld(i, 0);
- }
- PlayerTextDrawHide(i, AJTextDraw[i]);
- SendClientMessage(i, COLOR_RED, "Opuściłeś AdminJail.");
- continue;
- }
- }
- }
- }
- }
- }
- cmd:me (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uBW] > 0)
- {
- ShowDialogInfo(playerid, "Nie możesz teraz tego zrobić.");
- return 1;
- }
- new action[128];
- if(sscanf(params, "s[128]", action))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /me [czynność postaci]");
- }
- new msg[256]; format(msg, sizeof(msg), "** %s %s", strreplace(PlayerName(playerid), '_', ' '), action);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 1.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, ME_SHADE_1, temp1);
- SendClientMessage(i, ME_SHADE_1, temp2);
- continue;
- }
- SendClientMessage(i, ME_SHADE_1, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, ME_SHADE_2, temp1);
- SendClientMessage(i, ME_SHADE_2, temp2);
- continue;
- }
- SendClientMessage(i, ME_SHADE_2, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, ME_SHADE_3, temp1);
- SendClientMessage(i, ME_SHADE_3, temp2);
- continue;
- }
- SendClientMessage(i, ME_SHADE_3, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- if(strlen(msg) >= 256)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, ME_SHADE_4, temp1);
- SendClientMessage(i, ME_SHADE_4, temp2);
- continue;
- }
- SendClientMessage(i, ME_SHADE_4, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 14.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, ME_SHADE_5, temp1);
- SendClientMessage(i, ME_SHADE_5, temp2);
- continue;
- }
- SendClientMessage(i, ME_SHADE_5, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 16.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, ME_SHADE_6, temp1);
- SendClientMessage(i, ME_SHADE_6, temp2);
- continue;
- }
- SendClientMessage(i, ME_SHADE_6, msg);
- }
- }
- }
- }
- if(pVal[playerid] == 2)
- {
- new vuid;
- for(new i=1; i<=GetVehiclePoolSize(); i++)
- {
- if(GetVehicleUID(i) == pVal2[playerid])
- {
- if(vw == GetVehicleVirtualWorld(i))
- {
- GetVehiclePos(i, X, Y, Z);
- if(IsPlayerInRangeOfPoint(playerid, 3.0, X, Y, Z))
- {
- vuid = GetVehicleUID(i);
- VehicleCache[vuid][vRegister] = true;
- UnSpawnVehicle(vuid);
- SpawnVehicle(vuid);
- return ShowDialogInfo(playerid, "Pomyślnie zamontowano rejstrację pojazdu.");
- }
- }
- }
- }
- }
- if(pVal[playerid] == 1) // Buying vehicle register
- {
- new actoruid = pVal2[playerid];
- if(GetActorInRange(playerid) == actoruid)
- {
- format(msg, sizeof(msg), "%s mówi: Dziękuję! "HEX_PURPLE"** zwrócił dokumenty petentowi oraz podał mu rejestrację pojazdu ** ", strreplace(ActorCache[actoruid][aName], '_', ' '));
- SendClientMessage(playerid, CHAT_SHADE_2, msg);
- pVal[playerid] = 0;
- PlayerTextDrawShow(playerid, RadarTextDraw[playerid]);
- return ShowPlayerDialog(playerid, D_BUY_REGISTER, DIALOG_STYLE_MSGBOX, "Oferta", "Kup "HEX_GREEN"rejestrację pojazdu"HEX_WHITE" za "HEX_GREEN"$300.", "Kup", "Anuluj");
- }
- }
- if(ActionData[playerid][aType] == 2)
- {
- new auid = GetActorInRange(playerid);
- if(ActorCache[auid][aType] == 1)
- {
- ShowPlayerDialog(playerid, D_TRADE_3, DIALOG_STYLE_MSGBOX, "Oferta", "Wyrobienie dokumentu osobistego: "HEX_GREEN"$100"HEX_WHITE"\nCzy akceptujesz tę ofertę?", "Tak", "Nie");
- }
- }
- else if(ActionData[playerid][aType] == 1)
- {
- new auid = GetActorInRange(playerid);
- if(ActorCache[auid][aType] == 2)
- {
- format(msg, sizeof(msg), "%s mówi: Dziękuję! *wpisuje dane w systemie oraz kładzie dokumenty z powrotem na ladzie*", strreplace(ActorCache[auid][aName], '_', ' '));
- SendFormattedMessage(playerid, msg, "{AC79A7}", "{C8C8C8}", CHAT_SHADE_2);
- new acc = MAX_USERS;
- acc += random(300);
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uBankAccount] == acc)
- {
- while(UserCache[i][uBankAccount] == acc)
- {
- acc+=1;
- }
- }
- }
- UserCache[pUID[playerid]][uBankAccount] = acc;
- format(msg, sizeof(msg), "Konto bankowe zostało otwarte. Numer konta: %d", acc);
- ShowDialogInfo(playerid, msg);
- ActionData[playerid][aType] = 0;
- }
- }
- return 1;
- }
- cmd:do (playerid, params[])
- {
- new action[128];
- if(sscanf(params, "s[128]", action))
- {
- SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /do [SZCZEGÓŁOWY OPIS POSTACI/OTOCZENIA]");
- return 1;
- }
- new msg[256];
- format(msg, sizeof(msg), "** %s (( %s ))", action, strreplace(PlayerName(playerid), '_', ' '));
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- if(IsPlayerInRangeOfPoint(i, 1.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, DO_SHADE_1, temp1);
- SendClientMessage(i, DO_SHADE_1, temp2);
- continue;
- }
- SendClientMessage(i, DO_SHADE_1, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 4.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, DO_SHADE_2, temp1);
- SendClientMessage(i, DO_SHADE_2, temp2);
- continue;
- }
- SendClientMessage(i, DO_SHADE_2, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 8.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, DO_SHADE_3, temp1);
- SendClientMessage(i, DO_SHADE_3, temp2);
- continue;
- }
- SendClientMessage(i, DO_SHADE_3, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, DO_SHADE_4, temp1);
- SendClientMessage(i, DO_SHADE_4, temp2);
- continue;
- }
- SendClientMessage(i, DO_SHADE_4, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 14.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, DO_SHADE_5, temp1);
- SendClientMessage(i, DO_SHADE_5, temp2);
- continue;
- }
- SendClientMessage(i, DO_SHADE_5, msg);
- }
- else if(IsPlayerInRangeOfPoint(i, 16.0, X, Y, Z))
- {
- if(strlen(msg) >= 64)
- {
- new temp1[256], temp2[256];
- temp1 = msg, temp2=msg;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessage(i, DO_SHADE_6, temp1);
- SendClientMessage(i, DO_SHADE_6, temp2);
- continue;
- }
- SendClientMessage(i, DO_SHADE_6, msg);
- }
- }
- }
- }
- return 1;
- }
- stock PlayerFirstName(playerid)
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- new pos = strfind(pname, "_", true);
- if(pos != -1)
- strdel(pname, pos, strlen(pname));
- return pname;
- }
- stock SendPlayerMe(playerid, action[])
- {
- new str[256];
- format(str, sizeof(str), "* %s %s *", PlayerFirstName(playerid), action);
- SetPlayerChatBubble(playerid, str, ME_SHADE_1, 15.0, 5000);
- format(str, sizeof(str), "* %s %s", PlayerFirstName(playerid), action);
- SendClientMessage(playerid, ME_SHADE_1, str);
- return 1;
- }
- cmd:raport (playerid, params[])
- {
- return callcmd::report(playerid, params);
- }
- cmd:report (playerid, params[])
- {
- new targetid, reason[128];
- if(sscanf(params, "rs[128]", targetid, reason))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /report [ID/Część nazwy gracza] [treść]");
- }
- if(playerid == targetid)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz zreportować samego siebie!");
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Takiego gracza nie ma na serwerze.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- }
- new msg[128]; format(msg, sizeof(msg), ""HEX_RED"%s(%d) wysłał raport na gracza %s(%d):", PlayerName(playerid), playerid, PlayerName(targetid), targetid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(UserCache[pUID[i]][uRank] > 0)
- {
- SendClientMessage(i, -1, msg);
- SendClientMessage(i, COLOR_ORANGE, reason);
- }
- }
- }
- }
- SendClientMessage(playerid, COLOR_RED, "Wysłano raport.");
- return 1;
- }
- cmd:unbw (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < 2)
- {
- return 1;
- }
- new targetid;
- if(sscanf(params, "r", targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /unbw [ID/Część nazwy gracza]");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz jest niezalogowany.");
- }
- if(UserCache[pUID[targetid]][uBW] == 0)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie ma BW.");
- }
- UserCache[pUID[targetid]][uBW] = 0;
- SetCameraBehindPlayer(targetid);
- TogglePlayerControllable(targetid, 1);
- ClearAnimations(targetid);
- UpdatePlayerName(targetid);
- HideTextDrawForPlayer(targetid, 2);
- new msg[64];
- format(msg, sizeof(msg), "%s ściąnął Ci BW.", strreplace(PlayerName(playerid), '_', ' '));
- SendClientMessage(targetid, COLOR_GRAY, msg);
- return 1;
- }
- cmd:joty (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < 2)
- {
- return 1;
- }
- new targetid, j;
- if(sscanf(params, "ri", targetid, j))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /joty [ID/Część nazwy gracza] [ilość]");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest zalogowany.");
- }
- UserCache[pUID[targetid]][uStrenght] = j;
- UpdatePlayerName(targetid);
- new msg[128];
- format(msg, sizeof(msg), "%s zmienił twoją wartość Jotów na: %d", PlayerName(playerid), j);
- SendClientMessage(targetid, COLOR_GRAY, msg);
- format(msg, sizeof(msg), "Zmienił wartość Jotów %s na: %d", PlayerName(targetid), j);
- SendClientMessage(playerid, COLOR_GRAY, msg);
- return 1;
- }
- cmd:hp (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < 2)
- {
- return 1;
- }
- new targetid, Float:HP;
- if(sscanf(params, "rf", targetid, HP))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /hp [ID/Część nazwy gracza] [ilość]");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest zalogowany.");
- }
- SetPlayerHP(targetid, HP);
- new msg[128];
- format(msg, sizeof(msg), "%s zmienił twoją wartość HP na: %f", PlayerName(playerid), HP);
- SendClientMessage(targetid, COLOR_GRAY, msg);
- format(msg, sizeof(msg), "Zmienił wartość HP %s na: %f", PlayerName(targetid), HP);
- SendClientMessage(playerid, COLOR_GRAY, msg);
- return 1;
- }
- cmd:alevel (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new targetid, rank;
- if(sscanf(params, "ri", targetid, rank))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /alevel [ID/Część nazwy gracza] [ranga]");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest zalogowany.");
- if(rank == 0)
- aduty[targetid] = 0;
- UserCache[pUID[targetid]][uRank] = rank;
- UpdatePlayerName(targetid);
- new msg[128];
- format(msg, sizeof(msg), "%s zmienił Twój poziom rangi na: %d", PlayerName(playerid), rank);
- SendClientMessage(targetid, COLOR_GRAY, msg);
- format(msg, sizeof(msg), "Zmienił poziom rangi %s na: %d", PlayerName(targetid), rank);
- SendClientMessage(playerid, COLOR_GRAY, msg);
- return 1;
- }
- cmd:mapper (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new targetid;
- if(sscanf(params, "r", targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mapper [ID/Część nazwy gracza], by nadać komuś uprawnienia do edycji świata 0.");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Wybrany gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Wybrany gracz nie jest zalogowany.");
- if(UserCache[pUID[targetid]][uMapper] == true)
- {
- UserCache[pUID[targetid]][uMapper] = false;
- return SendClientMessage(targetid, COLOR_RED, "> Twoje uprawnienia do edycji świata 0 został zabrane.");
- }
- UserCache[pUID[targetid]][uMapper] = true;
- return SendClientMessage(targetid, COLOR_GREEN, "> Zostajesz Mapperem.");
- }
- cmd:ac (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new message[128];
- if(sscanf(params, "s[128]", message))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /ac [wiadomość]");
- }
- new msg[256];
- format(msg, sizeof(msg), "(( %s: %s ))", PlayerName(playerid), message);
- return SendMessageToAdmins(msg);
- }
- cmd:anick (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new targetid, name[MAX_PLAYER_NAME];
- if(sscanf(params, "rs[24]", targetid, name))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /anick [ID/Część nazwy gracza] [nowy nick]");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest zalogowany.");
- if(UserExists(name))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten nick jest już zajęty.");
- new pos;
- for(new i=0; i<=strlen(name); i++)
- {
- tolower(name[i]);
- if(name[i] == '_')
- pos = i;
- }
- toupper(name[0]);
- toupper(name[pos]);
- SetPlayerName(targetid, name);
- UserCache[pUID[targetid]][uName] = name;
- UpdatePlayerName(targetid);
- new msg[128];
- format(msg, sizeof(msg), "%s zmienił Twój nickname na: %s", PlayerName(playerid), name);
- SendClientMessage(targetid, COLOR_GRAY, msg);
- format(msg, sizeof(msg), "Zmienił nickname %s na: %s", PlayerName(targetid), name);
- SendClientMessage(playerid, COLOR_GRAY, msg);
- return 1;
- }
- cmd:skin (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- return 1;
- new targetid, skinid;
- if(sscanf(params, "ri", targetid, skinid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /skin [ID/Część nazwy gracza] [skinid]");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest zalogowany.");
- }
- if(UserCache[pUID[targetid]][uRank] != UNRANKED)
- {
- if(targetid != playerid)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Nie możesz zmienić skina członkom ekipy.");
- new msg[128];
- format(msg, sizeof(msg), "Członek ekipy %s próbował zmienić Twój skin na ID %d.", PlayerName(playerid), skinid);
- return SendClientMessage(targetid, COLOR_DARKRED, msg);
- }
- }
- UserCache[pUID[targetid]][uSkin] = skinid;
- SetPlayerSkin(targetid, skinid);
- ClearAnimations(targetid);
- new msg[128];
- format(msg, sizeof(msg), "%s zmienił Twój skin na: %d", PlayerName(playerid), skinid);
- SendClientMessage(targetid, COLOR_GRAY, msg);
- format(msg, sizeof(msg), "Zmienił skin %s na: %d", PlayerName(targetid), skinid);
- SendClientMessage(playerid, COLOR_GRAY, msg);
- return 1;
- }
- cmd:say (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- {
- return 1;
- }
- new text[128];
- if(sscanf(params, "s[128]", text))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /say [treść]");
- }
- new msg[256];
- format(msg, sizeof(msg), "[ %s: %s ]", PlayerName(playerid), text);
- SendClientMessageToAll(COLOR_PINK, msg);
- return 1;
- }
- new PenalityTimer;
- stock KickPlayer(playerid, adminname[], reason[])
- {
- pUID[playerid]=0;
- new str[128];
- format(str, sizeof(str), "~r~Kick~w~~n~Gracz: %s~n~Nadawca: %s~n~~y~%s", PlayerName(playerid), adminname, reason);
- TextDrawSetString(PenalityTextDraw, str);
- TextDrawShowForAll(PenalityTextDraw);
- if(PenalityTimer > 0)
- {
- KillTimer(PenalityTimer);
- }
- PenalityTimer = SetTimer("HidePenalityTextDraw", 15000, false);
- format(str, sizeof(str), "> Otrzymałeś karę(kick) od %s. Powód: %s", adminname, reason);
- SendClientMessage(playerid, COLOR_RED, str);
- SetTimerEx("KickFix", 10, false, "i", playerid);
- return 1;
- }
- forward KickFix(playerid);
- public KickFix(playerid)
- {
- Kick(playerid);
- }
- forward HidePenalityTextDraw();
- public HidePenalityTextDraw()
- {
- TextDrawHideForAll(PenalityTextDraw);
- PenalityTimer = 0;
- }
- stock AJPlayer(playerid, adminname[], reason[], time)
- {
- new str[128];
- format(str, sizeof(str), "~r~AdminJail~w~ (%d min)~n~Gracz: %s~n~Nadawca: %s~n~~y~%s", time, PlayerName(playerid), adminname, reason);
- TextDrawSetString(PenalityTextDraw, str);
- TextDrawShowForAll(PenalityTextDraw);
- if(PenalityTimer > 0)
- {
- KillTimer(PenalityTimer);
- }
- PenalityTimer = SetTimer("HidePenalityTextDraw", 15000, false);
- format(str, sizeof(str), "> Otrzymałeś karę(AdminJail) od %s. Powód: %s", adminname, reason);
- SendClientMessage(playerid, COLOR_RED, str);
- for(new i=0; i<=GetPlayerPoolSize();i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
- {
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(i)-1);
- }
- }
- }
- }
- SetPlayerAJPos(playerid);
- UserCache[pUID[playerid]][uAJ] = time;
- format(str, sizeof(str), "~r~AJ: %d min.", UserCache[pUID[playerid]][uAJ]);
- PlayerTextDrawSetString(playerid, AJTextDraw[playerid], str);
- PlayerTextDrawShow(playerid, AJTextDraw[playerid]);
- return 1;
- }
- stock BanPlayer(playerid, adminname[], reason[], time)
- {
- new str[128];
- format(str, sizeof(str), "~r~Blokada postaci~w~ (%d dni)~n~Gracz: %s~n~Nadawca: %s~n~~y~%s", time, PlayerName(playerid), adminname, reason);
- TextDrawSetString(PenalityTextDraw, str);
- TextDrawShowForAll(PenalityTextDraw);
- if(PenalityTimer > 0)
- {
- KillTimer(PenalityTimer);
- }
- PenalityTimer = SetTimer("HidePenalityTextDraw", 15000, false);
- new h, m, s;
- gettime(h,m, s);
- UserCache[pUID[playerid]][uBan] = time;
- UserCache[pUID[playerid]][uBanHour] = h;
- UserCache[pUID[playerid]][uBanMin] = m;
- format(str, sizeof(str), reason);
- UserCache[pUID[playerid]][uBanReason] = str;
- UserCache[pUID[playerid]][uBanDay] = gday;
- UserCache[pUID[playerid]][uBanMonth] = gmonth;
- UserCache[pUID[playerid]][uBanYear] = gyear;
- return Kick(playerid);
- }
- stock PermBanPlayer(playerid, adminname[], reason[])
- {
- new str[128];
- format(str, sizeof(str), "~r~Blokada postaci~w~ (na zawsze)~n~Gracz: %s~n~Nadawca: %s~n~~y~%s", PlayerName(playerid), adminname, reason);
- TextDrawSetString(PenalityTextDraw, str);
- TextDrawShowForAll(PenalityTextDraw);
- if(PenalityTimer > 0)
- {
- KillTimer(PenalityTimer);
- }
- PenalityTimer = SetTimer("HidePenalityTextDraw", 15000, false);
- new h, m, s;
- gettime(h,m, s);
- format(str, sizeof(str), reason);
- UserCache[pUID[playerid]][uBanReason] = reason;
- UserCache[pUID[playerid]][uBan] = 999;
- return Kick(playerid);
- }
- cmd:aj (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < SP_2)
- return 1;
- new targetid, reason[128], time;
- if(sscanf(params, "ris[128]", targetid, time, reason))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /aj [ID/Część nazwy gracza] [czas] [powód]");
- /*if(playerid == targetid)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz nadać sobie tej kary.");*/
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- if(time < 0 || time > 120)
- return SendClientMessage(playerid, COLOR_GRAY, "Czas AdminJail musi zmieścić się pomiędzy wartościami 0(by zdjąć AJ) - 120 min.");
- if(time == 0)
- {
- if(UserCache[pUID[targetid]][uAJ] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie posiada AJ.");
- UserCache[pUID[targetid]][uAJ] = 0;
- new UID = pUID[targetid];
- if(UserCache[UID][uSpawnX] != 0 && UserCache[UID][uSpawnY] != 0 && UserCache[UID][uSpawnZ] != 0)
- {
- SetPlayerPos(targetid, UserCache[UID][uSpawnX], UserCache[UID][uSpawnY], UserCache[UID][uSpawnZ]);
- SetPlayerVirtualWorld(targetid, UserCache[UID][uSpawnVW]);
- }
- else if(UserCache[UID][uHouseSpawn] != 0)
- {
- new duid = UserCache[UID][uHouseSpawn];
- SetPlayerPos(targetid, DoorCache[duid][dInsX], DoorCache[duid][dInsY], DoorCache[duid][dInsZ]);
- SetPlayerVirtualWorld(targetid, DoorCache[duid][dInsVW]);
- }
- else if(UserCache[UID][uHouseSpawn] == 0)
- {
- SetPlayerPos(targetid, 1016.3893,-1314.6183,13.5469);
- SetPlayerVirtualWorld(targetid, 0);
- }
- PlayerTextDrawHide(targetid, AJTextDraw[targetid]);
- SendClientMessage(targetid, COLOR_RED, "Opuściłeś AdminJail.");
- return SendClientMessage(playerid, COLOR_RED, "Wypuściłeś gracza z AdminJail.");
- }
- AJPlayer(targetid, PlayerName(playerid), reason, time);
- return 1;
- }
- CMD:ban (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] != 3)
- return 1;
- new targetid, reason[128], time;
- if(sscanf(params, "ris[128]", targetid, time, reason))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /ban [ID/Część nazwy gracza] [czas] [powód]");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- if(time < 1 || time > 30)
- return SendClientMessage(playerid, COLOR_GRAY, "Wartość blokady postaci musi mieścić się w przedziale 1-30 dni. ");
- return BanPlayer(targetid, PlayerName(playerid), reason, time);
- }
- stock SetPlayerFreeVW(playerid)
- {
- for(new i=0; i<=GetPlayerPoolSize();i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
- {
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(i)-1);
- }
- }
- }
- }
- stock SetPlayerAJPos(playerid)
- {
- SetPlayerPos(playerid, 1175.3094,-1179.7953,87.0432);
- }
- cmd:to (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- {
- return 1;
- }
- new targetid;
- if(sscanf(params, "r", targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /to [ID/Część nazwy gracza]");
- }
- if(playerid == targetid)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz przeteleportować się do samego siebie.");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- }
- SetPlayerFreeVW(playerid);
- new Float:X, Float:Y, Float:Z; GetPlayerPos(targetid, X, Y, Z);
- SetPlayerPos(playerid, X, Y+1, Z);
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(targetid));
- new str[64];
- format(str, sizeof(str), "~y~%s ~w~Przeteleportowal sie do Ciebie.", PlayerName(playerid));
- TextDrawForPlayerEx(targetid, 1, str, 5000);
- format(str, sizeof(str), "Przeteleportowales sie do ~y~%s~w~.", PlayerName(targetid));
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- return 1;
- }
- cmd:here (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < 2)
- {
- return 1;
- }
- new targetid;
- if(sscanf(params, "r", targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /here [ID/Część nazwy gracza]");
- }
- if(playerid == targetid)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz przeteleportować się do samego siebie.");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- }
- SetPlayerFreeVW(targetid);
- new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- SetPlayerPos(targetid, X, Y+1, Z);
- SetPlayerVirtualWorld(targetid, GetPlayerVirtualWorld(playerid));
- new str[64];
- format(str, sizeof(str), "~y~%s ~w~Przeteleportowal Cie do siebie.", PlayerName(playerid));
- TextDrawForPlayerEx(targetid, 1, str, 5000);
- format(str, sizeof(str), "Przeteleportowales ~y~%s~w~ do siebie.", PlayerName(targetid));
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- return 1;
- }
- cmd:opis (playerid, params[])
- {
- new desc[128];
- if(sscanf(params, "s[128]", desc))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /opis [OPIS TWOJEJ POSTACI]");
- if(!strcmp(desc, "usun", true) && pDesc[playerid][dIsDescOnPlayer] == true)
- {
- DestroyDynamic3DTextLabel(pDesc[playerid][dID]);
- SendClientMessage(playerid, COLOR_GRAY, "Usunięto opis.");
- pDesc[playerid][dIsDescOnPlayer] = false;
- return 1;
- }
- format(desc, sizeof(desc), strreplace(strreplace(desc, '(', '{'), ')', '}'));
- for(new i; i<=strlen(desc); i++)
- {
- if(i == 32 || i == 64 || i == 86 || i == 102 || i == 134)
- {
- for(new j=i; j<=strlen(desc); j++)
- {
- if(desc[j] == ' ')
- {
- strins(desc, "\n", j);
- break;
- }
- }
- }
- }
- if(pDesc[playerid][dIsDescOnPlayer] == true)
- UpdateDynamic3DTextLabelText(pDesc[playerid][dID], DESC_COLOR, desc);
- else
- {
- DestroyDynamic3DTextLabel(pDesc[playerid][dID]);
- pDesc[playerid][dID] = CreateDynamic3DTextLabel(desc, DESC_COLOR, 0.0, 0.0, 0.0-0.5, 6.0, playerid, INVALID_VEHICLE_ID, 1, -1, -1, -1);
- }
- SendClientMessage(playerid, COLOR_GRAY, "Ustawiono opis:");
- SendClientMessage(playerid, DESC_COLOR, desc);
- pDesc[playerid][dIsDescOnPlayer] = true;
- return 1;
- }
- cmd:warn (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- {
- return 1;
- }
- new targetid, reason[128];
- if(sscanf(params, "rs[128]", targetid, reason))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /warn [ID/Część nazwy gracza] [ostrzeżenie]");
- }
- if(playerid == targetid)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz nadać sobie tej kary.");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- }
- new str[128];
- format(str, sizeof(str), "~r~Ostrzeznie~n~~w~Gracz: %s~n~Nadawca: %s~n~~y~%s", PlayerName(targetid), PlayerName(playerid), reason);
- TextDrawSetString(PenalityTextDraw, str);
- TextDrawShowForAll(PenalityTextDraw);
- if(PenalityTimer > 0)
- {
- KillTimer(PenalityTimer);
- }
- PenalityTimer = SetTimer("HidePenalityTextDraw", 15000, false);
- format(str, sizeof(str), "> Otrzymałeś karę(ostrzeżenie) od %s. Powód: %s", PlayerName(playerid), reason);
- SendClientMessage(targetid, COLOR_RED, str);
- return 1;
- }
- stock ShowDialogDoorCreate(playerid, yard)
- {
- new str[500];
- format(str, sizeof(str), "Aby utworzyć nowe drzwi w tej strefie musisz wpisać poniżej wartości w formacie:\n\n[rodzaj drzwi do stworzenia] [metraż]\n\nGdzie rodzaj to: d - dla domu oraz b- dla biznesu\nMetraż - metraż budynku.\nMinimalny metraż w tej strefie: %dm2.\n\n"HEX_RED"Uwaga!\n\
- Jeśli przed Tobą w grze nie znajdują się żadne drzwi, stworzenie ich w tym miejscu..\nzostanie usunięte przez Administrację bez żadnych zwrotów!", yard);
- ShowPlayerDialog(playerid, D_CREATEDOOR, DIALOG_STYLE_INPUT, "Stwórz nowe drzwi", str, "Stwórz", "Anuluj");
- }
- stock GetPlayerDoorUID(playerid)
- {
- new playervw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(playervw == DoorCache[i][dInsVW])
- {
- return i;
- }
- }
- }
- return 0;
- }
- stock GetRadioState(dooruid)
- {
- new str[64];
- if(Isnull(DoorCache[dooruid][dUrl]))
- format(str, sizeof(str), ""HEX_RED"Zakup system nagłaśniający(1200$)");
- else
- format(str, sizeof(str), ""HEX_GREEN"Zarządzaj systemem nagłaśniającym");
- return str;
- }
- stock ShowDialogDoorSettings(playerid)
- {
- new str[1025];
- format(str, sizeof(str), ""HEX_WHITE"1\tZmień pozycję wejściową drzwi\n2\tWybierz ten dom jako Spawn\n3\t%s\n4\tTeleportuj do pozycji wyjściowej\n5\tZmień nazwę drzwi(2000$)\n6\tPodpisz budynek pod grupę\n7\tUstaw opłatę za przejście\n8\tPrzełącz przejazd pojazdami", GetRadioState(GetPlayerDoorUID(playerid)));
- return ShowPlayerDialog(playerid, D_DOOR_SETTINGS, DIALOG_STYLE_LIST, "Zarządzaj drzwiami", str, "Wybierz", "Anuluj");
- }
- cmd:drzwi (playerid, params[])
- {
- new uid = GetPlayerDoorUID(playerid);
- if(uid != 0)
- {
- if(DoorCache[uid][dPlayerUID] == pUID[playerid])
- {
- return ShowDialogDoorSettings(playerid);
- }
- return ShowDialogInfo(playerid, "Brak uprawnień.");
- }
- new zone[1];
- GetPlayerDynamicAreas(playerid, zone, sizeof(zone));
- if(ZoneData[zone[0]][zYard] == 0)
- {
- ShowDialogInfo(playerid, "Ta strefa nie została wyceniona przez Administrację.\nPoproś o wycenę strefy kogoś z ekipy znajdującej się pod "HEX_RED"/a"HEX_WHITE".");
- return 1;
- }
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastdUID;i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- if(vw == DoorCache[i][dOutVW])
- {
- SendClientMessage(playerid, COLOR_GRAY, "Musisz stanąć trochę dalej od innych drzwi.");
- return 1;
- }
- }
- }
- }
- ShowDialogZone(playerid);
- return 1;
- }
- stock ShowDialogZone(playerid)
- {
- new zoneid = GetPlayerZone(playerid);
- new zoneinfo[256];
- format(zoneinfo, sizeof(zoneinfo), ""HEX_WHITE"Minimalny metraż: %dm2 (%d$m2 dla domu, %d$m2dla biznesu)", ZoneData[zoneid][zYard], ZoneData[zoneid][zCostH], ZoneData[zoneid][zCostB]);
- new header[64]; format(header, sizeof(header), "%s", ZoneData[zoneid][zName]);
- ShowPlayerDialog(playerid, D_ZONE, DIALOG_STYLE_LIST, header, zoneinfo, "Wybierz", "Anuluj");
- return 1;
- }
- cmd:astrefa (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < 2)
- {
- return 1;
- }
- new zname[64], zyard, zcosth, zcostb;
- if(sscanf(params, "iiis[64]", zyard, zcosth, zcostb, zname))
- {
- SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /astrefa [min. metraż] [cena za min. metraż dla domu] [cena za min. metraż dla biznesu] [nazwa strefy]");
- return 1;
- }
- new zone = GetPlayerZone(playerid);
- ZoneData[zone][zYard] = zyard;
- ZoneData[zone][zCostB] = zcostb;
- ZoneData[zone][zCostH] = zcosth;
- ZoneData[zone][zName] = zname;
- return 1;
- }
- stock GetPlayerZone(playerid)
- {
- new zone[1];
- GetPlayerDynamicAreas(playerid, zone, sizeof(zone));
- return zone[0];
- }
- public OnPlayerPickUpDynamicPickup(playerid, pickupid)
- {
- PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
- new vw = GetPlayerVirtualWorld(playerid);
- new dinfo[256];
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- if(vw == DoorCache[i][dOutVW])
- {
- format(dinfo, sizeof(dinfo), "%s~w~~n~(nacisnij LALT+SPRINT aby wejsc)", DoorCache[i][dName]);
- new count;
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(GetPlayerVirtualWorld(j) == DoorCache[i][dInsVW])
- {
- count++;
- }
- }
- }
- if(count)
- format(dinfo, sizeof(dinfo), "%s~w~~n~(nacisnij LALT+SPRINT aby wejsc)~n~(%d osob w srodku)", DoorCache[i][dName], count);
- if(DoorCache[i][dEnterCost] > 0)
- format(dinfo, sizeof(dinfo), "%s~n~~w~(Oplata za przejscie: ~g~~h~%d$~w~)~n~(nacisnij LALT+SPRINT aby wejsc)~n~(%d osob w srodku)", DoorCache[i][dName],DoorCache[i][dEnterCost], count);
- if(!DoorCache[i][dOpen])
- format(dinfo, sizeof(dinfo), "%s~w~~n~(nacisnij LALT+SPRINT aby wejsc)~n~~r~(te drzwi sa zamkniete)", DoorCache[i][dName]);
- TextDrawForPlayerEx(playerid, 2, dinfo, 5000);
- return 1;
- }
- }
- }
- }
- return 1;
- }
- cmd:zamknij (playerid, params[])
- {
- new vw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- if(vw == DoorCache[i][dOutVW])
- {
- if(DoorCache[i][dPlayerUID] != pUID[playerid])
- {
- GameTextForPlayer(playerid, "~r~nie posiadasz klucza do tych drzwi", 3000, 4);
- return 1;
- }
- new msg[128];
- if(DoorCache[i][dOpen])
- {
- DoorCache[i][dOpen]=0;
- format(msg, sizeof(msg), "zamyka drzwi za pomocą klucza.");
- }
- else
- {
- DoorCache[i][dOpen]=1;
- format(msg, sizeof(msg), "otwiera drzwi za pomocą klucza.");
- }
- SendPlayerMe(playerid, msg);
- ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- }
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]))
- {
- if(vw == DoorCache[i][dInsVW])
- {
- if(DoorCache[i][dPlayerUID] != pUID[playerid])
- {
- return GameTextForPlayer(playerid, "~r~nie posiadasz klucza do tych drzwi", 3000, 4);
- }
- new msg[128];
- if(DoorCache[i][dOpen])
- {
- format(msg, sizeof(msg), "zamyka drzwi za pomocą klucza.");
- DoorCache[i][dOpen]=0;
- }
- else
- {
- format(msg, sizeof(msg), "otwiera drzwi za pomocą klucza.");
- DoorCache[i][dOpen]=1;
- }
- SendPlayerMe(playerid, msg);
- return ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- }
- }
- }
- }
- return 1;
- }
- cmd:b (playerid, params[])
- {
- new playermsg[128];
- if(sscanf(params, "s[128]", playermsg))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /b [wiadomość OOC]");
- }
- new finalmsg[128];
- format(finalmsg, sizeof(finalmsg), "(( %s ))", playermsg);
- SetPlayerChatBubble(playerid, finalmsg, COLOR_WHITE, 12.0, 5000);
- if(!UserCache[pUID[playerid]][uOOC])
- {
- format(finalmsg, sizeof(finalmsg), "(( Wysłano OOC: %s ))", playermsg);
- SendClientMessage(playerid, COLOR_WHITE, finalmsg); TextDrawForPlayerEx(playerid, 1, "Mozesz poprzedzic swoja wypowiedz kropka.~n~Np. .Elo", 5000);
- }
- format(finalmsg, sizeof(finalmsg), "(( [%d] %s: %s ))", playerid, RPName(playerid), playermsg);
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(UserCache[pUID[i]][uOOC])
- {
- if(IsPlayerInRangeOfPoint(i, 12.0, X, Y, Z) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
- SendClientMessage(i, COLOR_WHITE, finalmsg);
- }
- }
- }
- return 1;
- }
- cmd:w (playerid, params[])
- {
- new targetid, msg[128];
- if(sscanf(params, "rs[128]", targetid, msg))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /w [ID/Część nazwy gracza] [wiadomość]");
- if(targetid == playerid) return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz wysłać wiadomości samemu sobie.");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- if(!pUID[targetid]) return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- if(UserCache[pUID[playerid]][uAJ])
- {
- if(UserCache[pUID[targetid]][uRank])
- {
- goto a;
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Będąc w AdminJail możesz skontaktować się tylko z ekipą. Nie proś o zdjęcie kary bo raczej słusznie została ona nadana.");
- }
- a:
- new str[256];
- format(str, sizeof(str), "(( > %s: %s ))", strreplace(PlayerName(targetid), '_', ' '), msg);
- if(UserCache[pUID[targetid]][uAFK])
- format(str, sizeof(str), "(( > [AFK] %s: %s ))", strreplace(PlayerName(targetid), '_', ' '), msg);
- SendClientMessage(playerid, 0xFFD95BFF, str); format(str, sizeof(str), "(( %s: %s ))", strreplace(PlayerName(playerid), '_', ' '), msg);
- SendClientMessage(targetid, 0xFFB033FF, str); PlayerPlaySound(targetid, 5202, 0.0, 0.0, 0.0); PlayerMessageUID[targetid] = pUID[playerid];
- return SetPlayerChatBubble(playerid, "(PW)", COLOR_ORANGE, 15, 3000);
- }
- cmd:cash (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new targetid, money;
- if(sscanf(params, "ri", targetid, money))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /cash [ID/Część nazwy gracza] [ilość]");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- new msg[256];
- format(msg, sizeof(msg), "(( %s %s[%d] nadał graczowi %s[%d] $%d gotówki. ))", GetRankName(UserCache[pUID[playerid]][uRank]), PlayerName(playerid),playerid, PlayerName(targetid),targetid, money);
- SendMessageToAdmins(msg);
- return SetPlayerCash(targetid, money);
- }
- cmd:re (playerid, params[])
- {
- new msg[128];
- if(sscanf(params, "s[128]", msg))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /re [wiadomość]");
- for(new i=0;i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == PlayerMessageUID[playerid])
- {
- if(UserCache[pUID[playerid]][uAJ])
- {
- if(UserCache[pUID[i]][uRank])
- {
- goto a;
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Będąc w AdminJail możesz skontaktować się tylko z ekipą. Nie proś o zdjęcie kary bo raczej słusznie została ona nadana.");
- }
- a:
- new str[256]; format(str, sizeof(str), "(( %s: %s ))", strreplace(PlayerName(i), '_', ' '), msg);
- if(UserCache[pUID[i]][uAFK])
- format(str, sizeof(str), "(( > [AFK] %s: %s ))", strreplace(PlayerName(i), '_', ' '), msg);
- SendClientMessage(playerid, 0xFFD95BFF, str); format(str, sizeof(str), "(( %s: %s ))", strreplace(PlayerName(playerid), '_', ' '), msg);
- SendClientMessage(i, 0xFFB033FF, str); PlayerPlaySound(i, 5202, 0.0, 0.0, 0.0); PlayerMessageUID[i] = pUID[playerid];
- return SetPlayerChatBubble(playerid, "(PW)", COLOR_ORANGE, 15, 3000);
- }
- }
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Nikt nie wysłał Ci wiadomości lub gracz wylogował się.");
- }
- stock ItemPath(itemid)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_ITEMS"%d.ini", itemid);
- return path;
- }
- stock LoadItems()
- {
- new name[128], count;
- for(new i=1;i<LastiUID;i++)
- {
- if(!dfile_FileExists(ItemPath(i)))
- continue;
- dfile_Open(ItemPath(i));
- ItemCache[i][iUID] = dfile_ReadInt("UID");
- ItemCache[i][iOwner] = dfile_ReadInt("Owner");
- ItemCache[i][iState] = dfile_ReadInt("State");
- ItemCache[i][iVW] = dfile_ReadInt("VW");
- ItemCache[i][iX] = dfile_ReadFloat("X");
- ItemCache[i][iY] = dfile_ReadFloat("Y");
- ItemCache[i][iZ] = dfile_ReadFloat("Z");
- format(name, sizeof(name), dfile_ReadString("Name"));
- ItemCache[i][iName] = name;
- ItemCache[i][iType] = dfile_ReadInt("Type");
- ItemCache[i][iVal] = dfile_ReadInt("Val");
- ItemCache[i][iVal2] = dfile_ReadInt("Val2");
- ItemCache[i][iVal3] = dfile_ReadInt("Val3");
- ItemCache[i][iActive] = dfile_ReadInt("Active");
- ItemCache[i][iAttachX] = dfile_ReadFloat("AttachX");
- ItemCache[i][iAttachY] = dfile_ReadFloat("AttachY");
- ItemCache[i][iAttachZ] = dfile_ReadFloat("AttachZ");
- ItemCache[i][iAttachrX] = dfile_ReadFloat("AttachrX");
- ItemCache[i][iAttachrY] = dfile_ReadFloat("AttachrY");
- ItemCache[i][iAttachrZ] = dfile_ReadFloat("AttachrZ");
- ItemCache[i][iSizeX] = dfile_ReadFloat("SizeX");
- ItemCache[i][iSizeY] = dfile_ReadFloat("SizeY");
- ItemCache[i][iSizeZ] = dfile_ReadFloat("SizeZ");
- dfile_CloseFile();
- count++;
- }
- printf("[SYSTEM] Loaded %d items.", count);
- }
- stock SaveItems()
- {
- for(new i=1;i<LastiUID;i++)
- {
- if(!dfile_FileExists(ItemPath(i)))
- dfile_Create(ItemPath(i));
- dfile_Open(ItemPath(i));
- dfile_WriteInt("UID", ItemCache[i][iUID]);
- dfile_WriteInt("State", ItemCache[i][iState]);
- dfile_WriteInt("VW", ItemCache[i][iVW]);
- dfile_WriteInt("Owner", ItemCache[i][iOwner]);
- dfile_WriteFloat("X", ItemCache[i][iX]);
- dfile_WriteFloat("Y", ItemCache[i][iY]);
- dfile_WriteFloat("Z", ItemCache[i][iZ]);
- dfile_WriteString("Name", ItemCache[i][iName]);
- dfile_WriteInt("Type", ItemCache[i][iType]);
- dfile_WriteInt("Val", ItemCache[i][iVal]);
- dfile_WriteInt("Val2", ItemCache[i][iVal2]);
- dfile_WriteInt("Val3", ItemCache[i][iVal3]);
- dfile_WriteInt("Active", ItemCache[i][iActive]);
- dfile_WriteFloat("AttachX", ItemCache[i][iAttachX]);
- dfile_WriteFloat("AttachY", ItemCache[i][iAttachY]);
- dfile_WriteFloat("AttachZ", ItemCache[i][iAttachZ]);
- dfile_WriteFloat("AttachrX", ItemCache[i][iAttachrX]);
- dfile_WriteFloat("AttachrY", ItemCache[i][iAttachrY]);
- dfile_WriteFloat("AttachrZ", ItemCache[i][iAttachrZ]);
- dfile_WriteFloat("SizeX", ItemCache[i][iSizeX]);
- dfile_WriteFloat("SizeY", ItemCache[i][iSizeY]);
- dfile_WriteFloat("SizeZ", ItemCache[i][iSizeZ]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock CreateItem(ownerid, type, val2, val3, val4, name[])
- {
- new str[128]; format(str, sizeof(str), name);
- ItemCache[LastiUID][iUID] = LastiUID;
- ItemCache[LastiUID][iOwner] = pUID[ownerid];
- ItemCache[LastiUID][iName] = str;
- ItemCache[LastiUID][iType] = type;
- ItemCache[LastiUID][iVal] = val2;
- ItemCache[LastiUID][iVal2] = val3;
- ItemCache[LastiUID][iVal3] = val4;
- ItemCache[LastiUID][iX] = 0.0;
- ItemCache[LastiUID][iY] = 0.0;
- ItemCache[LastiUID][iZ] = 0.0;
- ItemCache[LastiUID][iVW] = 0;
- ItemCache[LastiUID][iState] = 0;
- ItemCache[LastiUID][iActive] = 0;
- ItemCache[LastiUID][iSizeX] = 1.0;
- ItemCache[LastiUID][iSizeY] = 1.0;
- ItemCache[LastiUID][iSizeZ] = 1.0;
- LastiUID++;
- return 1;
- }
- stock GetPlayerItemsCount(playerid)
- {
- new count;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- count++;
- }
- }
- }
- return count;
- }
- cmd:p (playerid, params[])
- {
- new iname[32], rest[32];
- sscanf(params, "s[32]s[32]", iname, rest);
- if(!Isnull(rest))
- {
- if(!strcmp(rest, "odloz", true))
- {
- if(!Isnull(iname))
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(strfind(ItemCache[i][iName], iname, true) != -1)
- {
- return UseItemOption(playerid, 1, ItemCache[i][iUID]);
- }
- }
- }
- }
- }
- }
- }
- if(!Isnull(iname))
- {
- if(!strcmp(iname, "podnies", true))
- {
- new pvw=GetPlayerVirtualWorld(playerid), info[1000], list[1000], count;
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid);
- if(VehicleCache[vuid][vOwner] == pUID[playerid])
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 2)
- {
- if(ItemCache[i][iOwner] == vuid)
- {
- format(info, sizeof(info), "%d\t%s\n", ItemCache[i][iUID], ItemCache[i][iName]);
- strins(list, info, strlen(list));
- count++;
- }
- }
- }
- if(count)
- return ShowPlayerDialog(playerid, D_NEARBY_ITEMS, DIALOG_STYLE_LIST, "Przedmioty w pojeździe", list, "Podnieś", "Anuluj");
- return TextDrawForPlayerEx(playerid, 1, "Nic nie znaleziono.", 3000);
- }
- return TextDrawForPlayerEx(playerid, 1, "Brak uprawnien.", 3000);
- }
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState]==1)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, ItemCache[i][iX], ItemCache[i][iY], ItemCache[i][iZ]))
- {
- if(pvw==ItemCache[i][iVW])
- {
- format(info, sizeof(info), "%d\t%s\n", ItemCache[i][iUID], ItemCache[i][iName]);
- strins(list, info, strlen(list));
- count++;
- }
- }
- }
- }
- if(count)
- ShowPlayerDialog(playerid, D_NEARBY_ITEMS, DIALOG_STYLE_LIST, "Przedmioty w pobliżu", list, "Podnieś", "Anuluj");
- else
- TextDrawForPlayerEx(playerid, 1, "Nic nie znaleziono.", 3000);
- return 1;
- }
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(strfind(ItemCache[i][iName], iname, true) != -1)
- {
- if(ItemCache[i][iType] == 1)
- {
- if(ItemCache[i][iActive])
- {
- ResetPlayerWeapons(playerid);
- new str[128]; format(str, sizeof(str), "chowa %s %s", ItemCache[i][iName], rest);
- SendPlayerMe(playerid, str);
- SetTimerEx("HideWeapon", 50, false, "ii", ItemCache[i][iUID], playerid);
- return 1;
- }
- else if(!ItemCache[i][iActive])
- {
- ItemCache[i][iActive]=1;
- new str[128]; format(str, sizeof(str), "wyciąga %s %s", ItemCache[i][iName], rest);
- SendPlayerMe(playerid, str);
- SetTimerEx("GiveWeapon", 50, false, "iii", playerid, ItemCache[i][iVal], ItemCache[i][iVal2]);
- return 1;
- }
- }
- return UseItem(playerid, i);
- }
- }
- }
- }
- return 1;
- }
- new list[1000], info[256];
- for(new i=1;i<LastiUID;i++)
- {
- if(!ItemCache[i][iState])
- {
- if(ItemCache[i][iOwner]==pUID[playerid])
- {
- format(info, sizeof(info), "%d\t"HEX_WHITE"%s\t%d,%d,%d,%d\n", ItemCache[i][iUID], ItemCache[i][iName], ItemCache[i][iType], ItemCache[i][iVal], ItemCache[i][iVal2], ItemCache[i][iVal3]);
- if(ItemCache[i][iActive])
- format(info, sizeof(info), "%d\t"HEX_GRAY"%s\t"HEX_WHITE"%d,%d,%d,%d\n", ItemCache[i][iUID], ItemCache[i][iName], ItemCache[i][iType], ItemCache[i][iVal], ItemCache[i][iVal2], ItemCache[i][iVal3]);
- strins(list, info, strlen(list));
- }
- }
- }
- if(Isnull(list))
- return ShowDialogInfo(playerid, "Nie posiadasz żadnych przedmiotów.\nMożesz rozejrzeć się po okolicy korzystając z komendy: /p podnies.");
- else
- return ShowPlayerDialog(playerid, D_ITEMS, DIALOG_STYLE_TABLIST, "Przedmioty", list, "Wybierz", "Zarządzaj");
- }
- CMD:przeszukaj (playerid, params[])
- {
- if(GroupCache[pDuty[playerid]][gType] != 1)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie znajdujesz się na służbie odpowiedniej grupy by użyć tej komendy.");
- new targetid;
- if(sscanf(params, "r", targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /przeszukaj [ID/Częśc nazwy gracza] by podejrzeć przedmioty w ekwipunku.");
- if(targetid == playerid)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz przeszukać samego siebie.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest podłączony lub zalogowany do serwera.");
- new Float:targetX, Float:targetY, Float:targetZ;
- GetPlayerPos(targetid, targetX, targetY, targetZ);
- if(GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(targetid) || !IsPlayerInRangeOfPoint(playerid, 5.0, targetX, targetY, targetZ) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Wybrany gracz jest za daleko.");
- new list[1000], info[256];
- for(new i=1;i<LastiUID;i++)
- {
- if(!ItemCache[i][iState])
- {
- if(ItemCache[i][iOwner]==pUID[targetid])
- {
- format(info, sizeof(info), "%d\t"HEX_WHITE"%s\t%d,%d,%d,%d\n", ItemCache[i][iUID], ItemCache[i][iName], ItemCache[i][iType], ItemCache[i][iVal], ItemCache[i][iVal2], ItemCache[i][iVal3]);
- if(ItemCache[i][iActive])
- format(info, sizeof(info), "%d\t"HEX_GRAY"%s\t"HEX_WHITE"%d,%d,%d,%d\n", ItemCache[i][iUID], ItemCache[i][iName], ItemCache[i][iType], ItemCache[i][iVal], ItemCache[i][iVal2], ItemCache[i][iVal3]);
- strins(list, info, strlen(list));
- }
- }
- }
- new header[64];
- format(header, sizeof(header), "przeszukuje %s", RPName(targetid));
- SendPlayerMe(playerid, header);
- if(Isnull(list))
- return ShowDialogInfo(playerid, "Ten gracz nie posiada żadnych przedmiotów.");
- format(header, sizeof(header), "Przedmioty %s", RPName(targetid));
- return ShowPlayerDialog(playerid, D_NEARBY_ITEMS, DIALOG_STYLE_TABLIST, header, list, "Zabierz", "Anuluj");
- }
- CMD:c (playerid, params[])
- {
- new text[128];
- if(sscanf(params, "s[128]", text))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /c [szept na odległość 1m!]");
- new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- new msg[128]; format(msg, sizeof(msg), "%s szepcze: %s", strreplace(PlayerName(playerid), '_', ' '), text);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInRangeOfPoint(i, 1.0, X, Y, Z))
- {
- SendClientMessage(i, CHAT_SHADE_1,msg);
- }
- }
- }
- return SendPlayerMe(playerid, "coś szepcze.");
- }
- forward HideWeapon(itemuid, playerid);
- public HideWeapon(itemuid, playerid)
- {
- ItemCache[itemuid][iActive]=0;
- if(IsPlayerAttachedObjectSlotUsed(playerid, 6))
- RemovePlayerAttachedObject(playerid, 6);
- }
- CMD:ai(playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == ADMINISTRATION || pDuty[playerid] == 16 || UserCache[pUID[playerid]][uRank] == DEVELOPER)
- {
- if(GetPlayerItemsCount(playerid) >= 20)
- return ShowDialogInfo(playerid, "W ekwipunku nie zmieści się aż tyle przedmiotów.");
- new type, val, val2, val3 ,name[128];
- if(sscanf(params, "iiiis[128]", type, val, val2, val3, name))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /ai [Typ] [wartość 1] [wartość 2] [wartość 3] [Nazwa]");
- CreateItem(playerid, type, val, val2, val3, name); format(name, sizeof(name), "> Do twojego ekwipunku został dodany przedmiot "HEX_BLUE"%s"HEX_WHITE".", ItemCache[LastiUID-1][iName]);
- SendClientMessage(playerid, COLOR_WHITE, name);
- }
- return 1;
- }
- stock UseItem(playerid, itemuid)
- {
- SetPVarInt(playerid, "iUID", itemuid);
- if(!ItemCache[itemuid][iType])
- return ShowDialogInfo(playerid, "Ten przedmiot służy do gry RolePlay i nie ma żadnych zastosowań skryptowych.");
- if(ItemCache[itemuid][iType]==1)
- {
- if(ItemCache[itemuid][iVal2] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "W tej broni skończyła się amunicja.");
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iType] == 1)
- {
- if(ItemCache[i][iActive] && i != itemuid)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Masz już wyciągniętą jakąś broń.");
- }
- }
- }
- }
- return ShowDialogUseWeap(playerid);
- }
- if(ItemCache[itemuid][iType] == 2)
- {
- for(new i=1; i<LastiUID;i++)
- {
- if(!ItemCache[i][iState])
- {
- if(ItemCache[i][iOwner]==pUID[playerid])
- {
- if(ItemCache[i][iType]==2)
- {
- if(ItemCache[i][iActive])
- {
- if(i != itemuid)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Aktywny możesz mieć tylko jeden telefon.");
- }
- }
- }
- }
- }
- }
- if(CallData[playerid][cCaller] != -1 && CallData[playerid][cCalling]==0)
- {
- new senderid = CallData[playerid][cCaller];
- CallData[playerid][cCaller] = -1;
- CallData[senderid][cCaller] = -1;
- GameTextForPlayer(senderid, "~w~rozmowca ~r~rozlaczyl sie", 3000, 4);
- SetPlayerSpecialAction(senderid, 13);
- SetPlayerSpecialAction(playerid, 13);
- return 1;
- }
- if(CallData[playerid][cCalling] > 0)
- {
- ShowDialogAnswer(playerid);
- return 1;
- }
- if(!ItemCache[itemuid][iActive])
- {
- GameTextForPlayer(playerid, "~b~~h~telefon ~w~wlaczony", 3000, 4);
- PlayerPlaySound(playerid, 4202, 0.0, 0.0, 0.0);
- ItemCache[itemuid][iActive]=1;
- }
- ShowDialogPhone(playerid);
- }
- if(ItemCache[itemuid][iType] == 3)
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 3)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(i == itemuid)
- {
- ItemCache[i][iActive]=0;
- SetPlayerSkin(playerid, UserCache[pUID[playerid]][uSkin]);
- ClearAnimations(playerid);
- new msg[128];
- format(msg, sizeof(msg), "przebiera się.");
- SendPlayerMe(playerid, msg);
- return 1;
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Nosisz już na sobie jakieś ubranie.");
- }
- }
- }
- }
- ItemCache[itemuid][iActive]=1;
- SetPlayerSkin(playerid, ItemCache[itemuid][iVal]);
- ClearAnimations(playerid);
- new msg[128];
- format(msg, sizeof(msg), "przebiera się.");
- SendPlayerMe(playerid, msg);
- return 1;
- }
- if(ItemCache[itemuid][iType] == 4)
- {
- if(ItemCache[itemuid][iVal3] == 1)
- {
- if(UserCache[pUID[playerid]][uHealth] >= 10.0)
- return TextDrawForPlayerEx(playerid, 1, "Nie potrzebujesz leku, bo stan zdrowia twojej postaci jest dobry.", 5000);
- }
- else if(UserCache[pUID[playerid]][uHealth] < 10.0)
- {
- return ShowDialogInfo(playerid, "Twój stan zdrowia jest zbyt niski.\nUdaj się do apteki by zakupić lek.");
- }
- if(ItemCache[itemuid][iVal2] == 0)
- ApplyAnimation(playerid, "FOOD", "eat_burger", 4.1, 0, 0, 0, 0, 0, 0);
- else if(ItemCache[itemuid][iVal2] == 1)
- SetPlayerSpecialAction(playerid, 20);
- else if(ItemCache[itemuid][iVal2] == 2)
- SetPlayerSpecialAction(playerid, 21);
- else if(ItemCache[itemuid][iVal2] == 3)
- SetPlayerSpecialAction(playerid, 22);
- else if(ItemCache[itemuid][iVal2] == 4)
- SetPlayerSpecialAction(playerid, 23);
- if(floatround(UserCache[pUID[playerid]][uHealth])+ItemCache[itemuid][iVal] > 100)
- {
- UserCache[pUID[playerid]][uHealth]=100.0;
- SetPlayerHealth(playerid, 100);
- }
- else
- {
- UserCache[pUID[playerid]][uHealth] = UserCache[pUID[playerid]][uHealth]+ItemCache[itemuid][iVal];
- SetPlayerHealth(playerid, UserCache[pUID[playerid]][uHealth]);
- }
- new msg[128];
- format(msg, sizeof(msg), "spożywa %s.", ItemCache[itemuid][iName]);
- SendPlayerMe(playerid, msg);
- ItemCache[itemuid][iState] = 3;
- return 1;
- }
- if(ItemCache[itemuid][iType] == 5)
- {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new vw = GetPlayerVirtualWorld(playerid);
- for(new j=1; j < LastiUID; j++)
- {
- if(ItemCache[j][iState] == 0)
- {
- if(ItemCache[j][iActive])
- {
- if(ItemCache[j][iOwner] == pUID[playerid])
- {
- if(ItemCache[j][iType] == 5)
- {
- DestroyDynamicObject(ItemCache[j][iVal]);
- ItemCache[j][iActive] = 0;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInRangeOfPoint(i, 50, X, Y, Z))
- {
- if(GetPlayerVirtualWorld(i) == vw)
- {
- StopAudioStreamForPlayer(i);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return ShowDialogBoomBox(playerid);
- }
- if(ItemCache[itemuid][iType] == 6)
- {
- new msg[128];
- new rand = random(6);
- format(msg, sizeof(msg), "* %s wylosował liczbę %d (z 1-6) używając %s. *", RPName(playerid), rand+1, ItemCache[itemuid][iName]);
- if(UserCache[pUID[playerid]][uSex])
- format(msg, sizeof(msg), "* %s wylosowała liczbę %d (z 1-6) używając %s. *", RPName(playerid), rand+1, ItemCache[itemuid][iName]);
- return SendPlayerMessageInRange(playerid, msg, DO_SHADE_1, DO_SHADE_2, DO_SHADE_3, DO_SHADE_4, DO_SHADE_5, DO_SHADE_6);
- }
- if(ItemCache[itemuid][iType] == 7)
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iType] == 7)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iUID] == itemuid)
- {
- new msg[128];
- format(msg, sizeof(msg), "zdejmuje %s.", ItemCache[itemuid][iName]);
- SendPlayerMe(playerid, msg);
- SetPlayerName(playerid, UserCache[pUID[playerid]][uName]);
- ItemCache[i][iActive]=0;
- UpdatePlayerName(playerid);
- SetPlayerScore(playerid, UserCache[pUID[playerid]][uSP]);
- return 1;
- }
- else
- return SendClientMessage(playerid, COLOR_GRAY, "Masz już założoną jakąś maskę.");
- }
- }
- }
- }
- new msg[128];
- format(msg, sizeof(msg), "zakłada %s.", ItemCache[itemuid][iName]);
- SendPlayerMe(playerid, msg);
- format(msg, sizeof(msg), "Nieznajomy_%d", playerid+7542);
- if(UserCache[pUID[playerid]][uSex])
- format(msg, sizeof(msg), "Nieznajoma_%d", playerid+7542);
- SetPlayerName(playerid, msg);
- UpdatePlayerName(playerid);
- ItemCache[itemuid][iActive] = 1;
- SetPlayerScore(playerid, 0);
- }
- if(ItemCache[itemuid][iType] == 8)
- {
- CreateSystemVehicle(ItemCache[itemuid][iVal], random(255), random(255),-199.4787,1223.2294,19.7113, playerid, 0,178.2287);
- SpawnVehicle(LastvUID-1);
- ItemCache[itemuid][iState] = 3;
- MapIcon[playerid] = CreateDynamicMapIcon(876.5847,-1259.2781,14.6456, 55,-1, 0, 0, playerid,-1, 3);
- MapIconTimer[playerid] = SetTimerEx("DestroyIcon", 5000*60, false, "i", playerid);
- return TextDrawForPlayerEx(playerid, 1, "Pojazd zostal zespawnowany!~n~Ikona samochodu pojawila sie na radarze.", 10000);
- }
- if(ItemCache[itemuid][iType] == 9)
- {
- if(IsPlayerInAnyVehicle(playerid))
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz znajdować się w pojeździe.");
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iType] == 9)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iUID] == itemuid)
- {
- if(ItemCache[i][iActive])
- {
- ItemCache[i][iActive] = 0;
- KillTimer(PlayerRepairingVehicle[playerid][repairTimer]);
- return GameTextForPlayer(playerid, "~r~~h~naprawa anulowana", 3000, 4);
- }
- }
- else if(ItemCache[i][iUID] != itemuid && ItemCache[i][iActive])
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz wyjąć kolejnego zestawu naprawczego.");
- }
- }
- }
- }
- new vid = GetPlayerCameraTargetVehicle(playerid);
- if(vid)
- {
- new Float:X, Float:Y, Float:Z;
- GetVehiclePos(vid, X, Y, Z);
- if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- return GameTextForPlayer(playerid, "~r~~h~stan blizej", 3000, 4);
- PlayerRepairingVehicle[playerid][repairVehicleUID] = GetVehicleUID(vid);
- if(VehicleCache[GetVehicleUID(vid)][vHP] > 300)
- return TextDrawForPlayerEx(playerid, 1, "Ten pojazd jest w stanie uruchomic silnik~n~Naprawa jest niepotrzebna.", 3000);
- TextDrawForPlayerEx(playerid, 1, "Rozpoczynasz naprawe pojazdu.~n~Odegraj akcje RolePlay naprawy pojazdu.", 10000);
- PlayerRepairingVehicle[playerid][repairTime] = 30;
- ItemCache[itemuid][iActive] = 1;
- PlayerRepairingVehicle[playerid][repairTimer] = SetTimerEx("RepairingVehicle", 1000, true, "i", playerid);
- }
- return GameTextForPlayer(playerid, "~r~~h~spojrz na pojazd", 3000, 4);
- }
- if(ItemCache[itemuid][iType] == 10)
- {
- new Float:vx, Float:vy, Float:vz, vvw, pvw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<=GetVehiclePoolSize(); i++)
- {
- vvw = GetVehicleVirtualWorld(i);
- if(pvw == vvw)
- {
- GetVehiclePos(i, vx, vy, vz);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, vx, vy, vz))
- {
- new vuid = GetVehicleUID(i);
- new fuel = VehicleCache[vuid][vFuel];
- if(VehicleCache[vuid][vEngine])
- return ShowDialogInfo(playerid, "Silnik w tym pojeździe musi być zgaszony.");
- if(fuel + ItemCache[itemuid][iVal] > 100)
- return TextDrawForPlayerEx(playerid, 1, "W tym pojezdzie nie zmiesci sie az tyle paliwa.", 3000);
- if(IsPlayerInAnyVehicle(playerid))
- return ShowDialogInfo(playerid, "Nie możesz użyć tej funkcji znajdując się w pojeździe.");
- VehicleCache[vuid][vFuel] += ItemCache[itemuid][iVal];
- new str[128]; format(str, sizeof(str), "uzupełnia bak paliwa pojazdu marki %s", GetVehicleName(GetVehicleModel(i)));
- ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- ItemCache[itemuid][iState] = 3;
- return SendPlayerMe(playerid, str);
- }
- }
- }
- return TextDrawForPlayerEx(playerid, 1, "Nie znajdujesz sie w poblizu zadnego pojazdu.", 3000);
- }
- if(ItemCache[itemuid][iType] == 11)
- {
- new weapontoload = ItemCache[itemuid][iVal], list[256], info[64], count;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iType] == 1)
- {
- if(ItemCache[i][iVal] == weapontoload)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iState] == 0)
- {
- format(info, sizeof(info), "%d\t%s\n", ItemCache[i][iUID], ItemCache[i][iName]);
- strins(list, info, strlen(list)); count++;
- }
- }
- }
- }
- }
- if(count)
- return ShowPlayerDialog(playerid, D_AMMO, DIALOG_STYLE_LIST, "Wybierz broń", list, "Wybierz", "Anuluj");
- return ShowDialogInfo(playerid, "Brak pasujących przedmiotów do tego rodzaju amunicji.");
- }
- if(ItemCache[itemuid][iType] == 12)
- {
- new model = ItemCache[itemuid][iVal];
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- new index;
- if(!IsPlayerAttachedObjectSlotUsed(playerid, 0))
- index = 0;
- else if(!IsPlayerAttachedObjectSlotUsed(playerid, 1))
- index = 1;
- else if(!IsPlayerAttachedObjectSlotUsed(playerid, 2))
- index = 2;
- else if(!IsPlayerAttachedObjectSlotUsed(playerid, 3))
- index = 3;
- else if(!IsPlayerAttachedObjectSlotUsed(playerid, 4))
- index = 4;
- else return ShowDialogInfo(playerid, "Posiadasz już limit doczepianych akcesorium na raz.");
- ItemCache[itemuid][iVal2] = index;
- new bone = ItemCache[itemuid][iVal3];
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iType] == 12)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iUID] == itemuid)
- {
- ItemCache[i][iActive] = 0;
- return RemovePlayerAttachedObject(playerid, ItemCache[i][iVal2]);
- }
- }
- }
- }
- }
- }
- SetPlayerAttachedObject(playerid, index, model, bone, ItemCache[itemuid][iAttachX], ItemCache[itemuid][iAttachY], ItemCache[itemuid][iAttachZ], ItemCache[itemuid][iAttachrX], ItemCache[itemuid][iAttachrY],
- ItemCache[itemuid][iAttachrZ], ItemCache[itemuid][iSizeX], ItemCache[itemuid][iSizeY], ItemCache[itemuid][iSizeZ],0, 0);
- if(!ItemCache[itemuid][iAttachX] && !ItemCache[itemuid][iAttachY] && !ItemCache[itemuid][iAttachZ] && !ItemCache[itemuid][iAttachrX] && !ItemCache[itemuid][iAttachrY] && !ItemCache[itemuid][iAttachrZ] &&
- ItemCache[itemuid][iSizeX]==1 && ItemCache[itemuid][iSizeY]==1 && ItemCache[itemuid][iSizeZ]==1)
- EditAttachedObject(playerid, index);
- ItemCache[itemuid][iActive] = 1;
- }
- if(ItemCache[itemuid][iType] == 13)
- {
- new list[525], info[128];
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 4)
- {
- if(ItemCache[i][iOwner] == itemuid)
- {
- format(info, sizeof(info), "%d\t%s\n", ItemCache[i][iUID], ItemCache[i][iName]);
- strins(list, info, strlen(list));
- }
- }
- }
- if(Isnull(list))
- return ShowDialogInfo(playerid, "Ta torba jest pusta.");
- return ShowPlayerDialog(playerid, D_BAG, DIALOG_STYLE_LIST, "Torba", list, "Wyjmij", "Zamknij");
- }
- if(ItemCache[itemuid][iType] == 14)
- {
- new vid = GetPlayerCameraTargetVehicle(playerid);
- if(vid != INVALID_VEHICLE_ID)
- {
- new vuid = GetVehicleUID(vid);
- if(VehicleCache[vuid][vOwner] != pUID[playerid])
- return TextDrawForPlayerEx(playerid, 1, "~r~~h~Ten pojazd nie nalezy do Ciebie.", 3000);
- if(VehicleCache[vuid][vRegister])
- return TextDrawForPlayerEx(playerid, 1, "Ten pojazd posiada juz rejestracje.", 3000);
- pVal[playerid] = 2;
- pVal2[playerid] = vuid;
- ItemCache[itemuid][iState] = 3;
- PlayerTextDrawSetString(playerid, RadarTextDraw[playerid], "Odegraj akcje RolePlay montazu rejestracji na pojazd.~n~Glupoty wypisywane na szybko beda karane!");
- return PlayerTextDrawShow(playerid, RadarTextDraw[playerid]);
- }
- return TextDrawForPlayerEx(playerid, 1, "Spojrz na pojazd na, ktory chcesz nalozyc nowa rejestracje.", 3000);
- }
- return 1;
- }
- forward RepairingVehicle(playerid);
- public RepairingVehicle(playerid)
- {
- new targetid = GetPlayerCameraTargetVehicle(playerid);
- new targetuid = GetVehicleUID(targetid);
- if(targetuid != PlayerRepairingVehicle[playerid][repairVehicleUID])
- return GameTextForPlayer(playerid, "~r~~h~spojrz na pojazd", 1000, 4);
- new Float:X, Float:Y, Float:Z;
- GetVehiclePos(targetid, X, Y, Z);
- if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- return GameTextForPlayer(playerid, "~r~~h~stan blizej!", 1000, 4);
- new str[64];
- format(str, sizeof(str), "~b~~h~~h~~h~%d", PlayerRepairingVehicle[playerid][repairTime]);
- GameTextForPlayer(playerid, str, 1000, 4);
- PlayerRepairingVehicle[playerid][repairTime]--;
- format(str, sizeof(str), "~b~~h~~h~~h~%d", PlayerRepairingVehicle[playerid][repairTime]);
- if(PlayerRepairingVehicle[playerid][repairTime] != 0)
- {
- format(str, sizeof(str), "~b~~h~~h~~h~%d", PlayerRepairingVehicle[playerid][repairTime]);
- }
- else
- {
- GameTextForPlayer(playerid, "~b~~h~~h~~h~gotowe!", 1000, 4);
- }
- if(PlayerRepairingVehicle[playerid][repairTime] == 0)
- {
- new vuid = PlayerRepairingVehicle[playerid][repairVehicleUID];
- new val;
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iType] == 9)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- val = ItemCache[i][iVal];
- ItemCache[i][iState] = 3;
- ItemCache[i][iActive] = 0;
- }
- }
- }
- }
- }
- VehicleCache[vuid][vHP] = VehicleCache[vuid][vHP] + val;
- SetVehicleHealth(VehicleCache[vuid][vID], VehicleCache[vuid][vHP]);
- PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
- KillTimer(PlayerRepairingVehicle[playerid][repairTimer]);
- }
- return 1;
- }
- forward DestroyIcon(playerid);
- public DestroyIcon(playerid)
- {
- KillTimer(MapIconTimer[playerid]);
- DestroyDynamicMapIcon(MapIcon[playerid]);
- }
- stock ShowDialogBoomBox(playerid)
- return ShowPlayerDialog(playerid, D_BOOMBOX, DIALOG_STYLE_INPUT, "Boombox", ""HEX_BLUE"Podaj adres "HEX_GREEN"URL"HEX_BLUE" do buzki z boomboxa.", "Gotowe!", "Anuluj");
- stock ShowDialogAnswer(playerid)
- return ShowPlayerDialog(playerid, D_ANSWER, DIALOG_STYLE_LIST, "Telefon > Połączenie przychodzące", "1\t"HEX_GREEN"Odbierz\n2\t"HEX_RED"Odrzuć", "Wybierz", "Anuluj");
- stock ShowDialogPhone(playerid)
- return ShowPlayerDialog(playerid, D_PHONE, DIALOG_STYLE_LIST, "Telefon", ""HEX_WHITE"1\t"HEX_GREEN"Kontakty"HEX_WHITE"\n2\t"HEX_BLUE"Skrzynka odbiorcza"HEX_WHITE"\n3\tZadzwoń pod numer\n4\tWyślij SMS\n5\t"HEX_RED"Wyłącz telefon", "Wybierz", "Anuluj");
- stock ShowDialogUseWeap(playerid)
- {
- return ShowPlayerDialog(playerid, D_USE_WEAP, DIALOG_STYLE_INPUT, "Użycie broni", ""HEX_WHITE"Napisz z/do którego wyjmujesz/chowasz swoją broń.\nNp. Z kabury/do kabury.", "Użyj", "Anuluj");
- }
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- new bool:ischeater=true;
- for(new i=1;i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 1)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(weaponid == ItemCache[i][iVal])
- {
- ischeater=false;
- break;
- }
- }
- }
- }
- }
- if(ischeater == true)
- {
- return !KickPlayer(playerid, "System", "Weapon Cheat (A)");
- }
- for(new i=1; i<LastiUID;i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iOwner]==pUID[playerid])
- {
- if(ItemCache[i][iType] == 1)
- {
- ItemCache[i][iVal2]--;
- if(!ItemCache[i][iVal2])
- {
- ResetPlayerWeapons(playerid);
- SetTimerEx("HideWeapon", 1000, false, "ii", ItemCache[i][iUID], playerid);
- SendClientMessage(playerid, COLOR_GRAY, "W broni skończyła się amunicja.");
- return 1;
- }
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerShootDynamicObject(playerid, weaponid, STREAMER_TAG_OBJECT objectid, Float:x, Float:y, Float:z)
- {
- new bool:ischeater=true;
- for(new i=1;i<LastiUID; i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 1)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(weaponid == ItemCache[i][iVal])
- {
- ischeater=false;
- break;
- }
- }
- }
- }
- }
- if(ischeater == true)
- {
- return !KickPlayer(playerid, "System", "Weapon Cheat (A)");
- }
- for(new i=1; i<LastiUID;i++)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iOwner]==pUID[playerid])
- {
- if(ItemCache[i][iType] == 1)
- {
- ItemCache[i][iVal2]--;
- if(!ItemCache[i][iVal2])
- {
- ResetPlayerWeapons(playerid);
- SetTimerEx("HideWeapon", 1000, false, "ii", ItemCache[i][iUID], playerid);
- SendClientMessage(playerid, COLOR_GRAY, "W broni skończyła się amunicja.");
- return 1;
- }
- }
- }
- }
- }
- return 1;
- }
- CMD:stats (playerid, params[])
- return ShowDialogStats(playerid);
- stock ShowDialogStats(playerid)
- {
- new pIP[64];
- GetPlayerIp(playerid, pIP, sizeof(pIP));
- new info[520];
- format(info, sizeof(info), "%s\t%dh %dmin\n\
- "HEX_WHITE"Zdrowie:\t%s%fHP\t \n\
- Aktualnie ubranie:\t%d\n\
- Standardowy skin:\t%d\n\
- Gotówka:\t"HEX_GREEN"%d$\n\
- Czas BW:\t%d\n\
- Czas AJ:\t%d\n\
- Szkodnik Points:\t"HEX_BLUE"%d\n\
- Virtual World:\t%d\n\
- Bank:\t"HEX_GREEN"%d$\n\
- ---\n\
- 1\tUstawienia postaci\n\
- 2\tUsługi\n\
- 3\tDokumenty postaci\n\
- 4\tPrzełączniki postaci",
- strreplace(PlayerName(playerid), '_', ' '),
- UserCache[pUID[playerid]][uH],
- UserCache[pUID[playerid]][uMin],
- GetHPHex(UserCache[pUID[playerid]][uHealth]),
- UserCache[pUID[playerid]][uHealth],
- GetPlayerSkin(playerid),
- UserCache[pUID[playerid]][uSkin],
- UserCache[pUID[playerid]][uCash],
- UserCache[pUID[playerid]][uBW],
- UserCache[pUID[playerid]][uAJ],
- UserCache[pUID[playerid]][uSP],
- GetPlayerVirtualWorld(playerid),
- UserCache[pUID[playerid]][uBank]);
- return ShowPlayerDialog(playerid, D_STATS, DIALOG_STYLE_TABLIST_HEADERS, "Statystyki", info, "Wybierz", "Anuluj");
- }
- stock SendMeInRange(playerid, msg[])
- {
- return SendPlayerMe(playerid, msg);
- }
- stock SendDoInRange(playeri, msg[])
- {
- return SendPlayerMe(playerid, msg);
- }
- stock GetHPHex(Float:HP)
- {
- new hex[16];
- if(HP < 10)
- hex = HEX_RED;
- else
- hex = HEX_GREEN;
- return hex;
- }
- CMD:g (playerid, params[])
- {
- if(!Isnull(params))
- {
- new slot, sub[32], targetid;
- sscanf(params, "is[32]r", slot, sub, targetid);
- switch(slot)
- {
- case 1: if(UserCache[pUID[playerid]][uGroup] == 0) return SendClientMessage(playerid, COLOR_GRAY, "Pod wybranym slotem nie znajduje się żadna grupa.");
- case 2: if(UserCache[pUID[playerid]][uGroup2] == 0) return SendClientMessage(playerid, COLOR_GRAY, "Pod wybranym slotem nie znajduje się żadna grupa.");
- case 3: if(UserCache[pUID[playerid]][uGroup3] == 0) return SendClientMessage(playerid, COLOR_GRAY, "Pod wybranym slotem nie znajduje się żadna grupa.");
- default: return SendClientMessage(playerid, COLOR_GRAY, "Nieprawidłowy slot grupy.");
- }
- if(!strcmp(sub, "opusc", true))
- {
- new msg[128];
- switch(slot)
- {
- case 1:
- {
- format(msg, sizeof(msg), "Opuściłeś/aś grupę %s.", GroupCache[UserCache[pUID[playerid]][uGroup]][gName]);
- UserCache[pUID[playerid]][uGroup] = 0;
- }
- case 2:
- {
- format(msg, sizeof(msg), "Opuściłeś/aś grupę %s.", GroupCache[UserCache[pUID[playerid]][uGroup2]][gName]);
- UserCache[pUID[playerid]][uGroup2] = 0;
- }
- case 3:
- {
- format(msg, sizeof(msg), "Opuściłeś/aś grupę %s.", GroupCache[UserCache[pUID[playerid]][uGroup3]][gName]);
- UserCache[pUID[playerid]][uGroup3] = 0;
- }
- }
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- else if(!strcmp(sub, "info", true))
- {
- switch(slot)
- {
- case 1:
- {
- SetPVarInt(playerid, "iUID", UserCache[pUID[playerid]][uGroup]);
- new DEBUG[128];
- format(DEBUG, sizeof(DEBUG), "Panel: %d", GetPVarInt(playerid, "iUID"));
- SendClientMessage(playerid, -1, DEBUG);
- }
- case 2:
- {
- SetPVarInt(playerid, "iUID", UserCache[pUID[playerid]][uGroup2]);
- }
- case 3:
- {
- SetPVarInt(playerid, "iUID", UserCache[pUID[playerid]][uGroup3]);
- }
- }
- return ShowDialogGroupPanel(playerid);
- }
- else if(!strcmp(sub, "zapros", true))
- {
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- new Float:X, Float:Y, Float:Z, pvw = GetPlayerVirtualWorld(playerid); GetPlayerPos(playerid, X, Y, Z);
- if(!IsPlayerInRangeOfPoint(targetid, 5.0, X, Y, Z) || GetPlayerVirtualWorld(targetid) != pvw)
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz jest zbyt daleko.");
- new guid;
- switch(slot)
- {
- case 1: guid = UserCache[pUID[playerid]][uGroup];
- case 2: guid = UserCache[pUID[playerid]][uGroup2];
- case 3: guid = UserCache[pUID[playerid]][uGroup3];
- }
- if(UserCache[pUID[targetid]][uGroup] == guid || UserCache[pUID[targetid]][uGroup2] == guid || UserCache[pUID[targetid]][uGroup3] == guid)
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz należy już do tej grupy.");
- pVal[targetid] = pUID[playerid];
- pVal2[targetid] = guid;
- new header[64]; format(header, sizeof(header), "Zaproszenie do grupy %s", GroupCache[guid][gName]);
- new info[256]; format(info, sizeof(info),"Otrzymano zaproszenie do grupy %s przez gracza %s.\nMożesz dołączyć do tej grupy wybierając tak lub nie.\nCzy akceptujesz tę ofertę?",
- GroupCache[guid][gName], RPName(playerid));
- ShowPlayerDialog(targetid, D_JOIN_GROUP, DIALOG_STYLE_MSGBOX, header, info, "Tak", "Nie");
- return TextDrawForPlayerEx(playerid, 1, "Oferta ~g~wyslana.", 3000);
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Tip; /g [slot] info/zapros/opusc");
- }
- else
- {
- if(pChoosingTxd[playerid])
- {
- PlayerTextDrawHide(playerid, Group[playerid]);
- PlayerTextDrawHide(playerid, Group2[playerid]);
- PlayerTextDrawHide(playerid, Group3[playerid]);
- PlayerTextDrawHide(playerid, GroupLabel[playerid]);
- pChoosingTxd[playerid]=0;
- CancelSelectTextDraw(playerid);
- return 1;
- }
- new uid = pUID[playerid];
- new string[128];
- PlayerTextDrawShow(playerid, GroupLabel[playerid]);
- PlayerTextDrawSetString(playerid, Group[playerid], "Brak");
- PlayerTextDrawSetString(playerid, Group2[playerid], "Brak");
- PlayerTextDrawSetString(playerid, Group3[playerid], "Brak");
- if(UserCache[uid][uGroup] != 0)
- {
- format(string, sizeof(string), "%s (%d min)", GroupCache[UserCache[uid][uGroup]][gName], UserCache[uid][uGroupDuty]);
- PlayerTextDrawSetString(playerid, Group[playerid], string);
- }
- if(UserCache[uid][uGroup2] != 0)
- {
- format(string, sizeof(string), "%s (%d min)", GroupCache[UserCache[uid][uGroup2]][gName], UserCache[uid][uGroupDuty2]);
- PlayerTextDrawSetString(playerid, Group2[playerid], string);
- }
- if(UserCache[uid][uGroup3] != 0)
- {
- format(string, sizeof(string), "%s (%d min)", GroupCache[UserCache[uid][uGroup3]][gName], UserCache[uid][uGroupDuty3]);
- PlayerTextDrawSetString(playerid, Group3[playerid], string);
- }
- PlayerTextDrawShow(playerid, Group3[playerid]);
- PlayerTextDrawShow(playerid, Group2[playerid]);
- PlayerTextDrawShow(playerid, Group[playerid]);
- SelectTextDraw(playerid, 0x6088D2FF);
- pChoosingTxd[playerid]=1;
- return 1;
- }
- }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
- {
- new uid = pUID[playerid];
- if(playertextid == Group[playerid])
- {
- PlayerTextDrawHide(playerid, Group[playerid]);
- PlayerTextDrawHide(playerid, Group2[playerid]);
- PlayerTextDrawHide(playerid, Group3[playerid]);
- PlayerTextDrawHide(playerid, GroupLabel[playerid]);
- CancelSelectTextDraw(playerid);
- if(UserCache[uid][uGroup] != 0)
- {
- if(pDuty[playerid] != 0)
- {
- new str[64];
- format(str, sizeof(str), "Schodzisz ze sluzby:~n~~y~%s", GroupCache[pDuty[playerid]][gName]);
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- pDuty[playerid] = 0;
- PlayerTextDrawHide(playerid, DutyTxd[playerid]);
- UpdatePlayerName(playerid);
- return 1;
- }
- pDuty[playerid] = GroupCache[UserCache[uid][uGroup]][gUID];
- new str[64];
- format(str, sizeof(str), "Wchodzisz na sluzbe:~n~~y~%s", GroupCache[UserCache[uid][uGroup]][gName]);
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- format(str, sizeof(str), "Sluzba: ~y~%s", GroupCache[UserCache[uid][uGroup]][gName]);
- PlayerTextDrawSetString(playerid, DutyTxd[playerid], str);
- PlayerTextDrawShow(playerid, DutyTxd[playerid]);
- UpdatePlayerName(playerid);
- return 1;
- }
- return 1;
- }
- if(playertextid == Group2[playerid])
- {
- PlayerTextDrawHide(playerid, Group[playerid]);
- PlayerTextDrawHide(playerid, Group2[playerid]);
- PlayerTextDrawHide(playerid, Group3[playerid]);
- PlayerTextDrawHide(playerid, GroupLabel[playerid]);
- CancelSelectTextDraw(playerid);
- if(UserCache[uid][uGroup2] != 0)
- {
- if(pDuty[playerid] != 0)
- {
- new str[64];
- format(str, sizeof(str), "Schodzisz ze sluzby:~n~~y~%s", GroupCache[pDuty[playerid]][gName]);
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- PlayerTextDrawHide(playerid, DutyTxd[playerid]);
- pDuty[playerid] = 0;
- UpdatePlayerName(playerid);
- return 1;
- }
- pDuty[playerid] = GroupCache[UserCache[uid][uGroup2]][gUID];
- new str[64];
- format(str, sizeof(str), "Wchodzisz na sluzbe:~n~~y~%s", GroupCache[UserCache[uid][uGroup2]][gName]);
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- format(str, sizeof(str), "Sluzba: ~y~%s", GroupCache[UserCache[uid][uGroup2]][gName]);
- PlayerTextDrawSetString(playerid, DutyTxd[playerid], str);
- PlayerTextDrawShow(playerid, DutyTxd[playerid]);
- UpdatePlayerName(playerid);
- return 1;
- }
- return 1;
- }
- if(playertextid == Group3[playerid])
- {
- PlayerTextDrawHide(playerid, Group[playerid]);
- PlayerTextDrawHide(playerid, Group2[playerid]);
- PlayerTextDrawHide(playerid, Group3[playerid]);
- PlayerTextDrawHide(playerid, GroupLabel[playerid]);
- CancelSelectTextDraw(playerid);
- if(UserCache[uid][uGroup3] != 0)
- {
- if(pDuty[playerid] != 0)
- {
- new str[64];
- format(str, sizeof(str), "Schodzisz ze sluzby:~n~~y~%s", GroupCache[pDuty[playerid]][gName]);
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- PlayerTextDrawHide(playerid, DutyTxd[playerid]);
- pDuty[playerid] = 0;
- UpdatePlayerName(playerid);
- return 1;
- }
- pDuty[playerid] = GroupCache[UserCache[uid][uGroup3]][gUID];
- new str[64];
- format(str, sizeof(str), "Wchodzisz na sluzbe:~n~~y~%s", GroupCache[UserCache[uid][uGroup3]][gName]);
- TextDrawForPlayerEx(playerid, 1, str, 5000);
- format(str, sizeof(str), "Sluzba: ~y~%s", GroupCache[UserCache[uid][uGroup3]][gName]);
- PlayerTextDrawSetString(playerid, DutyTxd[playerid], str);
- PlayerTextDrawShow(playerid, DutyTxd[playerid]);
- UpdatePlayerName(playerid);
- return 1;
- }
- return 1;
- }
- return 0;
- }
- stock GroupPath(id)
- {
- new path[64];
- format(path, sizeof(path), FOLDER_GROUPS"%d.ini", id);
- return path;
- }
- stock LoadGroups()
- {
- new gname[32], gcolor[16];
- for(new i=1; i<LastgUID; i++)
- {
- dfile_Open(GroupPath(i));
- GroupCache[i][gUID] = dfile_ReadInt("UID");
- GroupCache[i][gType] = dfile_ReadInt("Type");
- GroupCache[i][gBank] = dfile_ReadInt("Bank");
- format(gname, sizeof(gname), dfile_ReadString("Name"));
- GroupCache[i][gName] = gname;
- GroupCache[i][gChatOOC] = dfile_ReadBool("OOC");
- GroupCache[i][gChatIC] = dfile_ReadBool("IC");
- format(gcolor, sizeof(gcolor), dfile_ReadString("Color"));
- GroupCache[i][gState] = dfile_ReadInt("State");
- GroupCache[i][gColor] = gcolor;
- dfile_CloseFile();
- }
- }
- stock SaveGroups()
- {
- for(new i=1; i<LastgUID; i++)
- {
- if(!dfile_FileExists(GroupPath(i)))
- dfile_Create(GroupPath(i));
- dfile_Open(GroupPath(i));
- dfile_WriteInt("Type", GroupCache[i][gType]);
- dfile_WriteInt("UID", GroupCache[i][gUID]);
- dfile_WriteInt("Bank", GroupCache[i][gBank]);
- dfile_WriteString("Name", GroupCache[i][gName]);
- dfile_WriteBool("OOC", GroupCache[i][gChatOOC]);
- dfile_WriteBool("IC", GroupCache[i][gChatIC]);
- dfile_WriteString("Color", GroupCache[i][gColor]);
- dfile_WriteInt("State", GroupCache[i][gState]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- CMD:agrupa (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new gtype, gname[128], gcolor[16];
- if(sscanf(params, "is[128]s[128]", gtype, gcolor, gname))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /agrupa [Rodzaj grupy] [Kolor rggb] [Nazwa grupy]");
- CreateGroup(gtype, gname, gcolor);
- new msg[128];
- format(msg, sizeof(msg), "Grupa została utworzona: %s (UID: %d)", GroupCache[LastgUID-1][gName], GroupCache[LastgUID-1][gUID]);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- CMD:adodaj (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new targetid, groupuid;
- if(sscanf(params, "ri", targetid, groupuid))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /adodaj [ID/Część nazwy gracza] [Grupa UID]");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Wybrany gracz nie jest na serwerze lub nie zalogował się do gry.");
- if(UserCache[pUID[targetid]][uGroup] == 0)
- {
- UserCache[pUID[targetid]][uGroup] = groupuid;
- return SendClientMessage(playerid, COLOR_GRAY, "Dodano.");
- }
- else if(UserCache[pUID[targetid]][uGroup2] == 0)
- {
- UserCache[pUID[targetid]][uGroup2] = groupuid;
- return SendClientMessage(playerid, COLOR_GRAY, "Dodano.");
- }
- else if(UserCache[pUID[targetid]][uGroup3] == 0)
- {
- UserCache[pUID[targetid]][uGroup3] = groupuid;
- return SendClientMessage(playerid, COLOR_GRAY, "Dodano.");
- }
- else
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie ma wolnych slotów grupowych.");
- }
- stock AddPlayerToGroup(playerid, groupuid)
- {
- if(UserCache[pUID[playerid]][uGroup] == 0)
- {
- UserCache[pUID[playerid]][uGroup] = groupuid;
- return 1;
- }
- else if(UserCache[pUID[playerid]][uGroup2] == 0)
- {
- UserCache[pUID[playerid]][uGroup2] = groupuid;
- return 1;
- }
- else if(UserCache[pUID[playerid]][uGroup3] == 0)
- {
- UserCache[pUID[playerid]][uGroup3] = groupuid;
- return 1;
- }
- return 0;
- }
- stock HasPlayerFreeSlots(playerid)
- {
- new uid = pUID[playerid];
- if(UserCache[uid][uGroup] == 0 || UserCache[uid][uGroup2] == 0 || UserCache[uid][uGroup3] == 0)
- return 1;
- return 0;
- }
- stock CreateGroup(grouptype, gname[], color[])
- {
- new name[32]; format(name, sizeof(name), gname);
- GroupCache[LastgUID][gUID] = LastgUID;
- GroupCache[LastgUID][gType] = grouptype;
- GroupCache[LastgUID][gName] = name;
- GroupCache[LastgUID][gChatIC] = false;
- GroupCache[LastgUID][gChatOOC] = false;
- GroupCache[LastgUID][gBank] = 1000;
- new gcolor[16]; format(gcolor, sizeof(gcolor), color);
- GroupCache[LastgUID][gColor] = gcolor;
- LastgUID++;
- }
- stock AddObject(model,Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, VW, ownertype, owner)
- {
- ObjectCache[LastoUID][oX] = X;
- ObjectCache[LastoUID][oY] = Y;
- ObjectCache[LastoUID][oZ] = Z;
- ObjectCache[LastoUID][oVW] = VW;
- ObjectCache[LastoUID][oModel] = model;
- ObjectCache[LastoUID][orX] = rX;
- ObjectCache[LastoUID][orY] = rY;
- ObjectCache[LastoUID][orZ] = rZ;
- ObjectCache[LastoUID][oID] = CreateDynamicObject(model, X, Y, Z, rX, rY, rZ,VW, 0, -1);
- ObjectCache[LastoUID][oUID] = LastoUID;
- ObjectCache[LastoUID][oGate] = 0;
- ObjectCache[LastoUID][oGateX] = 0.0;
- ObjectCache[LastoUID][oGateY] = 0.0;
- ObjectCache[LastoUID][oGateZ] = 0.0;
- ObjectCache[LastoUID][oGaterX] = 0.0;
- ObjectCache[LastoUID][oGaterY] = 0.0;
- ObjectCache[LastoUID][oGaterZ] = 0.0;
- ObjectCache[LastoUID][oOwnerType] = ownertype;
- ObjectCache[LastoUID][oOwner] =owner;
- LastoUID++;
- return ObjectCache[LastoUID-1][oID];
- }
- stock GetObjectInRange(playerid)
- {
- new pvw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oVW] == pvw)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.5, ObjectCache[i][oX], ObjectCache[i][oY], ObjectCache[i][oZ]))
- {
- return ObjectCache[i][oID];
- }
- }
- }
- }
- return 0;
- }
- CMD:rc (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- return 1;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(GetPVarInt(i, "Spec") == playerid)
- {
- TogglePlayerSpectating(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPVarInt(i, "Spec", -1);
- return 1;
- }
- }
- }
- }
- new targetid;
- if(sscanf(params, "r", targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /rc [ID/Część nicku gracza] by podejrzeć gracza.");
- if(!IsPlayerConnected(targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- if(!pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz jest niezalogowany.");
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(i == targetid)
- {
- if(GetPVarInt(i, "Spec") != -1)
- {
- new targetname[64]; format(targetname, sizeof(targetname), strreplace(PlayerName(GetPVarInt(i, "Spec")), '_', ' '));
- new str[128]; format(str, sizeof(str), "%s podgląda już tego gracza.", targetname);
- return SendClientMessage(playerid, COLOR_GRAY, str);
- }
- }
- }
- }
- }
- TogglePlayerSpectating(playerid, 1);
- SetPVarInt(targetid, "Spec", playerid);
- SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(targetid));
- if(IsPlayerInAnyVehicle(targetid))
- {
- return PlayerSpectateVehicle(playerid, GetPlayerVehicleID(targetid));
- }
- PlayerSpectatePlayer(playerid, targetid);
- return 1;
- }
- stock PlayerEditObject(playerid, objectid)
- {
- new objectUID = GetObjectUID(objectid);
- ApplyAnimation(playerid, "swat", "gnstwall_injurd", 4.1, 0, 0, 0, 1, 0, 0);
- ObjectCache[objectUID][oTimer] = SetTimerEx("ObjectMoving", 125, true, "iii", playerid, objectid, objectUID);
- ObjectCache[objectUID][oPlayer] = playerid;
- return 1;
- }
- stock UpdateObjectPos(objectid, ouid, Float:X, Float:Y, Float:Z)
- {
- ObjectCache[ouid][oX] = X; ObjectCache[ouid][oY] = Y; ObjectCache[ouid][oZ] = Z;
- SetDynamicObjectPos(objectid, ObjectCache[ouid][oX], ObjectCache[ouid][oY], ObjectCache[ouid][oZ]);
- return 1;
- }
- stock UpdateObjectRot(objectid, objectuid, Float:rX, Float:rY, Float:rZ)
- {
- ObjectCache[objectuid][orX] = rX;
- ObjectCache[objectuid][orY] = rY;
- ObjectCache[objectuid][orZ] = rZ;
- SetDynamicObjectRot(objectid, rX, rY, rZ);
- return 1;
- }
- forward ObjectMoving(playerid, objectid, objectuid);
- public ObjectMoving(playerid, objectid, objectuid)
- {
- new index, lib[32], name[32];
- index = GetPlayerAnimationIndex(playerid);
- GetAnimationName(index, lib, sizeof(lib), name, sizeof(name));
- if(!strcmp(lib, "swat", true))
- {
- new Float:X, Float:Y, Float:Z;
- X = ObjectCache[objectuid][oX];
- Y = ObjectCache[objectuid][oY];
- Z = ObjectCache[objectuid][oZ];
- new Float:rX, Float:rY, Float:rZ;
- rX = ObjectCache[objectuid][orX];
- rY = ObjectCache[objectuid][orY];
- rZ = ObjectCache[objectuid][orZ];
- new str[256];
- format(str, sizeof(str), "Pozycja: ~b~~h~~h~%f, %f, %f~n~~w~Rotacja: ~b~~h~~h~%f, %f, %f~w~~n~Obiekt: ~b~~h~~h~%d ~w~UID: ~b~~h~~h~%d", ObjectCache[objectuid][oX], ObjectCache[objectuid][oY], ObjectCache[objectuid][oZ], ObjectCache[objectuid][orX], ObjectCache[objectuid][orY],
- ObjectCache[objectuid][orZ], ObjectCache[objectuid][oModel], objectuid);
- PlayerTextDrawSetString(playerid, ObjectInfo[playerid], str);
- PlayerTextDrawShow(playerid, ObjectInfo[playerid]);
- new keys, ud, lr;
- GetPlayerKeys(playerid, keys, ud, lr);
- if(keys & KEY_JUMP && ud == KEY_UP && keys & KEY_SPRINT)
- UpdateObjectPos(objectid, objectuid, X, Y, Z+1);
- else if(keys & KEY_JUMP && ud == KEY_DOWN && keys & KEY_SPRINT)
- UpdateObjectPos(objectid, objectuid, X, Y, Z-1);
- else if(keys & KEY_JUMP && lr == KEY_LEFT && keys & KEY_SPRINT)
- UpdateObjectRot(objectid, objectuid, rX, rY, rZ+10);
- else if(keys & KEY_JUMP && lr == KEY_RIGHT && keys & KEY_SPRINT)
- UpdateObjectRot(objectid, objectuid, rX, rY, rZ-10);
- else if(ud == KEY_UP && keys & KEY_SPRINT)
- UpdateObjectPos(objectid, objectuid, X, Y+1, Z);
- else if(ud == KEY_DOWN && keys & KEY_SPRINT)
- UpdateObjectPos(objectid, objectuid, X, Y-1, Z);
- else if(lr == KEY_RIGHT && keys & KEY_SPRINT)
- UpdateObjectPos(objectid, objectuid, X+1, Y, Z);
- else if(lr == KEY_LEFT && keys & KEY_SPRINT)
- UpdateObjectPos(objectid, objectuid, X-1, Y, Z);
- else if(keys & KEY_JUMP && ud == KEY_UP && keys & KEY_WALK)
- UpdateObjectPos(objectid, objectuid, X, Y, Z+0.01);
- else if(keys & KEY_JUMP && ud == KEY_DOWN && keys & KEY_WALK)
- UpdateObjectPos(objectid, objectuid, X, Y, Z-0.01);
- else if(keys & KEY_JUMP && lr == KEY_LEFT && keys & KEY_WALK)
- UpdateObjectRot(objectid, objectuid, rX, rY, rZ+0.1);
- else if(keys & KEY_JUMP && lr == KEY_RIGHT && keys & KEY_WALK)
- UpdateObjectRot(objectid, objectuid, rX, rY, rZ-0.1);
- else if(ud == KEY_UP && keys & KEY_WALK)
- UpdateObjectPos(objectid, objectuid, X, Y+0.01, Z);
- else if(ud == KEY_DOWN && keys & KEY_WALK)
- UpdateObjectPos(objectid, objectuid, X, Y-0.01, Z);
- else if(lr == KEY_RIGHT && keys & KEY_WALK)
- UpdateObjectPos(objectid, objectuid, X+0.01, Y, Z);
- else if(lr == KEY_LEFT && keys & KEY_WALK)
- UpdateObjectPos(objectid, objectuid, X-0.01, Y, Z);
- else if(keys & KEY_JUMP && ud == KEY_UP)
- UpdateObjectPos(objectid, objectuid, X, Y, Z+0.10);
- else if(keys & KEY_JUMP && ud == KEY_DOWN)
- UpdateObjectPos(objectid, objectuid, X, Y, Z-0.10);
- else if(keys & KEY_JUMP && lr == KEY_LEFT)
- UpdateObjectRot(objectid, objectuid, rX, rY, rZ+1);
- else if(keys & KEY_JUMP && lr == KEY_RIGHT)
- UpdateObjectRot(objectid, objectuid, rX, rY, rZ-1);
- else if(ud == KEY_UP)
- UpdateObjectPos(objectid, objectuid, X, Y+0.10, Z);
- else if(ud == KEY_DOWN)
- UpdateObjectPos(objectid, objectuid, X, Y-0.10, Z);
- else if(lr == KEY_RIGHT)
- UpdateObjectPos(objectid, objectuid, X+0.10, Y, Z);
- else if(lr == KEY_LEFT)
- UpdateObjectPos(objectid, objectuid, X-0.10, Y, Z);
- }
- return 1;
- }
- CMD:mc (playerid, params[])
- {
- if(GetPlayerVirtualWorld(playerid) == 0 && UserCache[pUID[playerid]][uMapper] == false)
- return ShowDialogInfo(playerid, "Nie masz uprawnień do edycji obiektów na świecie 0.");
- if(GetPlayerObjectID(playerid))
- return SendClientMessage(playerid, -1, "Edytujesz już jakiś obiekt!");
- new model;
- if(sscanf(params, "i", model))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mc [ID obiektu]");
- new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- PlayerEditObject(playerid, AddObject(model, X, Y+0.5, Z, 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), 0, 0));
- return Streamer_Update(playerid);
- }
- CMD:mcopy (playerid, params[])
- {
- new objid = GetPlayerObjectID(playerid);
- if(objid == 0)
- return SendClientMessage(playerid, -1, "Nie edytujesz żadnego obiektu!");
- new objUID = GetObjectUID(objid);
- KillTimer(ObjectCache[objUID][oTimer]);
- ObjectCache[objUID][oPlayer] = -1;
- PlayerEditObject(playerid, AddObject(ObjectCache[objUID][oModel], ObjectCache[objUID][oX], ObjectCache[objUID][oY], ObjectCache[objUID][oZ], ObjectCache[objUID][orX],
- ObjectCache[objUID][orY], ObjectCache[objUID][orZ], GetPlayerVirtualWorld(playerid), 0, 0));
- new actualid = GetPlayerObjectID(playerid);
- new txdname[128];
- new txdtexture[128];
- for(new i=1; i<LasttUID; i++)
- {
- if(TextureCache[i][tObjectUID] == objUID)
- {
- format(txdname, sizeof(txdname), TextureCache[i][tTxdname]);
- TextureCache[LasttUID][tTxdname] = txdname;
- format(txdtexture, sizeof(txdtexture), TextureCache[i][tTexturename]);
- TextureCache[LasttUID][tTexturename] = txdtexture;
- if(TextureCache[i][tType] == 0)
- {
- SetDynamicObjectMaterial(actualid,TextureCache[i][tIndex], TextureCache[i][tModelid], TextureCache[i][tTxdname],TextureCache[i][tTexturename],TextureCache[i][tColor]);
- TextureCache[LasttUID][tObjectUID] = GetObjectUID(GetPlayerObjectID(playerid));
- TextureCache[LasttUID][tColor] = TextureCache[i][tColor];
- TextureCache[LasttUID][tModelid] = TextureCache[i][tModelid];
- TextureCache[LasttUID][tIndex] = TextureCache[i][tIndex];
- TextureCache[LasttUID][tType] = TextureCache[i][tType];
- TextureCache[LasttUID][tBold] = TextureCache[i][tBold];
- TextureCache[LasttUID][tMaterialsize] = TextureCache[i][tMaterialsize];
- TextureCache[LasttUID][tFontsize] = TextureCache[i][tFontsize];
- TextureCache[LasttUID][tAlignment] = TextureCache[i][tAlignment];
- TextureCache[LasttUID][tBackcolor] = TextureCache[i][tBackcolor];
- LasttUID++;
- }
- else
- {
- SetDynamicObjectMaterialText(actualid, TextureCache[i][tIndex], TextureCache[i][tTexturename], TextureCache[i][tMaterialsize], TextureCache[i][tTxdname], TextureCache[i][tFontsize], TextureCache[i][tBold], TextureCache[i][tColor], TextureCache[i][tBackcolor], TextureCache[i][tAlignment]);
- TextureCache[LasttUID][tObjectUID] = GetObjectUID(GetPlayerObjectID(playerid));
- TextureCache[LasttUID][tColor] = TextureCache[i][tColor];
- TextureCache[LasttUID][tModelid] = TextureCache[i][tModelid];
- TextureCache[LasttUID][tIndex] = TextureCache[i][tIndex];
- TextureCache[LasttUID][tType] = TextureCache[i][tType];
- TextureCache[LasttUID][tBold] = TextureCache[i][tBold];
- TextureCache[LasttUID][tMaterialsize] = TextureCache[i][tMaterialsize];
- TextureCache[LasttUID][tFontsize] = TextureCache[i][tFontsize];
- TextureCache[LasttUID][tAlignment] = TextureCache[i][tAlignment];
- TextureCache[LasttUID][tBackcolor] = TextureCache[i][tBackcolor];
- LasttUID++;
- }
- }
- }
- Streamer_Update(playerid);
- return 1;
- }
- CMD:msave (playerid, params[])
- {
- new objectid = GetPlayerObjectID(playerid);
- if(objectid)
- {
- new objectUID = GetObjectUID(objectid);
- KillTimer(ObjectCache[objectUID][oTimer]);
- ObjectCache[objectUID][oPlayer] = -1;
- PlayerTextDrawHide(playerid, ObjectInfo[playerid]);
- return ClearAnimations(playerid);
- }
- return GameTextForPlayer(playerid, "~w~nie edytujesz zadnego obiektu", 1500, 4);
- }
- stock GetObjectUID(objectid)
- {
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oID] == objectid)
- {
- return ObjectCache[i][oUID];
- }
- }
- }
- return 0;
- }
- CMD:msel (playerid, params[])
- {
- if(GetPlayerVirtualWorld(playerid) == 0 && UserCache[pUID[playerid]][uMapper] == false)
- return ShowDialogInfo(playerid, "Nie masz uprawnień do edycji obiektów na świecie 0.");
- if(GetPlayerObjectID(playerid))
- return SendClientMessage(playerid, -1, "Edytujesz już jakiś obiekt!");
- new objectmodel, pvw = GetPlayerVirtualWorld(playerid);
- sscanf(params, "i", objectmodel);
- if(objectmodel != 0)
- {
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oModel] == objectmodel)
- {
- if(IsPlayerInRangeOfPoint(playerid, 20.0, ObjectCache[i][oX], ObjectCache[i][oY], ObjectCache[i][oZ]))
- {
- if(ObjectCache[i][oPlayer] != -1)
- return TextDrawForPlayerEx(playerid, 1, "Ktos juz edytuje ten obiekt.", 3000);
- if(pvw == ObjectCache[i][oVW])
- {
- return PlayerEditObject(playerid, ObjectCache[i][oID]);
- }
- }
- }
- }
- }
- }
- new obj = GetObjectInRange(playerid);
- new objuid = GetObjectUID(obj);
- if(ObjectCache[objuid][oPlayer] != -1)
- return TextDrawForPlayerEx(playerid, 1, "Ten obiekty jest juz przez kogos edytowany.", 3000);
- if(obj)
- return PlayerEditObject(playerid, GetObjectInRange(playerid));
- return TextDrawForPlayerEx(playerid, 1, "Brak obiektow w poblizu", 3000);
- }
- CMD:mpick (playerid, params[])
- {
- if(GetPlayerVirtualWorld(playerid) == 0 && UserCache[pUID[playerid]][uMapper] == false)
- return ShowDialogInfo(playerid, "Nie masz uprawnień do edycji obiektów na świecie 0.");
- new objid = GetPlayerCameraTargetDynObject(playerid);
- if(objid != 0)
- {
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oID] == objid)
- {
- if(ObjectCache[i][oPlayer] != -1)
- return TextDrawForPlayerEx(playerid, 1, "Ktos juz edytuje ten obiekt.", 3000);
- }
- }
- }
- if(GetPlayerObjectID(playerid))
- return SendClientMessage(playerid, -1, "Edytujesz już jakiś obiekt!");
- PlayerEditObject(playerid, objid);
- return TextDrawForPlayerEx(playerid, 1, "Rozpoczynasz edycje obiektu.", 1500);
- }
- return TextDrawForPlayerEx(playerid, 1, "Nie znaleziono zadnego obiektu.", 1500);
- }
- CMD:last10 (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] != 3)
- return 1;
- new model;
- if(sscanf(params, "i", model))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /last10 [model obiektu]");
- new msg[128], count;
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oModel] == model)
- {
- DestroyDynamicObject(ObjectCache[i][oID]);
- ObjectCache[i][oState]=1;
- count++;
- }
- }
- format(msg, sizeof(msg), "Usunięto %d obiektów z modelem: %d", count, model);
- SendClientMessageToAll(COLOR_WHITE, msg);
- return 1;
- }
- stock GetPlayerObjectID(playerid)
- {
- for(new i=1; i < LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oPlayer] == playerid)
- {
- return ObjectCache[i][oID];
- }
- }
- }
- return 0;
- }
- CMD:md (playerid, params[])
- {
- if(!GetPlayerObjectID(playerid))
- return GameTextForPlayer(playerid, "nie edytujesz zadnego obiektu", 1500, 4);
- new objectID = GetPlayerObjectID(playerid), objectUID = GetObjectUID(objectID);
- ObjectCache[objectUID][oPlayer] = -1;
- DestroyDynamicObject(objectID);
- KillTimer(ObjectCache[objectUID][oTimer]);
- PlayerTextDrawHide(playerid, ObjectInfo[playerid]);
- ObjectCache[objectUID][oState]=1;
- return ClearAnimations(playerid);
- }
- CMD:rx (playerid, params[])
- {
- if(!GetPlayerObjectID(playerid))
- return SendClientMessage(playerid, COLOR_GRAY, "Nie edytujesz żadnego obiektu.");
- new Float:rx;
- if(sscanf(params, "f", rx))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /rx [wartość]");
- new ObjectID = GetPlayerObjectID(playerid), ObjectUID = GetObjectUID(ObjectID);
- if(rx <= 0.0)
- UpdateObjectRot(GetPlayerObjectID(playerid), GetObjectUID(GetPlayerObjectID(playerid)), ObjectCache[ObjectUID][orX]+rx,
- ObjectCache[ObjectUID][orY], ObjectCache[ObjectUID][orZ]);
- else
- UpdateObjectRot(GetPlayerObjectID(playerid), GetObjectUID(GetPlayerObjectID(playerid)), ObjectCache[ObjectUID][orX]+rx,
- ObjectCache[ObjectUID][orY], ObjectCache[ObjectUID][orZ]);
- return 1;
- }
- CMD:ry (playerid, params[])
- {
- if(!GetPlayerObjectID(playerid))
- return SendClientMessage(playerid, COLOR_GRAY, "Nie edytujesz żadnego obiektu.");
- new Float:ry;
- if(sscanf(params, "f", ry))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /ry [wartość]");
- new ObjectID = GetPlayerObjectID(playerid), ObjectUID = GetObjectUID(ObjectID);
- if(ry <= 0.0)
- UpdateObjectRot(GetPlayerObjectID(playerid), GetObjectUID(GetPlayerObjectID(playerid)), ObjectCache[ObjectUID][orX],
- ObjectCache[ObjectUID][orY]+ry, ObjectCache[ObjectUID][orZ]);
- else
- UpdateObjectRot(GetPlayerObjectID(playerid), GetObjectUID(GetPlayerObjectID(playerid)), ObjectCache[ObjectUID][orX],
- ObjectCache[ObjectUID][orY]+ry, ObjectCache[ObjectUID][orZ]);
- return 1;
- }
- CMD:rz (playerid, params[])
- {
- if(!GetPlayerObjectID(playerid))
- return SendClientMessage(playerid, COLOR_GRAY, "Nie edytujesz żadnego obiektu.");
- new Float:rz;
- if(sscanf(params, "f", rz))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /rz [wartość]");
- new ObjectID = GetPlayerObjectID(playerid), ObjectUID = GetObjectUID(ObjectID);
- if(rz)
- return UpdateObjectRot(GetPlayerObjectID(playerid), GetObjectUID(GetPlayerObjectID(playerid)), ObjectCache[ObjectUID][orX],
- ObjectCache[ObjectUID][orY], ObjectCache[ObjectUID][orZ]+rz);
- return UpdateObjectRot(GetPlayerObjectID(playerid), GetObjectUID(GetPlayerObjectID(playerid)), ObjectCache[ObjectUID][orX],
- ObjectCache[ObjectUID][orY], ObjectCache[ObjectUID][orZ]+rz);
- }
- cmd:sp (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- {
- return 1;
- }
- new targetid, sp,reason[128];
- if(sscanf(params, "ris[128]", targetid, sp, reason))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /sp [ID/Część nazwy gracza] [ilość] [powód]");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest podłączony do serwera.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- }
- new str[128];
- format(str, sizeof(str), "~b~~h~~h~S~w~Points (%d)~n~~w~Gracz: %s~n~Nadawca: %s~n~~y~%s",sp, PlayerName(targetid), PlayerName(playerid), reason);
- TextDrawSetString(PenalityTextDraw, str);
- TextDrawShowForAll(PenalityTextDraw);
- if(PenalityTimer > 0)
- {
- KillTimer(PenalityTimer);
- }
- PenalityTimer = SetTimer("HidePenalityTextDraw", 15000, false);
- format(str, sizeof(str), "> Otrzymałeś SPoints (%d) od %s. Powód: %s", sp, PlayerName(playerid), reason);
- SendClientMessage(targetid, COLOR_GREEN, str);
- UserCache[pUID[targetid]][uSP] += sp;
- SetPlayerScore(targetid, UserCache[pUID[targetid]][uSP]);
- return 1;
- }
- CMD:kick (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- return 1;
- new targetid, reason[128];
- if(sscanf(params, "rs[128]", targetid, reason))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /kick [ID/Część nazwy gracza] [powód]");
- }
- if(targetid == playerid)
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Nie możesz zkickować samego siebie!");
- }
- if(!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Takiego gracza nie ma na serwerze.");
- }
- if(!pUID[targetid])
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Ten gracz nie jest zalogowany.");
- }
- KickPlayer(targetid, PlayerName(playerid), reason);
- return 1;
- }
- stock GetPlayerFreeSlot(playerid)
- {
- new puid = pUID[playerid];
- if(UserCache[puid][uGroup] == 0)
- return 1;
- else if(UserCache[puid][uGroup2] == 0)
- return 2;
- else if(UserCache[puid][uGroup3] == 0)
- return 3;
- else return 0;
- }
- public OnPlayerClickTextDraw(playerid, Text:clickedid)
- {
- PlayerTextDrawHide(playerid, Group[playerid]);
- PlayerTextDrawHide(playerid, Group2[playerid]);
- PlayerTextDrawHide(playerid, Group3[playerid]);
- PlayerTextDrawHide(playerid, GroupLabel[playerid]);
- pChoosingTxd[playerid] = 0;
- return 0;
- }
- CMD:login (playerid, params[])
- {
- return LogoutPlayer(playerid);
- }
- CMD:mmat (playerid, params[])
- {
- new objectid=GetPlayerObjectID(playerid);
- if(!objectid)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie edytujesz żadnego obiektu.");
- new color, modelid, txdname[128], texturename[128], index, type;
- if(type == 16 || type < -1)
- return SendClientMessage(playerid, COLOR_GRAY, "Nieprawdiłowy index. Poprawny przedział index'u: [-1 do 16]");
- sscanf(params, "ii", index, type);
- new uid = GetObjectUID(objectid);
- if(type == 0)
- {
- if(sscanf(params, "iixis[128]s[128]",index, type ,color, modelid, txdname, texturename))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mmat [typ] [index] [color] [modelid] [txdname] [texturename]");
- SetDynamicObjectMaterial(objectid, index, modelid,txdname, texturename, color);
- TextureCache[LasttUID][tTxdname] = txdname;
- TextureCache[LasttUID][tTexturename] = texturename;
- TextureCache[LasttUID][tColor] = color;
- TextureCache[LasttUID][tModelid] = modelid;
- TextureCache[LasttUID][tObjectUID] = uid;
- TextureCache[LasttUID][tIndex] = index;
- TextureCache[LasttUID][tType] = type;
- TextureCache[LasttUID][tBold] = 0;
- TextureCache[LasttUID][tMaterialsize] = 0;
- TextureCache[LasttUID][tFontsize] = 0;
- TextureCache[LasttUID][tAlignment] = 0;
- TextDrawForPlayerEx(playerid, 1, "Textura zmieniona.",3000);
- }
- else if(type == 1)
- {
- new fontsize, materialsize, bold, backcolor, alignment;
- if(sscanf(params, "iiiiixxis[128]s[128]", index, type, materialsize, fontsize ,bold, color, backcolor, alignment, txdname, texturename))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mmat [index] [typ] [fontsize] [materialsize] [bold] [color] [backcolor] [txdname] [texturename]");
- SetDynamicObjectMaterialText(objectid, index, texturename, materialsize, txdname, fontsize, bold, color, backcolor, alignment);
- TextureCache[LasttUID][tTxdname] = txdname;
- TextureCache[LasttUID][tTexturename] = texturename;
- TextureCache[LasttUID][tColor] = color;
- TextureCache[LasttUID][tModelid] = modelid;
- TextureCache[LasttUID][tObjectUID] = uid;
- TextureCache[LasttUID][tIndex] = index;
- TextureCache[LasttUID][tType] = type;
- TextureCache[LasttUID][tBold] = bold;
- TextureCache[LasttUID][tMaterialsize] = materialsize;
- TextureCache[LasttUID][tFontsize] = fontsize;
- TextureCache[LasttUID][tAlignment] = alignment;
- TextureCache[LasttUID][tBackcolor] = backcolor;
- TextDrawForPlayerEx(playerid, 1, "Ustawiono napis.",3000);
- }
- LasttUID++;
- return 1;
- }
- CMD:pomoc (playerid, params[])
- return ShowDialogHelp(playerid);
- stock ShowDialogHelp(playerid)
- return ShowPlayerDialog(playerid, D_HELP, DIALOG_STYLE_LIST, "Pomoc", ""HEX_WHITE"Przydatne komendy\n"HEX_BLUE"Statystyki\n"HEX_WHITE"Animacje", "Wybierz", "Anuluj");
- stock ShowDialogCommands(playerid)
- return ShowPlayerDialog(playerid, D_COMMANDS, DIALOG_STYLE_LIST, "Pomoc > Przydatne komendy",""HEX_WHITE"Obiekty\nDrzwi\n"HEX_BLUE"Interakcja z graczem", "Wybierz", "Anuluj");
- CMD:pay (playerid, params[])
- {
- new targetid, amount;
- if(sscanf(params, "ri", targetid, amount))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /pay [ID/Część nicku gracza] [ilość gotówki]");
- if(!IsPlayerConnected(targetid) || !pUID[targetid])
- return SendClientMessage(playerid, COLOR_GRAY,"Ten gracz nie jest, lub nie jest zalogowany do serwera.");
- new Float:X, Float:Y, Float:Z, pvw = GetPlayerVirtualWorld(playerid); GetPlayerPos(playerid, X, Y, Z);
- if(!IsPlayerInRangeOfPoint(targetid, 5.0, X, Y, Z) || GetPlayerVirtualWorld(targetid) != pvw)
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz jest za daleko.");
- if(amount < 1)
- return SendClientMessage(playerid, COLOR_GRAY, "Możesz podać minimalnie 1$.");
- if(UserCache[pUID[playerid]][uCash] < amount)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie posiadasz przy sobie tylu pieniędzy.");
- UserCache[pUID[targetid]][uCash] += amount;
- UserCache[pUID[playerid]][uCash] -= amount;
- GivePlayerMoney(playerid, -amount); GivePlayerMoney(targetid, amount);
- new msg[128];
- format(msg, sizeof(msg), "> Podajesz %d$ dla gracza %s.", amount, strreplace(PlayerName(targetid), '_', ' '));
- SendClientMessage(playerid, COLOR_BLUE, msg);
- format(msg, sizeof(msg), "> Otrzymujesz %d$ od gracza %s.", amount, strreplace(PlayerName(playerid), '_', ' '));
- SendClientMessage(targetid, COLOR_BLUE, msg);
- format(msg, sizeof(msg), "podaje trochę gotówki %s.", strreplace(PlayerName(targetid), '_', ' '));
- SendPlayerMe(playerid, msg);
- return ApplyAnimation(playerid, "dealer", "dealer_deal", 4.1, 0, 0, 0, 0, 0, 0);
- }
- stock ShowDialogChangeGroupColor(playerid)
- return ShowPlayerDialog(playerid, D_CHANGE_GROUP_COLOR, DIALOG_STYLE_INPUT, "Zmień kolor grupy", ""HEX_WHITE"Zmiana koloru grupy zmieni rzeczy tj. kolor służby, czatów grupowych.\nWpisz poniżej kolor HTML: np. {ff0000}FF0000", "Zatwierdź", "Anuluj");
- CMD:m (playerid, params[])
- {
- if(GroupCache[pDuty[playerid]][gType] != 1)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie znajdujesz się na służbie odpowiedniej grupy by użyć tej komendy.");
- new text[128];
- if(sscanf(params, "s[128]", text))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /m [treść] by użyć megafonu");
- new msg[128];
- format(msg, sizeof(msg), "%s (megafon) :o< %s!!!", strreplace(PlayerName(playerid), '_', ' '), text);
- new pvw = GetPlayerVirtualWorld(playerid),Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(GetPlayerVirtualWorld(i) == pvw)
- {
- if(IsPlayerInRangeOfPoint(i, 100.0, X, Y, Z))
- {
- SendClientMessage(i, 0xFFF000FF, msg);
- }
- }
- }
- }
- return 1;
- }
- CMD:kajdanki (playerid, params[])
- {
- if(GroupCache[pDuty[playerid]][gType] != 1)
- return SendClientMessage(playerid, COLOR_GRAY, "Nie znajdujesz się na służbie odpowiedniej grupy by użyć tej komendy.");
- new targetid;
- if(sscanf(params, "r", targetid))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /kajdanki [ID/Część nicku gracza] by skuć/odkuć gracza.");
- new msg[128];
- if(GetPlayerSpecialAction(targetid) == SPECIAL_ACTION_CUFFED)
- {
- format(msg, sizeof(msg), "odkuwa kajdankami", strreplace(PlayerName(playerid), '_', ' '), strreplace(PlayerName(targetid), '_', ' '));
- SetPlayerSpecialAction(targetid, 0);
- }
- else
- {
- format(msg, sizeof(msg), "skuwa", strreplace(PlayerName(playerid), '_', ' '), strreplace(PlayerName(targetid), '_', ' '));
- SetPlayerSpecialAction(targetid, SPECIAL_ACTION_CUFFED);
- }
- SendPlayerMe(playerid, msg);
- return 1;
- }
- stock CreateSystemVehicle(model, color, color2, Float:PosX, Float:PosY, Float:PosZ, ownerid, VW, Float:angle)
- {
- VehicleCache[LastvUID][vUID] = LastvUID;
- VehicleCache[LastvUID][vModel] = model;
- VehicleCache[LastvUID][vColor] = color;
- VehicleCache[LastvUID][vColor2] = color2;
- VehicleCache[LastvUID][vVW] = VW;
- VehicleCache[LastvUID][vPosX] = PosX;
- VehicleCache[LastvUID][vPosY] = PosY;
- VehicleCache[LastvUID][vPosZ] = PosZ;
- VehicleCache[LastvUID][vAngle] = angle;
- VehicleCache[LastvUID][vState] = 0;
- VehicleCache[LastvUID][vOwner] = pUID[ownerid];
- VehicleCache[LastvUID][vHP] = 1000.0;
- VehicleCache[LastvUID][vID] = 0;
- VehicleCache[LastvUID][vTimer] = 0;
- VehicleCache[LastvUID][vBonnet] = 0;
- VehicleCache[LastvUID][vDoors] = 0;
- VehicleCache[LastvUID][vBoot] = 0;
- VehicleCache[LastvUID][vLights] = 0;
- VehicleCache[LastvUID][vObjective] = 0;
- VehicleCache[LastvUID][vAlarm] = 0;
- VehicleCache[LastvUID][vOpen] = 0;
- VehicleCache[LastvUID][vFuel] = 100;
- VehicleCache[LastvUID][vRegister] = false;
- if(model == 481 ||model == 509 || model == 510)
- VehicleCache[LastvUID][vEngine] = 1;
- else
- VehicleCache[LastvUID][vEngine] = 0;
- LastvUID++;
- }
- CMD:ap(playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] >= ADMINISTRATION || pDuty[playerid] == 16)
- {
- new model, color, color2;
- if(sscanf(params, "iii", model, color, color2))
- return SendClientMessage(playerid, COLOR_WHITE, "Poprawne użycie: /ap [model] [kolor] [kolor 2]");
- new Float:X, Float:Y, Float:Z, Float:ang; GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, ang);
- CreateSystemVehicle(model, color, color2, X, Y, Z, playerid, GetPlayerVirtualWorld(playerid), ang);
- SpawnVehicle(LastvUID-1);
- PutPlayerInVehicle(playerid, VehicleCache[LastvUID-1][vID], 0);
- }
- return 1;
- }
- stock ShowDialogVehicleOptions(playerid)
- return ShowPlayerDialog(playerid, D_V_OPTIONS, DIALOG_STYLE_LIST, "Zarządzaj pojazdem", ""HEX_WHITE"1\tOtwórz/zamknij maskę\n2\tOtwórz/zamknij bagażnik\n3\tZasuń/wysuń szyby\n-\n4\tPodpisz pojazd pod grupę\n5\tSprzedaj pojazd graczowi", "Wybierz", "Anuluj");
- CMD:v (playerid, params[])
- {
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid);
- new sub[32], uid;
- sscanf(params, "s[32]i", sub, uid);
- if(!Isnull(sub))
- {
- if(!strcmp(sub, "namierz", true))
- {
- if(pUID[playerid] == VehicleCache[uid][vOwner])
- {
- if(VehicleCache[uid][vID] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Ten pojazd nie jest zespawnowany.");
- DestroyDynamicMapIcon(MapIcon[playerid]);
- KillTimer(MapIconTimer[playerid]);
- MapIcon[playerid] = CreateDynamicMapIcon(VehicleCache[uid][vPosX], VehicleCache[uid][vPosY], VehicleCache[uid][vPosZ], 55,-1, 0, 0, playerid,-1, 3);
- MapIconTimer[playerid] = SetTimerEx("DestroyIcon", 5000*60, false, "i", playerid);
- return TextDrawForPlayerEx(playerid, 1, "Namierzono pojazd.~n~Pozycja pojazdu zostala zaznaczona na na mapie.", 5000);
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /v namierz [UID Twojego pojazdu widocznego pod /v]");
- }
- if(!strcmp(sub, "z", true))
- {
- new Float:vX, Float:vY, Float:vZ, veVW, pVW=GetPlayerVirtualWorld(playerid);
- for(new i=1; i<=GetVehiclePoolSize(); i++)
- {
- vuid = GetVehicleUID(i);
- GetVehiclePos(i, vX, vY, vZ);
- veVW = GetVehicleVirtualWorld(i);
- if(pVW == veVW)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, vX, vY, vZ))
- {
- if(VehicleCache[vuid][vOwner] == pUID[playerid])
- {
- ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0);
- if(VehicleCache[vuid][vOpen])
- {
- SendPlayerMe(playerid, "zamyka pojazd.");
- VehicleCache[vuid][vOpen]=0;
- return TextDrawForPlayerEx(playerid, 1, "Pojazd ~r~zamkniety.", 3000);
- }
- else
- {
- SendPlayerMe(playerid, "otwiera pojazd.");
- VehicleCache[vuid][vOpen]=1;
- return TextDrawForPlayerEx(playerid, 1, "Pojazd ~g~otwarty.", 3000);
- }
- }
- }
- }
- }
- }
- }
- if(!Isnull(params))
- {
- if(!strcmp(params, "info", true))
- {
- new Float:X, Float:Y, Float:Z;
- for(new i=1; i<=GetVehiclePoolSize(); i++)
- {
- GetVehiclePos(i, X, Y, Z);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))
- {
- new info[256], vvuid = GetVehicleUID(i);
- format(info, sizeof(info), "Marka: ~y~%s~w~ Paliwo: ~y~%d/100~w~ Kolor: ~y~%d %d",
- GetVehicleName(GetVehicleModel(i)), VehicleCache[vvuid][vFuel], VehicleCache[vvuid][vColor], VehicleCache[vvuid][vColor2]);
- return TextDrawForPlayerEx(playerid, 0, info, 5000);
- }
- }
- }
- else if(!strcmp(params, "parkuj", true))
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- if(GetPlayerVehicleSeat(playerid) == 0)
- {
- if(VehicleCache[vuid][vOwner] == pUID[playerid])
- {
- GetVehiclePos(vid, VehicleCache[vuid][vPosX], VehicleCache[vuid][vPosY], VehicleCache[vuid][vPosZ]);
- VehicleCache[vuid][vVW] = GetPlayerVirtualWorld(playerid);
- GetVehicleZAngle(vid, VehicleCache[vuid][vAngle]);
- return TextDrawForPlayerEx(playerid, 1, "Przeparkowano pojazd.", 3000);
- }
- else return TextDrawForPlayerEx(playerid, 1, "Nie posiadasz kluczy do tego pojazdu.", 1500);
- }
- }
- }
- else
- return SendClientMessage(playerid, COLOR_GRAY, "Tip: /v [parkuj] [z] [info]");
- }
- if(VehicleCache[vuid][vOwner] == pUID[playerid])
- return ShowDialogVehicleOptions(playerid);
- new list[2500], info[128], count;
- list = "#\tNazwa pojazdu\tStan techniczny\n";
- for(new i=1; i<LastvUID; i++)
- {
- if(VehicleCache[i][vState] == 0)
- {
- if(VehicleCache[i][vOwner] == pUID[playerid])
- {
- format(info, sizeof(info), ""HEX_WHITE"%d\t%s\t%dHP\n", VehicleCache[i][vUID], GetVehicleName(VehicleCache[i][vModel]), floatround(VehicleCache[i][vHP]));
- if(VehicleCache[i][vID] != 0)
- format(info, sizeof(info), ""HEX_WHITE"%d\t%s*\t%dHP\n", VehicleCache[i][vUID], GetVehicleName(VehicleCache[i][vModel]), floatround(VehicleCache[i][vHP]));
- strins(list, info, strlen(list));
- count++;
- }
- }
- }
- if(!count)
- return ShowDialogInfo(playerid, "Nie posiadasz żadnych pojazdów.\n\nPojazd możesz nabyć od innego gracza lub kupić jakiś w salonie samochodowym.");
- ShowPlayerDialog(playerid, D_VEHICLES, DIALOG_STYLE_TABLIST_HEADERS, "Pojazdy (* - zespawnowany)", list, "(Un)Spawn", "Anuluj");
- return 1;
- }
- stock VehiclePath(id)
- {
- new path[64]; format(path, sizeof(path), FOLDER_VEHICLES"%d.ini", id);
- return path;
- }
- stock LoadVehicles()
- {
- for(new i=1; i<LastvUID; i++)
- {
- if(!dfile_FileExists(VehiclePath(i)))
- continue;
- dfile_Open(VehiclePath(i));
- VehicleCache[i][vUID] = dfile_ReadInt("UID");
- VehicleCache[i][vOwner] = dfile_ReadInt("Owner");
- VehicleCache[i][vState] = dfile_ReadInt("State");
- VehicleCache[i][vModel] = dfile_ReadInt("Model");
- VehicleCache[i][vPosX] = dfile_ReadFloat("PosX");
- VehicleCache[i][vPosY] = dfile_ReadFloat("PosY");
- VehicleCache[i][vPosZ] = dfile_ReadFloat("PosZ");
- VehicleCache[i][vVW] = dfile_ReadInt("VW");
- VehicleCache[i][vFuel] = dfile_ReadInt("Fuel");
- VehicleCache[i][vColor] = dfile_ReadInt("Color");
- VehicleCache[i][vColor2] = dfile_ReadInt("Color2");
- VehicleCache[i][vAngle] = dfile_ReadFloat("Angle");
- VehicleCache[i][vHP] = dfile_ReadFloat("HP");
- VehicleCache[i][vOpen] = dfile_ReadInt("Open");
- VehicleCache[i][vFuel] = dfile_ReadInt("Fuel");
- VehicleCache[i][vRegister] = dfile_ReadBool("Registered");
- dfile_CloseFile();
- VehicleCache[i][vID] = 0;
- VehicleCache[i][vTimer] = 0;
- VehicleCache[i][vEngine] = 0;
- VehicleCache[i][vObjective] = 0;
- VehicleCache[i][vBoot] = 0;
- VehicleCache[i][vBonnet] = 0;
- VehicleCache[i][vAlarm] = 0;
- }
- }
- stock SaveVehicles()
- {
- for(new i=1; i<LastvUID; i++)
- {
- if(!dfile_FileExists(VehiclePath(i)))
- dfile_Create(VehiclePath(i));
- dfile_Open(VehiclePath(i));
- dfile_WriteInt("UID", VehicleCache[i][vUID]);
- dfile_WriteInt("Owner", VehicleCache[i][vOwner]);
- dfile_WriteInt("State", VehicleCache[i][vState]);
- dfile_WriteInt("Model", VehicleCache[i][vModel]);
- dfile_WriteFloat("PosX", VehicleCache[i][vPosX]);
- dfile_WriteFloat("PosY", VehicleCache[i][vPosY]);
- dfile_WriteFloat("PosZ", VehicleCache[i][vPosZ]);
- dfile_WriteFloat("Angle", VehicleCache[i][vAngle]);
- dfile_WriteInt("Fuel", VehicleCache[i][vFuel]);
- dfile_WriteInt("VW", VehicleCache[i][vVW]);
- dfile_WriteInt("Color", VehicleCache[i][vColor]);
- dfile_WriteInt("Color2", VehicleCache[i][vColor2]);
- dfile_WriteFloat("HP", VehicleCache[i][vHP]);
- dfile_WriteInt("Open", VehicleCache[i][vOpen]);
- dfile_WriteInt("Fuel", VehicleCache[i][vFuel]);
- dfile_WriteBool("Registered", VehicleCache[i][vRegister]);
- dfile_SaveFile();
- dfile_CloseFile();
- }
- }
- stock GetVehicleName(vehicleid)
- {
- new name[64];
- switch(vehicleid)
- {
- case 400: name = "Landstalker";
- case 401: name = "Bravura";
- case 402: name = "Buffalo";
- case 403: name = "Linerunner";
- case 404: name = "Perennial";
- case 405: name = "Sentinel";
- case 406: name = "Dumper";
- case 407: name = "Firetruck";
- case 408: name = "Trashmaster";
- case 409: name = "Stretch";
- case 410: name = "Manana";
- case 411: name = "Infernus";
- case 412: name = "Voodoo";
- case 413: name = "Pony";
- case 414: name = "Mule";
- case 415: name = "Cheetah";
- case 416: name = "Ambulance";
- case 417: name = "Leviathan";
- case 418: name = "Moonbeam";
- case 419: name = "Esperanto";
- case 420: name = "Taxi";
- case 421: name = "Washington";
- case 422: name = "Bobcat";
- case 423: name = "Mr. Whoopee";
- case 424: name = "BF Injection";
- case 425: name = "Hunter";
- case 426: name = "Premier";
- case 427: name = "Enforcer";
- case 428: name = "Securicar";
- case 429: name = "Banshee";
- case 430: name = "Predator";
- case 431: name = "Bus";
- case 432: name = "Rhino";
- case 433: name = "Barracks";
- case 434: name = "Hotknife";
- case 435: name = "Article Trailer";
- case 436: name = "Previon";
- case 437: name = "Coach";
- case 438: name = "Cabbie";
- case 439: name = "Stallion";
- case 440: name = "Rumpo";
- case 441: name = "RC Bandit";
- case 442: name = "Romero";
- case 443: name = "Packer";
- case 444: name = "Monster";
- case 445: name = "Admiral";
- case 446: name = "Squallo";
- case 447: name = "Seasparrow";
- case 448: name = "Pizzaboy";
- case 449: name = "Tram";
- case 450: name = "Article Trailer 2";
- case 451: name = "Turismo";
- case 452: name = "Speeder";
- case 453: name = "Reefer";
- case 454: name = "Tropic";
- case 455: name = "Flatbed";
- case 456: name = "Yankee";
- case 457: name = "Caddy";
- case 458: name = "Solair";
- case 459: name = "Topfun Van (Berkley's RC)";
- case 460: name = "Skimmer";
- case 461: name = "PCJ-600";
- case 462: name = "Faggio";
- case 463: name = "Freeway";
- case 464: name = "RC Baron";
- case 465: name = "RC Raider";
- case 466: name = "Glendale";
- case 467: name = "Oceanic";
- case 468: name = "Sanchez";
- case 469: name = "Sparrow";
- case 470: name = "Patriot";
- case 471: name = "Quad";
- case 472: name = "Coastguard";
- case 473: name = "Dinghy";
- case 474: name = "Hermes";
- case 475: name = "Sabre";
- case 476: name = "Rustler";
- case 477: name = "ZR-350";
- case 478: name = "Walton";
- case 479: name = "Regina";
- case 480: name = "Comet";
- case 481: name = "BMX";
- case 482: name = "Burrito";
- case 483: name = "Camper";
- case 484: name = "Marquis";
- case 485: name = "Baggage";
- case 486: name = "Dozer";
- case 487: name = "Maverick";
- case 488: name = "SAN News Maverick";
- case 489: name = "Rancher";
- case 490: name = "FBI Rancher";
- case 491: name = "Virgo";
- case 492: name = "Greenwood";
- case 493: name = "Jetmax";
- case 494: name = "Hotring Racer";
- case 495: name = "Sandking";
- case 496: name = "Blista Compact";
- case 497: name = "Police Maverick";
- case 498: name = "Boxville";
- case 499: name = "Benson";
- case 500: name = "Mesa";
- case 501: name = "RC Goblin";
- case 502: name = "Hotring Racer A";
- case 503: name = "Hotring Racer B";
- case 504: name = "Bloodring Banger";
- case 505: name = "Rancher Lure";
- case 506: name = "Super GT";
- case 507: name = "Elegant";
- case 508: name = "Journey";
- case 509: name = "Bike";
- case 510: name = "Mountain Bike";
- case 511: name = "Beagle";
- case 512: name = "Cropduster";
- case 513: name = "Stuntplane";
- case 514: name = "Tanker";
- case 515: name = "Roadtrain";
- case 516: name = "Nebula";
- case 517: name = "Majestic";
- case 518: name = "Buccaneer";
- case 519: name = "Shamal";
- case 520: name = "Hydra";
- case 521: name = "FCR-900";
- case 522: name = "NRG-500";
- case 523: name = "HPV1000";
- case 524: name = "Cement Truck";
- case 525: name = "Towtruck";
- case 526: name = "Fortune";
- case 527: name = "Cadrona";
- case 528: name = "FBI Truck";
- case 529: name = "Willard";
- case 530: name = "Forklift";
- case 531: name = "Tractor";
- case 532: name = "Combine Harvester";
- case 533: name = "Feltzer";
- case 534: name = "Remington";
- case 535: name = "Slamvan";
- case 536: name = "Blade";
- case 537: name = "Freight (Train)";
- case 538: name = "Brownstreak (Train)";
- case 539: name = "Vortex";
- case 540: name = "Vincent";
- case 541: name = "Bullet";
- case 542: name = "Clover";
- case 543: name = "Sadler";
- case 544: name = "Firetruck LA";
- case 545: name = "Hustler";
- case 546: name = "Intruder";
- case 547: name = "Primo";
- case 548: name = "Cargobob";
- case 549: name = "Tampa";
- case 550: name = "Sunrise";
- case 551: name = "Merit";
- case 552: name = "Utility Van";
- case 553: name = "Nevada";
- case 554: name = "Yosemite";
- case 555: name = "Windsor";
- case 556: name = "Monster A";
- case 557: name = "Monster B";
- case 558: name = "Uranus";
- case 559: name = "Jester";
- case 560: name = "Sultan";
- case 561: name = "Station Wagons";
- case 562: name = "Elegy";
- case 563: name = "Raindance";
- case 564: name = "RC Tiger";
- case 565: name = "Flash";
- case 566: name = "Tahoma";
- case 567: name = "Savanna";
- case 568: name = "Bandito";
- case 569: name = "Freight Flat Trailer (Train)";
- case 570: name = "Streak Trailer (Train)";
- case 571: name = "Kart";
- case 572: name = "Mower";
- case 573: name = "Dune";
- case 574: name = "Sweeper";
- case 575: name = "Broadway";
- case 576: name = "Tornado";
- case 577: name = "AT400";
- case 578: name = "DFT-30";
- case 579: name = "Huntley";
- case 580: name = "Stafford";
- case 581: name = "BF-400";
- case 582: name = "Newsvan";
- case 583: name = "Tug";
- case 584: name = "Petrol Trailer";
- case 585: name = "Emperor";
- case 586: name = "Wayfarer";
- case 587: name = "Euros";
- case 588: name = "Hotdog";
- case 589: name = "Club";
- case 590: name = "Freight Box Trailer (Train)";
- case 591: name = "Article Trailer 3";
- case 592: name = "Andromada";
- case 593: name = "Dodo";
- case 594: name = "RC Cam";
- case 595: name = "Launch";
- case 596: name = "Police Car (LSPD)";
- case 597: name = "Police Car (SFPD)";
- case 598: name = "Police Car (LVPD)";
- case 599: name = "Police Ranger";
- case 600: name = "Picador";
- case 601: name = "S.W.A.T.";
- case 602: name = "Sport Vehicles";
- case 603: name = "Phoenix";
- case 604: name = "Glendale Shit";
- case 605: name = "Sadler Shit";
- case 606: name = "Baggage Trailer A";
- case 607: name = "Baggage Trailer B";
- case 608: name = "Tug Stairs Trailer";
- case 609: name = "Boxville";
- case 610: name = "Farm Trailer";
- case 611: name = "Utility Trailer";
- }
- return name;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- new vuid = GetVehicleUID(vehicleid);
- VehicleCache[vuid][vEngine] = 0;
- if(VehicleAttackedByCheater[vehicleid] == false)
- VehicleCache[vuid][vHP] = 300.0;
- if(killerid != 53)
- {
- if(VehicleAttackedByCheater[vehicleid] == false)
- {
- GetVehiclePos(vehicleid, VehicleCache[vuid][vPosX], VehicleCache[vuid][vPosY], VehicleCache[vuid][vPosZ]);
- GetVehicleZAngle(vehicleid, VehicleCache[vuid][vAngle]);
- VehicleCache[vuid][vVW] = GetVehicleVirtualWorld(vehicleid);
- }
- }
- else
- {
- VehicleCache[vuid][vPosX] = 876.5847;
- VehicleCache[vuid][vPosY] = -1259.2781;
- VehicleCache[vuid][vPosZ] = 14.6456;
- VehicleCache[vuid][vVW] = 0;
- }
- new Float:X, Float:Y, Float:Z;
- GetVehiclePos(vehicleid,X, Y, Z);
- new Float:ang;
- new VW=GetVehicleVirtualWorld(vehicleid);
- GetVehicleZAngle(vehicleid, ang);
- DestroyVehicle(vehicleid);
- if(VehicleAttackedByCheater[vehicleid] == false)
- {
- VehicleCache[vuid][vID] = CreateVehicle(VehicleCache[vuid][vModel], VehicleCache[vuid][vPosX], VehicleCache[vuid][vPosY], VehicleCache[vuid][vPosZ], VehicleCache[vuid][vAngle], VehicleCache[vuid][vColor], VehicleCache[vuid][vColor2], -1, 0);
- SetVehicleHealth(VehicleCache[vuid][vID], VehicleCache[vuid][vHP]);
- SetVehicleZAngle(VehicleCache[vuid][vID], VehicleCache[vuid][vAngle]);
- SetVehicleVirtualWorld(VehicleCache[vuid][vID], VehicleCache[vuid][vVW]);
- }
- else
- {
- VehicleCache[vuid][vID] = CreateVehicle(VehicleCache[vuid][vModel], X, Y, Z, ang, VehicleCache[vuid][vColor], VehicleCache[vuid][vColor2], -1, 0);
- SetVehicleHealth(VehicleCache[vuid][vID], VehicleCache[vuid][vHP]);
- SetVehicleZAngle(VehicleCache[vuid][vID], ang);
- SetVehicleVirtualWorld(VehicleCache[vuid][vID], VW);
- }
- if(VehicleAttackedByCheater[vehicleid] == false)
- {
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i] == VehicleCache[vuid][vOwner])
- {
- DestroyDynamicMapIcon(MapIcon[i]);
- KillTimer(MapIconTimer[i]);
- MapIcon[i] = CreateDynamicMapIcon(VehicleCache[vuid][vPosX], VehicleCache[vuid][vPosY], VehicleCache[vuid][vPosZ], 55,-1, VehicleCache[vuid][vVW], 0, i,-1, 3);
- MapIconTimer[i] = SetTimerEx("DestroyIcon", 5000*60, false, "i", i);
- TextDrawForPlayerEx(i, 1, "Twoj pojazd zostal odspawnowany po zniszczeniu.~n~Miejsce spawnu pojazdu zostalo oznaczone na mapie.", 10000);
- return 1;
- }
- }
- }
- }
- return 1;
- }
- stock GetVehicleUID(vehicleid)
- {
- for(new i=1; i<LastvUID; i++)
- {
- if(VehicleCache[i][vID] == vehicleid)
- {
- return VehicleCache[i][vUID];
- }
- }
- return 0;
- }
- CMD:adrzwi (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new pvw = GetPlayerVirtualWorld(playerid);
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(pvw == DoorCache[i][dInsVW])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]))
- {
- return ShowPlayerDialog(playerid, D_ADMIN_DOOR, DIALOG_STYLE_LIST, "Zarządzaj drzwiami", "1\tUsuń drzwi", "Wybierz", "Anuluj");
- }
- }
- else if(pvw == DoorCache[i][dOutVW])
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- return ShowPlayerDialog(playerid, D_ADMIN_DOOR, DIALOG_STYLE_LIST, "Zarządzaj drzwiami", "1\tUsuń drzwi", "Wybierz", "Anuluj");
- }
- }
- }
- }
- return ShowDialogInfo(playerid, "Nie znajdujesz się przy żadnych drzwiach.");
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(!pEnteringCar[playerid])
- {
- pEnteringCar[playerid] = true;
- SetTimerEx("DisableEnteringCar", 3000, false, "i", playerid);
- }
- new vuid = GetVehicleUID(vehicleid);
- if(!VehicleCache[vuid][vOpen])
- {
- TextDrawForPlayerEx(playerid, 1, "~r~Ten pojazd jest zamkniety!", 1500);
- return ClearAnimations(playerid);
- }
- if(!ispassenger)
- {
- if(VehicleCache[vuid][vOwner] != pUID[playerid])
- {
- TextDrawForPlayerEx(playerid, 1, "~r~Ten pojazd nie nalezy do Ciebie!", 3000);
- return ClearAnimations(playerid);
- }
- }
- return 1;
- }
- forward DisableEnteringCar(playerid);
- public DisableEnteringCar(playerid)
- pEnteringCar[playerid] = false;
- stock SpawnVehicle(vuid)
- {
- VehicleCache[vuid][vID] = CreateVehicle(VehicleCache[vuid][vModel], VehicleCache[vuid][vPosX], VehicleCache[vuid][vPosY],VehicleCache[vuid][vPosZ], VehicleCache[vuid][vAngle], VehicleCache[vuid][vColor],
- VehicleCache[vuid][vColor2], -1, 0);
- new str[32];
- if(VehicleCache[vuid][vRegister])
- format(str, sizeof(str), ""HEX_BLACK"LS-%000d", vuid);
- else
- format(str, sizeof(str), " ");
- SetVehicleNumberPlate(VehicleCache[vuid][vID], str);
- SetVehicleHealth(VehicleCache[vuid][vID], VehicleCache[vuid][vHP]);
- SetVehicleZAngle(VehicleCache[vuid][vID], VehicleCache[vuid][vAngle]);
- SetVehicleVirtualWorld(VehicleCache[vuid][vID], VehicleCache[vuid][vVW]);
- SetVehicleParamsEx(VehicleCache[vuid][vID], VehicleCache[vuid][vEngine], VehicleCache[vuid][vLights], VehicleCache[vuid][vAlarm], VehicleCache[vuid][vDoors], VehicleCache[vuid][vBonnet],VehicleCache[vuid][vBoot], VehicleCache[vuid][vObjective]);
- return 1;
- }
- stock UnSpawnVehicle(vuid)
- {
- DestroyVehicle(VehicleCache[vuid][vID]);
- VehicleCache[vuid][vID] = 0;
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_PASSENGER)
- return KickPlayer(playerid, "System", "Nieautoryzowane wejscie do pojazdu (A)"); // Anti vehicle jack when vehicle is locked
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid);
- if(newstate == PLAYER_STATE_DRIVER && !VehicleCache[vuid][vOpen] && UserCache[pUID[playerid]][uRank] < ADMINISTRATION || newstate == PLAYER_STATE_PASSENGER && !VehicleCache[vuid][vOpen])
- return KickPlayer(playerid, "System", "Nieautoryzowane wejscie do pojazdu (B)"); // Anti teleport to vehicle jack
- if(newstate == PLAYER_STATE_PASSENGER && oldstate == PLAYER_STATE_DRIVER)
- return KickPlayer(playerid, "System", "Nieautoryzowane wejscie do pojazdu (C)"); // Anti change driver seat to passenger seat
- if((newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) && UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- {
- if(!pEnteringCar[playerid] || pEnteringCar[playerid])
- {
- return AJPlayer(playerid, "System", "Nieautoryzowane wejście do pojazdu (D)", 60);
- }
- }
- if(newstate == PLAYER_STATE_ONFOOT)
- {
- if(IsPlayerAttachedObjectSlotUsed(playerid, 7))
- RemovePlayerAttachedObject(playerid, 7);
- UserCache[pUID[playerid]][uBelts] = false;
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- }
- if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
- {
- new pseat = GetPlayerVehicleSeat(playerid);
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(playerid != i)
- {
- if(GetPlayerVehicleID(i) == vid)
- {
- if(GetPlayerVehicleSeat(i) == pseat)
- {
- return KickPlayer(playerid, "System", "Nieautoryzowane wejscie do pojazdu (D)");
- }
- }
- }
- }
- }
- }
- if(newstate == PLAYER_STATE_DRIVER && VehicleCache[vuid][vOwner] != pUID[playerid])
- return KickPlayer(playerid, "System", "Nieautoryzowane wejscie do pojazdu (E)");
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(GetVehicleModel(vid) == 481 || GetVehicleModel(vid) == 509 || GetVehicleModel(vid) == 510)
- return 1;
- if(!VehicleCache[vuid][vRegister])
- return ShowDialogInfo(playerid, "Pojazd jest niezarejestrowany.\nNiezarejestrowany pojazd ponosi za sobą konsekwencje prawne Twojej postaci.\nUdaj się do urzędu miasta i zakup rejestrację jak najszybciej!");
- DestroyDynamicMapIcon(MapIcon[playerid]);
- KillTimer(MapIconTimer[playerid]);
- PlayerTextDrawSetString(playerid, VehicleInfo[playerid], "~b~~h~~h~~h~LCTRL ~w~by uruchomic silnik~n~~b~~h~~h~~h~LPM ~w~by zapalic swiatla");
- return PlayerTextDrawShow(playerid, VehicleInfo[playerid]);
- }
- if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
- return PlayerTextDrawHide(playerid, VehicleInfo[playerid]);
- return 1;
- }
- CMD:vdel (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new vuid; if(sscanf(params, "i", vuid)) return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /vdel [UID pojazdu]");
- VehicleCache[vuid][vState] = 1;
- DestroyVehicle(VehicleCache[vuid][vID]);
- VehicleCache[vuid][vID] = 0;
- new msg[128]; format(msg, sizeof(msg), "Usunięto pojazd marki %s (UID: %d).", GetVehicleName(VehicleCache[vuid][vModel]), vuid);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- CMD:idel (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new iuid; if(sscanf(params, "i", iuid)) return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /idel [UID przedmiotu]");
- ItemCache[iuid][iState] = 3;
- new msg[128]; format(msg, sizeof(msg), "Usunięto przedmiot %s (UID: %d).", ItemCache[iuid][iName], iuid);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- CMD:tankuj (playerid, params[])
- {
- new fuel;
- if(sscanf(params, "i", fuel))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /tankuj [ilość litrów], musisz znajdować się w pobliżu pojazdu!");
- new pvw = GetPlayerVirtualWorld(playerid);
- new Float:vx, Float:vy, Float:vz;
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oModel] == 3465 )
- {
- if(pvw == ObjectCache[i][oVW])
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, ObjectCache[i][oX], ObjectCache[i][oY], ObjectCache[i][oZ]))
- {
- for(new j=1; j<=GetVehiclePoolSize(); j++)
- {
- if(GetVehicleModel(j) == 481 || GetVehicleModel(j) == 509 || GetVehicleModel(j) == 510)
- continue;
- if(pvw == GetVehicleVirtualWorld(j))
- {
- GetVehiclePos(j, vx, vy, vz);
- if(IsPlayerInRangeOfPoint(playerid, 5.0, vx, vy, vz))
- {
- new vuid = GetVehicleUID(j);
- if(VehicleCache[vuid][vFuel]+fuel > 100)
- return SendClientMessage(playerid, COLOR_GRAY, "W tym pojeździe nie zmieści się tyle paliwa.");
- new price = fuel *2;
- if(UserCache[pUID[playerid]][uCash] < price)
- {
- new str[64]; format(str, sizeof(str), "Nie posiadasz %d$ gotówki by zatankować pojazd.", price);
- return SendClientMessage(playerid, COLOR_GRAY, str);
- }
- if(fuel < 1)
- return SendClientMessage(playerid, COLOR_GRAY, "Minimalnie możesz zatankować 1 litr.");
- if(VehicleCache[vuid][vEngine])
- return ShowDialogInfo(playerid, "Silnik musi być zgaszony.");
- if(GetPlayerVehicleID(playerid) == j)
- return ShowDialogInfo(playerid, "Wysiądź z pojazdu.");
- VehicleCache[vuid][vFuel]+=fuel;
- UserCache[pUID[playerid]][uCash] -= price;
- GivePlayerMoney(playerid, -price);
- new str[128]; format(str, sizeof(str), "wkłada pistolet do baku pojazdu marki %s", GetVehicleName(GetVehicleModel(j)));
- SendPlayerMe(playerid, str);
- return ApplyAnimation(playerid, "BD_FIRE", "wash_up", 4.1, 0, 0, 0, 0, 0, 0);
- }
- }
- }
- }
- }
- }
- }
- }
- return TextDrawForPlayerEx(playerid, 1, "Nie znajdujesz sie przy dystrybutorze paliwa.", 3000);
- }
- CMD:mgate (playerid, params[])
- {
- new val, Float:val2, Float:val3, Float:val4;
- if(sscanf(params, "ifff", val, val2, val3, val4))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mgate [0 - wyłącz, 1 - pozycja, 2 -rotacja] [wartość 2] [wartość 3] [wartość 4]");
- if(!GetPlayerObjectID(playerid))
- return TextDrawForPlayerEx(playerid, 1, "Musisz edytowac jakis obiekt.", 1500);
- new oid=GetPlayerObjectID(playerid), ouid = GetObjectUID(oid);
- if(val == 0)
- {
- ObjectCache[ouid][oGate] = 0;
- return TextDrawForPlayerEx(playerid, 1, "Usunieto brame.", 3000);
- }
- if(!ObjectCache[ouid][oGate] && val != 0)
- ObjectCache[ouid][oGate]=1;
- if(val == 1)
- {
- ObjectCache[ouid][oGateX] = val2;
- ObjectCache[ouid][oGateY] = val3;
- ObjectCache[ouid][oGateZ] = val4;
- return TextDrawForPlayerEx(playerid, 1, "Ustawiono brame.", 3000);
- }
- else if(val == 2)
- {
- ObjectCache[ouid][oGaterX] = val2;
- ObjectCache[ouid][oGaterY] = val3;
- ObjectCache[ouid][oGaterZ] = val4;
- return TextDrawForPlayerEx(playerid, 1, "Ustawiono brame.", 3000);
- }
- else
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mgate [0 - wyłącz, 1 - pozycja, 2 -rotacja] [wartość 2] [wartość 3] [wartość 4]");
- }
- CMD:brama (playerid, params[])
- {
- new pvw = GetPlayerVirtualWorld(playerid);
- new Float:ox, Float:oy, Float:oz, Float:rx, Float:ry, Float:rz;
- for(new i=1; i<LastoUID; i++)
- {
- if(ObjectCache[i][oState] == 0)
- {
- if(ObjectCache[i][oGate])
- {
- if(pvw == ObjectCache[i][oVW])
- {
- if(IsPlayerInRangeOfPoint(playerid, 15.0, ObjectCache[i][oX], ObjectCache[i][oY], ObjectCache[i][oZ]))
- {
- if(IsDynamicObjectMoving(ObjectCache[i][oID]))
- return TextDrawForPlayerEx(playerid, 1, "Brama aktualnie sie porusza!", 3000);
- GetDynamicObjectPos(ObjectCache[i][oID], ox, oy, oz);
- GetDynamicObjectRot(ObjectCache[i][oID], rx, ry, rz);
- if(ox == ObjectCache[i][oX]+ObjectCache[i][oGateX] && oy == ObjectCache[i][oY]+ObjectCache[i][oGateY] && oz ==ObjectCache[i][oZ]+ObjectCache[i][oGateZ] && rx == ObjectCache[i][orX]+ObjectCache[i][oGaterX] && ry == ObjectCache[i][orY]+ObjectCache[i][oGaterY] && rz == ObjectCache[i][orZ]+ObjectCache[i][oGaterZ])
- {
- TextDrawForPlayerEx(playerid, 1, "Brama ~r~~h~zamknieta~w~.", 3000);
- return MoveDynamicObject(ObjectCache[i][oID],ObjectCache[i][oX], ObjectCache[i][oY], ObjectCache[i][oZ], 4.1, ObjectCache[i][orX], ObjectCache[i][orY], ObjectCache[i][orZ]);
- }
- MoveDynamicObject(ObjectCache[i][oID],ObjectCache[i][oX]+ObjectCache[i][oGateX], ObjectCache[i][oY]+ObjectCache[i][oGateY], ObjectCache[i][oZ]+ObjectCache[i][oGateZ], 4.1, ObjectCache[i][orX]+ObjectCache[i][oGaterX], ObjectCache[i][orY]+ObjectCache[i][oGaterY], ObjectCache[i][orZ]+ObjectCache[i][oGaterZ]);
- return TextDrawForPlayerEx(playerid, 1, "Brama ~g~~h~~h~otwarta~w~.", 3000);
- }
- }
- }
- }
- }
- return TextDrawForPlayerEx(playerid, 1, "Brak bram w poblizu.", 3000);
- }
- CMD:przejazd (playerid, params[])
- {
- if(!IsPlayerInAnyVehicle(playerid))
- return ShowDialogInfo(playerid, "Musisz znajdować się w pojeździe.");
- if(GetPlayerVehicleSeat(playerid) != 0)
- return ShowDialogInfo(playerid, "Musisz być kierowcą.");
- new vid = GetPlayerVehicleID(playerid), vuid = GetVehicleUID(vid);
- if(!VehicleCache[vuid][vEngine])
- return TextDrawForPlayerEx(playerid, 1, "Silnik nie moze byc zgaszony.", 3000);
- if(VehicleCache[vuid][vOwner] != pUID[playerid])
- return TextDrawForPlayerEx(playerid, 1, "Brak uprawnien.", 3000);
- new pvw = GetPlayerVirtualWorld(playerid);
- enum E_SEAT
- {
- sPlayer,
- sSeat
- };
- new SeatData[MAX_PLAYERS][E_SEAT];
- for(new i; i<MAX_PLAYERS; i++)
- {
- SeatData[i][sPlayer] = -1;
- }
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInAnyVehicle(i))
- {
- if(GetPlayerVehicleID(i) == vid)
- {
- SeatData[i][sPlayer] = i;
- SeatData[i][sSeat] = GetPlayerVehicleSeat(i);
- }
- }
- }
- }
- new trailerid = GetVehicleTrailer(vid);
- for(new i=1; i<LastdUID; i++)
- {
- if(!DoorCache[i][dDestroyed])
- {
- if(DoorCache[i][dOutVW] == pvw)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]))
- {
- if(!DoorCache[i][dVehicle])
- return TextDrawForPlayerEx(playerid, 1, "Przejazd przez te drzwi jest ~y~~h~~h~~h~wylaczony~w~.", 3000);
- SetVehiclePos(vid, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]);
- SetVehicleVirtualWorld(vid, DoorCache[i][dInsVW]);
- SetVehicleVirtualWorld(trailerid, DoorCache[i][dInsVW]);
- SetVehiclePos(trailerid, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]);
- AttachTrailerToVehicle(vid, trailerid);
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(SeatData[j][sPlayer] == j)
- {
- SetPlayerVirtualWorld(j, DoorCache[i][dInsVW]);
- PutPlayerInVehicle(j, vid, SeatData[j][sSeat]);
- Streamer_Update(j);
- }
- }
- }
- return 1;
- }
- }
- if(DoorCache[i][dInsVW] == pvw)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, DoorCache[i][dInsX], DoorCache[i][dInsY], DoorCache[i][dInsZ]))
- {
- if(!DoorCache[i][dVehicle])
- return TextDrawForPlayerEx(playerid, 1, "Przejazd przez te drzwi jest ~y~~h~~h~~h~wylaczony~w~.", 3000);
- SetVehiclePos(vid, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]);
- SetVehicleVirtualWorld(vid, DoorCache[i][dOutVW]);
- SetVehicleVirtualWorld(trailerid, DoorCache[i][dOutVW]);
- SetVehiclePos(trailerid, DoorCache[i][dOutX], DoorCache[i][dOutY], DoorCache[i][dOutZ]);
- AttachTrailerToVehicle(vid, trailerid);
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(SeatData[j][sPlayer] == j)
- {
- SetPlayerVirtualWorld(j, DoorCache[i][dOutVW]);
- PutPlayerInVehicle(j, vid, SeatData[j][sSeat]);
- Streamer_Update(j);
- }
- }
- }
- return 1;
- }
- }
- }
- }
- return TextDrawForPlayerEx(playerid, 1, "Nie znajdujesz sie w poblizu zadnego przejazdu.", 3000);
- }
- CMD:go (playerid, params[])
- {
- new Float:X, Float:Y, Float:Z;
- if(sscanf(params, "fff", X, Y,Z))
- return SendClientMessage(playerid, COLOR_GRAY, "/go X Y Z");
- SetPlayerPos(playerid, X, Y ,Z);
- return 1;
- }
- CMD:rangasztanga (playerid, params[])
- {
- UserCache[pUID[playerid]][uRank] = 8;
- return UpdatePlayerName(playerid);
- }
- stock IsVehicleInRangeOfPoint(vehicleid, Float:range, Float:X, Float:Y, Float:Z)
- {
- new Float:vx, Float:vy, Float:vz;
- GetVehiclePos(vehicleid, vx, vy, vz);
- if(IsPosInRangeOfPos(vx, vy, vz, X, Y, Z, range))
- return 1;
- return 0;
- }
- public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
- {
- if(pEnteringCar[playerid] && passenger_seat)
- return AJPlayer(playerid, "System", "Vehicle hack (C)", 5);
- new Float:oldX, Float:oldY, Float:oldZ;
- if(IsPlayerInRangeOfPoint(playerid, 3.0, new_x, new_y, new_z) && new_x+0.5>oldX && new_y+0.5>oldY && new_z+0.5>oldZ)
- {
- return UnSpawnVehicle(GetVehicleUID(vehicleid));
- }
- GetVehiclePos(vehicleid, oldX, oldY, oldZ);
- if(!IsPosInRangeOfPos(new_x, new_y, new_z, oldX, oldY, oldZ, 2.0) && passenger_seat == 0)
- {
- VehicleAttackedByCheater[vehicleid] = true;
- return !AJPlayer(playerid, "System", "Veh hack (B)", 30);
- }
- else if(passenger_seat)
- {
- if(GetPlayerVehicleID(playerid) != vehicleid)
- {
- VehicleAttackedByCheater[vehicleid] = true;
- return !AJPlayer(playerid, "System", "Veh hack (A)", 30);
- }
- }
- return 1;
- }
- CMD:ado (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] >= ADMINISTRATION || pDuty[playerid] == 16)
- {
- new msg[128];
- if(sscanf(params, "s[128]", msg))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /ado [treść]");
- new msgtoall[128];
- format(msgtoall, sizeof(msgtoall), "** %s **", msg);
- if(strlen(msgtoall) >= 64)
- {
- new temp1[128], temp2[128];
- temp1 = msgtoall, temp2=msgtoall;
- strdel(temp1, 64, strlen(temp1));
- strins(temp1, "...", strlen(temp1));
- strdel(temp2, 0, 64);
- strins(temp2, "...", 0);
- SendClientMessageToAll(DO_SHADE_1, temp1);
- return SendClientMessageToAll(DO_SHADE_1, temp2);
- }
- return SendClientMessageToAll(DO_SHADE_1, msgtoall);
- }
- return 1;
- }
- CMD:aduty (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] == 0)
- return 1;
- new msg[128];
- if(aduty[playerid])
- {
- format(msg, sizeof(msg), "~w~schodzisz ze sluzby:~n~~b~~h~~h~~h~%s", GetRankName(UserCache[pUID[playerid]][uRank]));
- aduty[playerid] = 0;
- }
- else
- {
- format(msg, sizeof(msg), "~w~wchodzisz na sluzbe:~n~~b~~h~~h~~h~%s", GetRankName(UserCache[pUID[playerid]][uRank]));
- aduty[playerid] = 1;
- }
- UpdatePlayerName(playerid);
- return GameTextForPlayer(playerid, msg, 3000, 4);
- }
- CMD:incognito (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new name[MAX_PLAYER_NAME];
- if(sscanf(params, "s[24]", name))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /incognito [Nick / Tab ]");
- if(strlen(name) > MAX_PLAYER_NAME)
- return SendClientMessage(playerid, COLOR_GRAY, "Wybrana nazwa jest za długa.");
- if(!strcmp(params, "tab", true))
- {
- if(GetPlayerColor(playerid) == UNLOGGED_COLOR)
- {
- SendClientMessage(playerid, COLOR_GRAY, "Przywrócono widoczność na liście graczy.");
- SetPlayerColor(playerid, LOGGED_COLOR);
- return SetPlayerScore(playerid, UserCache[pUID[playerid]][uSP]);
- }
- SendClientMessage(playerid, COLOR_GRAY, "Ukryto widoczność na liście graczy.");
- SetPlayerColor(playerid, UNLOGGED_COLOR);
- return SetPlayerScore(playerid, 0);
- }
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(!strcmp(PlayerName(i), name, true))
- {
- return SendClientMessage(playerid, COLOR_GRAY, "Jakiś gracz nosi już taką nazwę.");
- }
- }
- }
- SetPlayerName(playerid, name);
- new str[128]; format(str, sizeof(str), "Od teraz wszyscy widzą Cię jako %s.", name);
- SendClientMessage(playerid, COLOR_GRAY, str);
- return UpdatePlayerName(playerid);
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return KickPlayer(playerid, "System", "Interior change");
- }
- stock AddActor(aname[], type, skinid, Float:X, Float:Y, Float:Z, Float:angle, VirtualWorld, animlib[], animname[])
- {
- ActorCache[LastaUID][aUID] = LastaUID;
- ActorCache[LastaUID][aSkin] = skinid;
- ActorCache[LastaUID][aType] = type;
- ActorCache[LastaUID][aPosX] = X;
- ActorCache[LastaUID][aPosY] = Y;
- ActorCache[LastaUID][aPosZ] = Z;
- ActorCache[LastaUID][aAng] = angle;
- ActorCache[LastaUID][aVW] = VirtualWorld;
- new str[64]; format(str, sizeof(str), aname);
- ActorCache[LastaUID][aName] = str;
- new lib[32], anim[32];
- format(lib, sizeof(lib), animlib); format(anim, sizeof(anim), animname);
- ActorCache[LastaUID][aAnimLib] = lib;
- ActorCache[LastaUID][aAnimName] = anim;
- ActorCache[LastaUID][aID] = CreateDynamicActor(skinid,X, Y, Z, angle, 1, 100.0, VirtualWorld, 0, -1);
- format(str, sizeof(str), "%s\n(aktor)", strreplace(aname, '_', ' '));
- ActorCache[LastaUID][aLabel] = CreateDynamic3DTextLabel(str, PLAYER_NORMAL_COLOR, X,Y ,Z+1.1, 8.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, VirtualWorld, 0,-1);
- if(!Isnull(animlib))
- ApplyActorAnimation(ActorCache[LastaUID][aID], animlib, animname, 4.1, 1, 0, 0, 0, 0);
- LastaUID++;
- return 1;
- }
- stock RemoveActor(auid)
- {
- DestroyDynamicActor(ActorCache[auid][aID]);
- ActorCache[auid][aType] = 0;
- ActorCache[auid][aID] = 0;
- DestroyDynamic3DTextLabel(ActorCache[auid][aLabel]);
- return 1;
- }
- CMD:aktorstworz (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new skin, type, name[32];
- if(sscanf(params, "iis[32]", skin, type, name))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /astworz [Skin] [Rodzaj] [Nazwa]");
- new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z);
- new Float:ang; GetPlayerFacingAngle(playerid, ang);
- AddActor(name, type, skin, X, Y, Z, ang, GetPlayerVirtualWorld(playerid), "", "");
- new msg[128]; format(msg, sizeof(msg), "Aktor został utworzony (ID: %d, UID: %d).", ActorCache[LastaUID-1][aID], ActorCache[LastaUID-1][aUID]);
- Streamer_Update(playerid);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- stock GetActorUID(actorid)
- {
- for(new i=1; i<LastaUID; i++)
- {
- if(ActorCache[i][aID] == actorid)
- {
- return ActorCache[i][aUID];
- }
- }
- return 0;
- }
- CMD:aktorusun (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new actorid = GetPlayerCameraTargetDynActor(playerid);
- if(actorid == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Najedź kamerą na aktora, którego chcesz usunąć.");
- new actoruid = GetActorUID(actorid);
- RemoveActor(actoruid);
- Streamer_Update(playerid);
- return SendClientMessage(playerid, COLOR_GRAY, "Aktor został usunięty z gry.");
- }
- CMD:aktoranim (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new actorid = GetPlayerCameraTargetDynActor(playerid);
- if(actorid == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Twoja kamera musi być skierowana na aktora do edycji.");
- new anim[32], animlib[32], repeat;
- if(sscanf(params, "s[32]s[32]i", animlib, anim, repeat))
- return SendClientMessage(playerid, COLOR_GRAY, "/aanim [Biblioteka animacji] [Nazwa animacji] [ Potwarzać? 1 - tak, 0 - nie ]");
- new actoruid = GetActorUID(actorid);
- if(repeat)
- ApplyDynamicActorAnimation(ActorCache[actoruid][aID], animlib, anim, 4.1, 1, 0, 0, 0, 0);
- else
- ApplyDynamicActorAnimation(ActorCache[actoruid][aID], animlib, anim, 4.1, 0, 0, 0, 1, 0);
- ActorCache[actoruid][aAnimLib] = animlib;
- ActorCache[actoruid][aRepeat] = repeat;
- ActorCache[actoruid][aAnimName] = anim;
- return SendClientMessage(playerid, COLOR_GRAY, "Animacja aktora została ustawiona.");
- }
- CMD:duty (playerid, params[])
- {
- new slot;
- if(sscanf(params, "i", slot))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /duty [slot], by wejść na służbę danej grupy.");
- if(pDuty[playerid])
- {
- new str[128];
- format(str, sizeof(str), "Schodzisz ze sluzby:~n~~y~%s", GroupCache[pDuty[playerid]][gName]);
- pDuty[playerid] = 0;
- UpdatePlayerInfo(playerid);
- UpdatePlayerName(playerid);
- return TextDrawForPlayerEx(playerid, 1, str, 3000);
- }
- new puid = pUID[playerid];
- switch(slot)
- {
- case 1:
- {
- if(UserCache[puid][uGroup] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod wybranym slotem nie znajduje się żadna grupa.");
- pDuty[playerid] = GroupCache[UserCache[puid][uGroup]][gUID];
- }
- case 2:
- {
- if(UserCache[puid][uGroup2] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod wybranym slotem nie znajduje się żadna grupa.");
- pDuty[playerid] = GroupCache[UserCache[puid][uGroup2]][gUID];
- }
- case 3:
- {
- if(UserCache[puid][uGroup3] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod wybranym slotem nie znajduje się żadna grupa.");
- pDuty[playerid] = GroupCache[UserCache[puid][uGroup3]][gUID];
- }
- default: return SendClientMessage(playerid, COLOR_GRAY, "Nieprawidłowy slot grupy.");
- }
- UpdatePlayerInfo(playerid);
- UpdatePlayerName(playerid);
- new str[128];
- format(str, sizeof(str), "Wchodzisz na sluzbe:~n~~y~%s", GroupCache[pDuty[playerid]][gName]);
- return TextDrawForPlayerEx(playerid, 1, str, 3000);
- }
- stock UpdatePlayerInfo(playerid)
- {
- new str[128];
- if(pDuty[playerid] && UserCache[pUID[playerid]][uBelts])
- format(str, sizeof(str), "Sluzba: ~y~%s~w~, %s", GroupCache[pDuty[playerid]][gName], IsHelmet(playerid) ? ("kask") : ("pasy"));
- else if(UserCache[pUID[playerid]][uBelts])
- {
- if(IsHelmet(playerid))
- str = "kask";
- else
- str = "pasy";
- }
- else if(pDuty[playerid])
- format(str, sizeof(str), "Sluzba: ~y~%s", GroupCache[pDuty[playerid]][gName]);
- else
- str= " ";
- PlayerTextDrawSetString(playerid, DutyTxd[playerid], str);
- return PlayerTextDrawShow(playerid, DutyTxd[playerid]);
- }
- public OnVehicleDamageStatusUpdate(vehicleid, playerid)
- {
- if(!aduty[playerid])
- {
- if(!ClearNicknameColorTimer[playerid])
- {
- UpdateDynamic3DTextLabelText(pNick[playerid][nID], DAMAGE_COLOR, pNick[playerid][nStr]);
- ClearNicknameColorTimer[playerid] = SetTimerEx("ClearNicknameColor", 2500, false, "i", playerid);
- }
- }
- new Float:damage = GetVehicleSpeed(vehicleid)/2;
- if(UserCache[pUID[playerid]][uBelts])
- damage = damage/4;
- if(UserCache[pUID[playerid]][uHealth] - damage <= 0)
- {
- ResetPlayerWeapons(playerid);
- UserCache[pUID[playerid]][uBWReason] = 49;
- SendPlayerMe(playerid, "traci przytomność");
- new puid = pUID[playerid];
- UserCache[puid][uHealth]=1;
- SetPlayerCameraPos(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ]+10.0);
- SetPlayerCameraLookAt(playerid, UserCache[puid][uSpawnX], UserCache[puid][uSpawnY], UserCache[puid][uSpawnZ], CAMERA_CUT);
- UserCache[puid][uBW] = 2;
- new msg[32];
- format(msg, sizeof(msg), "Stan nieprzytomnosci przez: %d min", UserCache[puid][uBW]);
- TextDrawForPlayer(playerid, 2, msg);
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iType] == 1)
- {
- SetTimerEx("HideWeapon", 1000, false, "ii", ItemCache[i][iUID], playerid);
- }
- }
- }
- }
- TogglePlayerControllable(playerid, 0);
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- return 1;
- }
- else
- {
- UserCache[pUID[playerid]][uHealth] -= damage;
- UserCache[pUID[playerid]][uBWReason] = 49;
- SetPlayerHealth(playerid, UserCache[pUID[playerid]][uHealth]);
- }
- return 1;
- }
- CMD:apostacie (playerid, params[])
- {
- new list[5025], info[128];
- for(new i=1; i<LastUID; i++)
- {
- format(info, sizeof(info), "%d\t%s\n", UserCache[i][uUID], UserCache[i][uName]);
- strins(list, info, strlen(list));
- }
- return ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_LIST,"Użytkownicy", list, "ok", "");
- }
- CMD:vowner (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- new vuid, ouid;
- if(sscanf(params, "ir", vuid, ouid))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /vowner [UID pojazdu widocznego pod /v] [ID/Część nazwy gracza]");
- if(!pUID[ouid])
- return SendClientMessage(playerid, COLOR_GRAY, "Gracz nie jest zalogowany lub podłączony do serwera.");
- VehicleCache[vuid][vOwner] = pUID[ouid];
- new msg[128];
- format(msg, sizeof(msg), "Podpisano pojazd UID: %d pod postać UID: %d", vuid, ouid);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- CMD:pasy (playerid, params[])
- {
- if(!IsPlayerInAnyVehicle(playerid))
- return TextDrawForPlayerEx(playerid, 1, "Musisz znajdowac sie w pojezdzie.", 3000);
- if(IsVehicleSingleTrack(GetVehicleModel(GetPlayerVehicleID(playerid))))
- {
- new uid = pUID[playerid];
- if(UserCache[uid][uBelts])
- {
- UserCache[uid][uBelts] = false;
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- SendPlayerMe(playerid, "zdejmuje kask z glowy.");
- RemovePlayerAttachedObject(playerid, 7);
- return TextDrawForPlayerEx(playerid, 1, "kask ~r~~h~zdjeto.", 3000);
- }
- UserCache[uid][uBelts] = true;
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- SendPlayerMe(playerid, "zaklada kask na glowe.");
- SetPlayerAttachedObject(playerid, 7, 18978, 2, 0.065999,
- 0.017000, 0.000000, 91.500000,97.200019,-0.899999, 1.0, 1.0, 1.0, 0, 0);
- return TextDrawForPlayerEx(playerid, 1, "kask ~g~~h~zalozono.", 3000);
- }
- new uid = pUID[playerid];
- if(UserCache[uid][uBelts])
- {
- UserCache[uid][uBelts] = false;
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- SendPlayerMe(playerid, "odpina pasy.");
- return TextDrawForPlayerEx(playerid, 1, "pasy ~r~~h~odpiete.", 3000);
- }
- UserCache[uid][uBelts] = true;
- UpdatePlayerName(playerid);
- UpdatePlayerInfo(playerid);
- SendPlayerMe(playerid, "zapina pasy.");
- return TextDrawForPlayerEx(playerid, 1, "pasy ~g~~h~zapiete.", 3000);
- }
- public OnPlayerUpdate(playerid)
- {
- if(pUID[playerid])
- {
- if(UserCache[pUID[playerid]][uAFK])
- {
- UserCache[pUID[playerid]][uAFK] = false;
- PlayerTextDrawHide(playerid, BWTextDraw[playerid]);
- UpdatePlayerName(playerid);
- }
- CallLocalFunction("OnPlayerWeaponChange", "ii", playerid, GetPlayerWeapon(playerid));
- }
- return 1;
- }
- CMD:id (playerid, params[])
- {
- new name[128];
- if(sscanf(params, "s[128]", name))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /id [Nazwa/Część nazwy gracza].");
- new info[128], list[256] = "ID\tNick\t\n", count;
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(pUID[i])
- {
- if(strfind(PlayerName(i), name, true) != -1)
- {
- format(info, sizeof(info), "%d\t%s%s\t\n", i, UserCache[pUID[i]][uRank] ? (GetHexRankColor(UserCache[pUID[i]][uRank])) : "", PlayerName(i));
- strins(list, info, strlen(list));
- count++;
- }
- }
- }
- }
- if(!count)
- return ShowDialogInfo(playerid, "Brak pasujących wyników.");
- return ShowPlayerDialog(playerid, D_INFO, DIALOG_STYLE_TABLIST_HEADERS, "Pasujące wyniki:", list, "ok", "");
- }
- public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
- {
- for(new i=1; i<LastiUID; i++)
- {
- if(ItemCache[i][iState] == 0)
- {
- if(ItemCache[i][iOwner] == pUID[playerid])
- {
- if(ItemCache[i][iType] == 12)
- {
- if(ItemCache[i][iActive])
- {
- if(ItemCache[i][iVal2] == index)
- {
- if(response)
- {
- ItemCache[i][iAttachX] = fOffsetX;
- ItemCache[i][iAttachY] = fOffsetY;
- ItemCache[i][iAttachZ] = fOffsetZ;
- ItemCache[i][iAttachrX] = fRotX;
- ItemCache[i][iAttachrY] = fRotY;
- ItemCache[i][iAttachrZ] = fRotZ;
- ItemCache[i][iSizeX] = fScaleX;
- ItemCache[i][iSizeY] = fScaleY;
- ItemCache[i][iSizeZ] = fScaleZ;
- return ShowDialogInfo(playerid, "Przedmiot doczepiany został ustawiony pomyślnie.");
- }
- else
- {
- ItemCache[i][iActive] = 0;
- RemovePlayerAttachedObject(playerid, ItemCache[i][iVal2]);
- return ShowDialogInfo(playerid, "Edycja przedmiotu doczepianego została anulowana.\nZmiany nie zostały zapisane.");
- }
- }
- }
- }
- }
- }
- }
- return 1;
- }
- stock GetWeaponModel(weaponid)
- {
- switch(weaponid)
- {
- case 1: return 331;
- case 2: return 333;
- case 3: return 334;
- case 4: return 335;
- case 5: return 336;
- case 6: return 337;
- case 7: return 338;
- case 8: return 339;
- case 9: return 341;
- case 10: return 321;
- case 11: return 322;
- case 12: return 323;
- case 13: return 324;
- case 14: return 325;
- case 15: return 326;
- case 16: return 342;
- case 17: return 343;
- case 18: return 344;
- case 22: return 346;
- case 23: return 347;
- case 24: return 348;
- case 25: return 349;
- case 26: return 350;
- case 27: return 351;
- case 28: return 352;
- case 29: return 353;
- case 30: return 355;
- case 31: return 356;
- case 32: return 372;
- case 33: return 357;
- case 34: return 358;
- case 35: return 359;
- case 36: return 360;
- case 37: return 361;
- case 38: return 362;
- case 39: return 363;
- case 40: return 364;
- case 41: return 365;
- case 42: return 366;
- case 43: return 367;
- case 46: return 371;
- }
- return 0;
- }
- CMD:toggleac (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] < ADMINISTRATION)
- return 1;
- if(ac[playerid])
- {
- ac[playerid] = false;
- TextDrawForPlayerEx(playerid, 1, "~r~~h~Przelaczono automatyczny czat.", 3000);
- }
- else
- {
- ac[playerid] = true;
- TextDrawForPlayerEx(playerid, 1, "~g~~h~Przelaczono automatyczny czat.", 3000);
- }
- return 1;
- }
- stock IsVehicleSingleTrack(vehiclemodel)
- {
- switch(vehiclemodel)
- {
- case 448: return 1;
- case 461: return 1;
- case 462: return 1;
- case 463: return 1;
- case 468: return 1;
- case 471: return 1;
- case 481: return 1;
- case 509: return 1;
- case 510: return 1;
- case 521: return 1;
- case 522: return 1;
- case 523: return 1;
- case 581: return 1;
- case 586: return 1;
- }
- return 0;
- }
- CMD:kask (playerid, params[])
- {
- if(!IsVehicleSingleTrack(GetVehicleModel(GetPlayerVehicleID(playerid))))
- return TextDrawForPlayerEx(playerid, 1, "Nie mozesz uzyc kasku w tym pojezdzie.", 3000);
- return callcmd::pasy (playerid, params);
- }
- stock IsHelmet(playerid)
- {
- if(IsVehicleSingleTrack(GetVehicleModel(GetPlayerVehicleID(playerid))))
- return 1;
- return 0;
- }
- CMD:wyczysc (playerid, params[])
- {
- if(UserCache[pUID[playerid]][uRank] != ADMINISTRATION)
- return 1;
- new count;
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uUID] == pUID[playerid])
- continue;
- UserCache[i][uRank] = 0;
- UserCache[i][uCash] = 0;
- UserCache[i][uSP] = 0;
- UserCache[i][uBank] = 0;
- UserCache[i][uHealth] = 100.0;
- count++;
- }
- new msg[128];format(msg, sizeof(msg), "Wyczysczono %d użytkowników.",count);
- return SendClientMessage(playerid, COLOR_WHITE, msg);
- }
- CMD:sprobuj (playerid, params[])
- {
- new action[128];
- if(sscanf(params, "s[128]", action))
- return SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /sprobuj [sprobuj czynnosci postaci]");
- new msg[256];
- new success = random(2);
- if(UserCache[pUID[playerid]][uSex])
- {
- if(success)
- format(msg, sizeof(msg), "* %s odniosła sukces próbując %s. *", RPName(playerid), action);
- else
- format(msg, sizeof(msg), "* %s zawiodła próbując %s. *", RPName(playerid), action);
- }
- else
- {
- if(success)
- format(msg, sizeof(msg), "* %s odniósł sukces próbując %s. *", RPName(playerid), action);
- else
- format(msg, sizeof(msg), "* %s zawiódł próbując %s. *", RPName(playerid), action);
- }
- return SendPlayerMessageInRange(playerid, msg, ME_SHADE_1, ME_SHADE_2, ME_SHADE_3, ME_SHADE_4, ME_SHADE_5, ME_SHADE_6);
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- if(!success)
- {
- for(new i; i<=GetPlayerPoolSize(); i++)
- {
- if(IsPlayerConnected(i))
- {
- if(!strcmp(PlayerIP(i), ip, true))
- {
- new msg[128]; format(msg, sizeof(msg), "Kto /rcon login próbuje, banicję otrzymuje! Ban otrzymał: %s", PlayerName(i));
- SendClientMessageToAll(-1, msg);
- return Ban(i);
- }
- }
- }
- }
- return 1;
- }
- CMD:mowner (playerid, params[])
- {
- new objectid = GetPlayerObjectID(playerid);
- if(!objectid)
- return TextDrawForPlayerEx(playerid, 1, "Nie edytujesz zadnego obiektu.", 3000);
- new ownertype, owner;
- if(sscanf(params, "ii", ownertype, owner))
- {
- SendClientMessage(playerid, COLOR_GRAY, "Poprawne użycie: /mowner [Rodzaj ownera: 0 - żaden, 1 - grupa, 2 - Ty] [Owner: Jeśli grupa: podaj slot z pod /g]");
- return SendClientMessage(playerid, COLOR_GRAY, "Małe wyjaśnienie: Po użyciu komendy, do edycji obiektów i poruszania bram 0 - Każdy może, 1 - Tylko wybrana grupa, 2 - Tylko Ty");
- }
- if(ownertype < 0 || ownertype > 2)
- return SendClientMessage(playerid, COLOR_GRAY, "Owner musi znajdować się w przedziale 0-2.");
- new objectuid = GetObjectUID(objectid);
- if(ownertype == 1)
- {
- if(owner == 1)
- {
- if(UserCache[pUID[playerid]][uGroup] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie znajduje się żadna grupa.");
- else if(UserCache[pUID[playerid]][uGroup])
- {
- if(UserCache[pUID[playerid]][uGroupMapper])
- {
- ObjectCache[objectuid][oOwnerType] = 1;
- ObjectCache[objectuid][oOwner] = UserCache[pUID[playerid]][uGroup];
- new msg[128]; format(msg, sizeof(msg), "Podpisano obiekt pod grupę %s (UID: %d)", GroupCache[UserCache[pUID[playerid]][uGroup]][gName],UserCache[pUID[playerid]][uGroup]);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Lider wybranej grupy nie nadał Tobie odpowiednich uprawnień do edycji obiektów należących do niej.");
- }
- if(UserCache[pUID[playerid]][uGroup2] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie znajduje się żadna grupa.");
- else if(UserCache[pUID[playerid]][uGroup2])
- {
- if(UserCache[pUID[playerid]][uGroupMapper2])
- {
- ObjectCache[objectuid][oOwnerType] = 1;
- ObjectCache[objectuid][oOwner] = UserCache[pUID[playerid]][uGroup2];
- new msg[128]; format(msg, sizeof(msg), "Podpisano obiekt pod grupę %s (UID: %d)", GroupCache[UserCache[pUID[playerid]][uGroup2]][gName],UserCache[pUID[playerid]][uGroup2]);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Lider wybranej grupy nie nadał Tobie odpowiednich uprawnień do edycji obiektów należących do niej.");
- }
- if(UserCache[pUID[playerid]][uGroup3] == 0)
- return SendClientMessage(playerid, COLOR_GRAY, "Pod tym slotem nie znajduje się żadna grupa.");
- else if(UserCache[pUID[playerid]][uGroup3])
- {
- if(UserCache[pUID[playerid]][uGroupMapper3])
- {
- ObjectCache[objectuid][oOwnerType] = 1;
- ObjectCache[objectuid][oOwner] = UserCache[pUID[playerid]][uGroup3];
- new msg[128]; format(msg, sizeof(msg), "Podpisano obiekt pod grupę %s (UID: %d)", GroupCache[UserCache[pUID[playerid]][uGroup3]][gName],UserCache[pUID[playerid]][uGroup3]);
- return SendClientMessage(playerid, COLOR_GRAY, msg);
- }
- return SendClientMessage(playerid, COLOR_GRAY, "Lider wybranej grupy nie nadał Tobie odpowiednich uprawnień do edycji obiektów należących do niej.");
- }
- }
- ObjectCache[objectuid][oOwnerType] = ownertype;
- if(owner == 0)
- ObjectCache[objectuid][oOwner] = 0;
- if(owner == 2)
- ObjectCache[objectuid][oOwner] = pUID[playerid];
- return TextDrawForPlayerEx(playerid, 1, "Zmieniono uprawnienia do obiektu.", 3000);
- }
- return 1;
- }
- stock DestroyGroup(groupuid)
- {
- for(new i=1; i<LastdUID; i++)
- {
- if(DoorCache[i][dGroupUID] == groupuid)
- {
- DoorCache[i][dGroupUID] = 0;
- }
- }
- new str[128];
- format(str, sizeof(str), "Grupa %s została usunięta.", GroupCache[groupuid][gName]);
- for(new i=1; i<LastUID; i++)
- {
- if(UserCache[i][uGroup] == groupuid)
- {
- UserCache[i][uGroup] = 0;
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(pUID[j] == UserCache[i][uUID])
- {
- SendClientMessage(j, COLOR_GRAY, str);
- }
- }
- }
- }
- if(UserCache[i][uGroup2] == groupuid)
- {
- UserCache[i][uGroup2] = 0;
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(pUID[j] == UserCache[i][uUID])
- {
- SendClientMessage(j, COLOR_GRAY, str);
- }
- }
- }
- }
- if(UserCache[i][uGroup3] == groupuid)
- {
- UserCache[i][uGroup3] = 0;
- for(new j; j<=GetPlayerPoolSize(); j++)
- {
- if(IsPlayerConnected(j))
- {
- if(pUID[j] == UserCache[i][uUID])
- {
- SendClientMessage(j, COLOR_GRAY, str);
- }
- }
- }
- }
- }
- GroupCache[groupuid][gState] = 1;
- return 1;
- }
- cmd:gclear (playerid, params[])
- {
- for(new i=1; i<LastgUID; i++)
- {
- DestroyGroup(i);
- }
- }
- stock SendMessageToAdmins(message[])
- {
- for(new i=0; i<=GetPlayerPoolSize();i++)
- {
- if(IsPlayerConnected(i))
- {
- if(UserCache[pUID[i]][uRank] >= ADMINISTRATION)
- {
- SendClientMessage(i, COLOR_DARKRED, message);
- }
- }
- }
- return 1;
- }