[Plugin] YSF - kurta999's version

He should do formatting functions for textdraws, labels etc...
Reply

Any ideas how to fix these errors in Linux with C++11 option? Templates are out of my knownledge.

https://github.com/kurta999/YSF/blob.../BitStream.cpp

Код:
rm -f *~ *.o *.so
g++ -m32 -std=c++11 -Ilib -DSAMPGDK_AMALGAMATION -fno-stack-protector -D YSF -c -O3 -fpack-struct=1 -fPIC -w -DLINUX ./lib/sdk/*.cpp
g++ -m32 -std=c++11 -Ilib -DSAMPGDK_AMALGAMATION -fno-stack-protector -D YSF -c -O3 -fpack-struct=1 -fPIC -w -DLINUX ./lib/raknet/*.cpp
In file included from ./lib/raknet/BitStream.cpp:17:0:
./lib/raknet/BitStream.h: In member function ‘bool RakNet::BitStream::ReadNormVector(templateType&, templateType&, templateType&)’:
./lib/raknet/BitStream.h:1200:28: error: no matching function for call to ‘RakNet::BitStream::ReadCompressed(float)’
    ReadCompressed((float)cy);
                            ^
./lib/raknet/BitStream.h:1200:28: note: candidates are:
./lib/raknet/BitStream.h:1024:15: note: bool RakNet::BitStream::ReadCompressed(templateType&) [with templateType = float]
   inline bool BitStream::ReadCompressed(float &var)
               ^
./lib/raknet/BitStream.h:1024:15: note:   no known conversion for argument 1 from ‘float’ to ‘float&’
./lib/raknet/BitStream.h:581:8: note: bool RakNet::BitStream::ReadCompressed(unsigned char*, int, bool)
   bool ReadCompressed( unsigned char* output, const int size, const bool unsignedData );
        ^
./lib/raknet/BitStream.h:581:8: note:   candidate expects 3 arguments, 1 provided
./lib/raknet/BitStream.h:1217:33: error: no matching function for call to ‘RakNet::BitStream::ReadCompressed(float)’
    if (!ReadCompressed((float)cz))
                                 ^
./lib/raknet/BitStream.h:1217:33: note: candidates are:
./lib/raknet/BitStream.h:1024:15: note: bool RakNet::BitStream::ReadCompressed(templateType&) [with templateType = float]
   inline bool BitStream::ReadCompressed(float &var)
               ^
./lib/raknet/BitStream.h:1024:15: note:   no known conversion for argument 1 from ‘float’ to ‘float&’
./lib/raknet/BitStream.h:581:8: note: bool RakNet::BitStream::ReadCompressed(unsigned char*, int, bool)
   bool ReadCompressed( unsigned char* output, const int size, const bool unsignedData );
        ^
./lib/raknet/BitStream.h:581:8: note:   candidate expects 3 arguments, 1 provided
make: *** [YSF] Error 1
Reply

Quote:
Originally Posted by kurta999
Посмотреть сообщение
Any ideas how to fix these errors in Linux with C++11 option? Templates are out of my knownledge.

https://github.com/kurta999/YSF/blob.../BitStream.cpp

Код:
rm -f *~ *.o *.so
g++ -m32 -std=c++11 -Ilib -DSAMPGDK_AMALGAMATION -fno-stack-protector -D YSF -c -O3 -fpack-struct=1 -fPIC -w -DLINUX ./lib/sdk/*.cpp
g++ -m32 -std=c++11 -Ilib -DSAMPGDK_AMALGAMATION -fno-stack-protector -D YSF -c -O3 -fpack-struct=1 -fPIC -w -DLINUX ./lib/raknet/*.cpp
In file included from ./lib/raknet/BitStream.cpp:17:0:
./lib/raknet/BitStream.h: In member function ‘bool RakNet::BitStream::ReadNormVector(templateType&, templateType&, templateType&)’:
./lib/raknet/BitStream.h:1200:28: error: no matching function for call to ‘RakNet::BitStream::ReadCompressed(float)’
    ReadCompressed((float)cy);
                            ^
./lib/raknet/BitStream.h:1200:28: note: candidates are:
./lib/raknet/BitStream.h:1024:15: note: bool RakNet::BitStream::ReadCompressed(templateType&) [with templateType = float]
   inline bool BitStream::ReadCompressed(float &var)
               ^
./lib/raknet/BitStream.h:1024:15: note:   no known conversion for argument 1 from ‘float’ to ‘float&’
./lib/raknet/BitStream.h:581:8: note: bool RakNet::BitStream::ReadCompressed(unsigned char*, int, bool)
   bool ReadCompressed( unsigned char* output, const int size, const bool unsignedData );
        ^
./lib/raknet/BitStream.h:581:8: note:   candidate expects 3 arguments, 1 provided
./lib/raknet/BitStream.h:1217:33: error: no matching function for call to ‘RakNet::BitStream::ReadCompressed(float)’
    if (!ReadCompressed((float)cz))
                                 ^
./lib/raknet/BitStream.h:1217:33: note: candidates are:
./lib/raknet/BitStream.h:1024:15: note: bool RakNet::BitStream::ReadCompressed(templateType&) [with templateType = float]
   inline bool BitStream::ReadCompressed(float &var)
               ^
./lib/raknet/BitStream.h:1024:15: note:   no known conversion for argument 1 from ‘float’ to ‘float&’
./lib/raknet/BitStream.h:581:8: note: bool RakNet::BitStream::ReadCompressed(unsigned char*, int, bool)
   bool ReadCompressed( unsigned char* output, const int size, const bool unsignedData );
        ^
./lib/raknet/BitStream.h:581:8: note:   candidate expects 3 arguments, 1 provided
make: *** [YSF] Error 1
The cast in BitStream.h:1200 should be like this (missing reference):
Код:
ReadCompressed((float&)cy);
Reply

Thanks!
Reply

The plugin has a small bug with the IsPlayerPaused function, I use it on a timer (1000 ms) which when the user is absent, a message alarming the nearby players, when you get off a car IsPlayerPaused is marked as true, And is also marked true when a person suffers a severe downfall of FPS.

Greetings.
Reply

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
The plugin has a small bug with the IsPlayerPaused function, I use it on a timer (1000 ms) which when the user is absent, a message alarming the nearby players, when you get off a car IsPlayerPaused is marked as true, And is also marked true when a person suffers a severe downfall of FPS.

Greetings.
These are the moments when the player stops communicating (or slows communication) with the server.
Reply

Quote:
Originally Posted by Crayder
Посмотреть сообщение
These are the moments when the player stops communicating (or slows communication) with the server.
I have not tried it on my host, just localhost.

In any case it would only be the problem to just get out of a car.
Reply

I'm started to love GCC, really..

Код:
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/Addresses.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/Addresses.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/CCallbackManager.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/CCallbackManager.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/CGangZonePool.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/CGangZonePool.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/CModelSizes.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/CModelSizes.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/CPickupPool.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/CPickupPool.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/CPlayerData.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/CPlayerData.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/CServer.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/CServer.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/Functions.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/Functions.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
./src/Functions.cpp: In static member function ‘static void CSAMPFunctions::RespawnVehicle(CVehicle*)’:
./src/Functions.cpp:339:39: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.iModelID = v->second.iModelID;
                                       ^
./src/Functions.cpp:340:37: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.vecPos = v->second.vecPos;
                                     ^
./src/Functions.cpp:341:35: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.fRot = v->second.fRot;
                                   ^
./src/Functions.cpp:342:38: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.iColor1 = v->second.iColor1;
                                      ^
./src/Functions.cpp:343:38: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.iColor2 = v->second.iColor2;
                                      ^
./src/Functions.cpp:344:43: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.iRespawnTime = v->second.iRespawnTime;
                                           ^
./src/Functions.cpp:345:40: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   pVehicle->customSpawn.iInterior = v->second.iInterior;
                                        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/Hooks.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/Hooks.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/RPCs.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/RPCs.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/Scripting.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/Scripting.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
./src/Scripting.cpp: In function ‘cell Natives::GetVehicleSpawnInfo(AMX*, cell*)’:
./src/Scripting.cpp:2641:21: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   spawn.vecPos = v->second.vecPos;
                     ^
./src/Scripting.cpp:2642:19: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   spawn.fRot = v->second.fRot;
                   ^
./src/Scripting.cpp:2643:22: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   spawn.iColor1 = v->second.iColor1;
                      ^
./src/Scripting.cpp:2644:22: error: ‘struct std::pair<const int, CVehicleSpawn>’ has no member named ‘second’
   spawn.iColor2 = v->second.iColor2; 
                      ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/Scripting.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) [with _U1 = int; _U2 = CVehicleSpawn; <template-parameter-2-3> = void; _T1 = const int; _T2 = CVehicleSpawn]’:
/usr/include/c++/4.8/type_traits:801:43:   required from ‘struct std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&>’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&>’
/usr/include/c++/4.8/type_traits:895:12:   required from ‘struct std::__is_direct_constructible_new<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&>’
/usr/include/c++/4.8/type_traits:903:12:   required from ‘struct std::__is_direct_constructible<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&>’
/usr/include/c++/4.8/type_traits:944:12:   required from ‘struct std::__is_constructible_impl<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&>’
/usr/include/c++/4.8/type_traits:955:12:   required from ‘struct std::is_constructible<std::pair<const int, CVehicleSpawn>, std::pair<int, CVehicleSpawn>&&>’
/usr/include/c++/4.8/bits/unordered_map.h:365:32:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:152:40: error: using invalid field ‘std::pair<_T1, _T2>::second’
    second(std::forward<_U2>(__p.second)) { }
                                        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/Utils.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/Utils.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/amxfunctions.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/amxfunctions.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/stl_tree.h:61,
                 from /usr/include/c++/4.8/map:60,
                 from ./src/main.h:137,
                 from ./src/main.cpp:33:
/usr/include/c++/4.8/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, CVehicleSpawn>’:
/usr/include/c++/4.8/type_traits:615:28:   required from ‘struct std::__is_destructible_impl<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:637:12:   required from ‘struct std::__is_destructible_safe<std::pair<const int, CVehicleSpawn>, false, false>’
/usr/include/c++/4.8/type_traits:652:12:   required from ‘struct std::is_destructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/type_traits:116:12:   required from ‘struct std::__and_<std::is_destructible<std::pair<const int, CVehicleSpawn> >, std::__is_direct_constructible_impl<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&> >’
/usr/include/c++/4.8/type_traits:817:12:   required from ‘struct std::__is_direct_constructible_new_safe<std::pair<const int, CVehicleSpawn>, const std::pair<const int, CVehicleSpawn>&>’
/usr/include/c++/4.8/type_traits:895:12:   [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/4.8/type_traits:968:12:   required from ‘struct std::__is_copy_constructible_impl<std::pair<const int, CVehicleSpawn>, false>’
/usr/include/c++/4.8/type_traits:974:12:   required from ‘struct std::is_copy_constructible<std::pair<const int, CVehicleSpawn> >’
/usr/include/c++/4.8/bits/alloc_traits.h:540:12:   required from ‘struct std::__is_copy_insertable<std::allocator<std::pair<const int, CVehicleSpawn> > >’
/usr/include/c++/4.8/bits/alloc_traits.h:560:63:   required by substitution of ‘template<class _Alloc> using __check_copy_constructible = std::__allow_copy_cons<std::__is_copy_insertable<_Alloc>::value> [with _Alloc = std::allocator<std::pair<const int, CVehicleSpawn> >]’
/usr/include/c++/4.8/bits/unordered_map.h:97:11:   required from ‘class std::unordered_map<int, CVehicleSpawn>’
./src/CServer.h:124:41:   required from here
/usr/include/c++/4.8/bits/stl_pair.h:102:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
       _T2 second;                /// @c second is a copy of the second object
           ^
In file included from ./src/Structs.h:36:0,
                 from ./src/CGangZonePool.h:37,
                 from ./src/main.h:155,
                 from ./src/main.cpp:33:
./src/CServer.h:38:8: error: forward declaration of ‘struct CVehicleSpawn’
 struct CVehicleSpawn;
        ^
OMG.
Reply

Quote:
Originally Posted by kurta999
Посмотреть сообщение
I'm started to love GCC, really..

Код:
[...]
OMG.
Welcome to the world of C++!

You're forward-declaring CVehicleSpawn after actually defining it, e.g.
Код:
struct CVehicleSpawn
{
    int some_var;
    //...
};

struct CVehicleSpawn; // this is wrong
You've probably messed up your include order somewhere.
Reply

Quote:
Originally Posted by maddinat0r
Посмотреть сообщение
Welcome to the world of C++!

You're forward-declaring CVehicleSpawn after actually defining it, e.g.
Код:
struct CVehicleSpawn
{
    int some_var;
    //...
};

struct CVehicleSpawn; // this is wrong
You've probably messed up your include order somewhere.
Look like that the GCC with c++11 option is very aggressive. Thanks, again!

Quote:
Originally Posted by sprtik
Посмотреть сообщение
I hope you are not changing the makefile much, this is the only C++ project I can compile on Linux.
There is everything what I have changed.

https://github.com/kurta999/YSF/comm...673ebebc7ab1d2
Reply

Quote:
Originally Posted by sprtik
Посмотреть сообщение
These characters are part of some Russian character set, apparently. If you compile your code using the correct codepage (which I suppose you do, if your messages are displayed properly), then it would allow them. I myself use the function to allow Czech characters under certain conditions, and it works without issues.
I delete Russian characters but i cant connect server just try and look.
Reply

These characters are part of some Russian character set, apparently. If you compile your code using the correct codepage (which I suppose you do, if your messages are displayed properly), then it would allow them. I myself use the function to allow Czech characters under certain conditions, and it works without issues.
Reply

Is possible to add:
PHP код:
SetVehicleRotationQuat(vehicleidFloat:wFloat:xFloat:yFloat:z); 
for occupied vehicles.

I like this function from FCNPC Plugin:
PHP код:
FCNPC_SetQuaternion(npcidFloat:wFloat:xFloat:yFloat:z); 
Reply

Quote:
Originally Posted by AbyssMorgan
Посмотреть сообщение
Is possible to add:
PHP код:
SetVehicleRotationQuat(vehicleidFloat:wFloat:xFloat:yFloat:z); 
for occupied vehicles.

I like this function from FCNPC Plugin:
PHP код:
FCNPC_SetQuaternion(npcidFloat:wFloat:xFloat:yFloat:z); 
The synchronization data will be constantly overwritten from the player who is syncing the vehicle, and there's no Player RPC for that so not really possible. There are some tricks f.e. using a dummy player with the "car controlling" trick if this works reliably is not sure.
Reply

I was happy if somebody would give me some info about how EXACTLY debug this plugin under Linux. Thanks.

I've fucked something and now YSF eats 2GB ram, but ONLY on linux. On windows everything works well, except that on linux too. I know debug a program in VS, it's very easy.. But Linux is chineese for me in debugging.

Afterward this problem solved, I'm going to release R18.
Reply

Good to see you back kurta, to be honest your plugin is the only thing that still keeps my checking these forums.

Quote:
Originally Posted by kurta999
Посмотреть сообщение
I was happy if somebody would give me some info about how EXACTLY debug this plugin under Linux. Thanks.

I've fucked something and now YSF eats 2GB ram, but ONLY on linux. On windows everything works well, except that on linux too. I know debug a program in VS, it's very easy.. But Linux is chineese for me in debugging.

Afterward this problem solved, I'm going to release R18.
The IDA debugger isn't great, but you can setup a remote debugger for your Linux server, then manage it on your windows machine, thus not really having to deal to much with Linux.

There's a tutorial on how to do that here: https://www.hex-rays.com/products/id.../remotedbg.pdf

Else I guess you'd have to just deal with GDB: http://www.yolinux.com/TUTORIALS/GDB-Commands.html
Reply

Whitetiger: Thanks for IDA remote debugging, it has helped me so much!







https://github.com/kurta999/YSF/comm...611d857a72R121

std::unordered_set was the problem... Looks like it's fucked up on linux.
Reply

I think the time has arrived when I'm releasing YSF R18. This is the biggest update since I'm working on YSF.

R18
- Added ResetPlayerMarkerForPlayer (thanks to ziggi)
- Added execute(command[]) which allow you to execute commands from the SA-MP server
- Added protection against sproofing dialog id
- Added ability to send console messages to players
- Readded and fixed GetPlayerDialog which was removed before
- Added ud, lr keys to (Set/Get)PlayerDisabledKeysSync
- Major improvements in plugin code
- Fixed GetVehiclePaintjob
- Fixed OnClientCheckResponse wasn't calling for gamemodes (thanks to ziggi)
- Fixed GetVehicleNumberPlate returned NULL as plate when vehicle has default plate
- Fixed a bug when you used /rcon weather/gravity and afterward GetPlayerWeather/GetPlayerGravity wasn't updated
- Fixed % character appearance in print messages
- Improved RakServer hooks
- RakServer::IsBanned, RakServer::Send has finally fixed on Linux
- If YSF isn't loaded return of memory hacking functions will be cellmin
- SAMP GDK has been removed, added custom hooks for callback hooking insted of using SAMPGDK
- ModifyFlag has been removed, use instead SetServerRuleFlags
- (Player)TextDrawGetFontSize has been removed, use insted (Player)TextDrawGetTextSize
- GetMTUSize has been removed since it always returned the same value
- Swapped some of SendBulletData parameters, for more info see the native

https://github.com/kurta999/YSF/releases/tag/R18
Reply

Quote:
Originally Posted by kurta999
Посмотреть сообщение
I think the time has arrived when I'm releasing YSF R18. This is the biggest update since I'm working on YSF.

R18
- Added ResetPlayerMarkerForPlayer (thanks to ziggi)
- Added execute(command[]) which allow you to execute commands from the SA-MP server
- Added protection against sproofing dialog id
- Added ability to send console messages to players
- Readded and fixed GetPlayerDialog which was removed before
- Added ud, lr keys to (Set/Get)PlayerDisabledKeysSync
- Major improvements in plugin code
- Fixed GetVehiclePaintjob
- Fixed OnClientCheckResponse wasn't calling for gamemodes (thanks to ziggi)
- Fixed GetVehicleNumberPlate returned NULL as plate when vehicle has default plate
- Fixed a bug when you used /rcon weather/gravity and afterward GetPlayerWeather/GetPlayerGravity wasn't updated
- Fixed % character appearance in print messages
- Improved RakServer hooks
- RakServer::IsBanned, RakServer::Send has finally fixed on Linux
- If YSF isn't loaded return of memory hacking functions will be cellmin
- SAMP GDK has been removed, added custom hooks for callback hooking insted of using SAMPGDK
- ModifyFlag has been removed, use instead SetServerRuleFlags
- (Player)TextDrawGetFontSize has been removed, use insted (Player)TextDrawGetTextSize
- GetMTUSize has been removed since it always returned the same value
- Swapped some of SendBulletData parameters, for more info see the native

https://github.com/kurta999/YSF/releases/tag/R18
" Added ability to send console messages to players " - there's a ' say ' command that you can use to do that.

Native: ResetPlayerMarkerForPlayer - what does that do?
Reply

Quote:
Originally Posted by Riddick94
Посмотреть сообщение
" Added ability to send console messages to players " - there's a ' say ' command that you can use to do that.
Nope, this sends all messages that are usually written to the console (and log) to given players. A quick way of debugging.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)