Szerző Téma: Streamer Plugin v2.7.7  (Megtekintve 50094 alkalommal)

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #150 Dátum: 2012. február 12. - 18:40:09 »
0 Show voters
http://code.google.com/p/samp-streamer-plugin/source/list
Fix bug with destroying items and make a few other minor changes
Javítva a tárgyak törlésével kapcsolatos hiba és pár apró változtatás.

Streamer Plugin v2.7.7
« Válasz #151 Dátum: 2012. február 12. - 19:03:57 »
0 Show voters
Váá,köszi! :)

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #152 Dátum: 2012. február 19. - 21:09:04 »
0 Show voters
R29 elérhetõ, már végre le lehet kérdenzi az aréna típusát, nagyon örülök neki, hogy megcsinálta :D
Ezenkívül pár bugjavítás. Googlecode-n megtaláltok mindent.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #153 Dátum: 2012. február 19. - 21:31:34 »
0 Show voters
R29 elérhetõ, már végre le lehet kérdenzi az aréna típusát, nagyon örülök neki, hogy megcsinálta :D
Ezenkívül pár bugjavítás. Googlecode-n megtaláltok mindent.
[/quote]
Ennek én is örülök! :D

Nem elérhető lusta19

  • 9084
  • £u$taÐi$znó
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #154 Dátum: 2012. február 19. - 21:37:07 »
0 Show voters
Én is most raktam be   :thumbsup:

Streamer Plugin v2.7.7
« Válasz #155 Dátum: 2012. március 06. - 15:31:23 »
0 Show voters
Van olyan függvény aminek a segitségével le lehet kérdezni hogy egy pozíció benne van e egy dynamic area-ban? vagy ha nincs akkor használjam a kezdetleges pawnoban irt függvényt?

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #156 Dátum: 2012. március 06. - 16:24:23 »
0 Show voters
Sajnos nincs.
GetFloatData()-val le tudod kérdeni az aréa pontjait és pawnban pedig megnézed, hogy benne-e van.
Egykébként ezzel kapcsolatban fogok írni Incognito-nak, hogy megcsinálhtná.
Meg ráférne egy frissítés a 0.3e-ben lévõ OnPlayerSelectObject() callbackhoz.

Streamer Plugin v2.7.7
« Válasz #157 Dátum: 2012. március 06. - 17:16:36 »
0 Show voters
ah értem köszi

Streamer Plugin v2.7.7
« Válasz #158 Dátum: 2012. március 16. - 19:24:25 »
+1 Show voters
http://forum.sa-mp.com/showpost.php?p=1734858&postcount=3180
Ha valakit érdekel összetákoltam egy c++ kódot valahogy, amivel CreatePlayerObjectID alapján le lehet kérni a CreateDynamicObjectID-t.
Ezáltal szerkeszthetõ 0.3e ben a CreateDynamicObjectek és menthetõek adatbázisban az adatai, ki mire szeretné használni.
0.3e javaslat
 

// main.cpp
{ \"GDO_ID_to_CPO_ID\", Natives::GDO_ID_to_CPO_ID },
// natives.h
cell AMX_NATIVE_CALL GDO_ID_to_CPO_ID(AMX *amx, cell *params);
// natives.cpp
template <class K, class V>
class value_equals {
  private:
V value;
  public:
// constructor (initialize value to compare with)
value_equals (const V& v)
 : value(v) {
}
// comparison
bool operator() (std::pair<const K, V> elem) {
   return elem.second == value;
}
};
//native GDO_ID_to_CPO_ID(playerid, objectid); // return streamer objectid
cell AMX_NATIVE_CALL Natives::GDO_ID_to_CPO_ID( AMX* amx, cell* params )
{
CHECK_PARAMS(2, \"GDO_ID_to_CPO_ID\");
boost::unordered_map<int, Player>::iterator p = core->getData()->players.find(static_cast<int>(params[1]));
if (p != core->getData()->players.end())
{
   boost::unordered_map<int, int>::iterator o;
   o = find_if(p->second.internalObjects.begin(),p->second.internalObjects.end(), value_equals<int,int>(static_cast<int>(params[2])));
   if(o != p->second.internalObjects.end())
   {
      return o->first;
   }
}
return 0xFFFF;
}

 
[pawn]
// pawn script
CMD:selectobject(playerid, params[])
{
   SelectObject(playerid);
   return 1;
}
CMD:cancelobject(playerid, params[])
{
   CancelEdit(playerid);
   return 1;
}
new
   dynamicobjectselect[MAX_PLAYERS];
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
   if(!playerobject) {
      if(!IsValidObject(objectid)) return;
      MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
   } else {
      if(!IsValidPlayerObject(playerid, objectid)) return;
//      MoveDynamicObject(dynamicobjectselect[playerid], fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
      MovePlayerObject(playerid, objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
   }
   if(response == EDIT_RESPONSE_FINAL)
   {
      new
         message[256+1];
      format(message, sizeof(message), \"(Final) o_id:%d d_id:%d | Pos: %.4f,%.4f,%.4f | RPos: %.4f,%.4f,%.4f\", objectid, dynamicobjectselect[playerid], fX, fY, fZ, fRotX, fRotY, fRotZ);
      SendClientMessage(playerid, 0xFFFFFFFF, message);
      // etc..
      Streamer_SetFloatData(STREAMER_TYPE_OBJECT, dynamicobjectselect[playerid], E_STREAMER_X, fX);
      Streamer_SetFloatData(STREAMER_TYPE_OBJECT, dynamicobjectselect[playerid], E_STREAMER_Y, fY);
      Streamer_SetFloatData(STREAMER_TYPE_OBJECT, dynamicobjectselect[playerid], E_STREAMER_Z, fZ);
      Streamer_SetFloatData(STREAMER_TYPE_OBJECT, dynamicobjectselect[playerid], E_STREAMER_R_X, fRotX);
      Streamer_SetFloatData(STREAMER_TYPE_OBJECT, dynamicobjectselect[playerid], E_STREAMER_R_Y, fRotY);
      Streamer_SetFloatData(STREAMER_TYPE_OBJECT, dynamicobjectselect[playerid], E_STREAMER_R_Z, fRotZ);
      dynamicobjectselect[playerid] = INVALID_OBJECT_ID;
      MoveDynamicObject(dynamicobjectselect[playerid], fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ); // Moved object all players
      // etc..
      // and saved object data database sql, mysql, file, etc..
      SelectObject(playerid);
   }
   if(response == EDIT_RESPONSE_CANCEL)
   {
      // put them back in selection mode after they click save
      SelectObject(playerid);
   }
}
//-------------------------------------------
native GDO_ID_to_CPO_ID(playerid, objectid); // return streamer objectid  (GetDynamicObjectID to CreatePlayerObjectID
public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
{
   new
      message[256+1];
   if(type == SELECT_OBJECT_GLOBAL_OBJECT)
   {
      if(!IsValidObject(objectid)) return 0;
      format(message,sizeof(message),\"(Object) You selected: %d model: %d Pos: %.4f,%.4f,%.4f\", objectid, modelid, fX, fY, fZ);
      SendClientMessage(playerid, 0xFFFFFFFF, message);
      EditObject(playerid, objectid);
      return 1;
   }
   if(type == SELECT_OBJECT_PLAYER_OBJECT)
   {
      if(!IsValidPlayerObject(playerid, objectid)) return 0;
      new
         dynamicobjectid = GDO_ID_to_CPO_ID(playerid, objectid); //printf(\"dynamicobjectid: %d\", dynamicobjectid);
      if(dynamicobjectid == INVALID_OBJECT_ID) return print(\"No connected players or no streamed object.\");
      format(message,sizeof(message),\"(Player Object) You selected: {FF0000}%d {FFFFFF}model: %d Pos: %.4f,%.4f,%.4f  dynamicobjectid: {FF0000}%d\", objectid, modelid, fX, fY, fZ, dynamicobjectid);
      SendClientMessage(playerid, 0xFFFFFFFF, message);
      EditPlayerObject(playerid, objectid);
      dynamicobjectselect[playerid] = dynamicobjectid;
      return 1;
   }
   return 0;
}
[/pawn]

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #159 Dátum: 2012. március 16. - 19:48:55 »
0 Show voters
Kösz, nekem pont ilyenre volt szükségem!
Bár nekem nem éppen erre a célra kellett volna, de erre is jólesz.
Így ahogy elnézem azért elég szépen vágod a C++-t :D

Dupla hozzászólás automatikusan összefûzve. ( 2012. március 18. - 15:24:27 )

Az 2.6 hivatalosan megjelent!
Most a 2.6.1 R37 van a beta állapotban, ez mûködik 0.3e-vel!
Ezt itt lehet elérni:
http://code.google.com/p/samp-streamer-plugin/downloads/list
« Utoljára szerkesztve: 2012. március 18. - 19:53:18 írta ɐʞzssǝlosz »

Streamer Plugin v2.7.7
« Válasz #160 Dátum: 2012. március 19. - 15:09:58 »
0 Show voters
Samp 0.3dre is van csak újabb verzio:D

Streamer Plugin v2.7.7
« Válasz #161 Dátum: 2012. március 28. - 22:28:50 »
0 Show voters
Ilyen DynamicObjectet nem lehet játékosra és kocsira csatolni?

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Streamer Plugin v2.7.7
« Válasz #162 Dátum: 2012. március 29. - 06:43:16 »
0 Show voters
Kocsira lehet a következõ függvénnyel, de játékosra nem, mivel nincs AttachPlayerObjectToPlayer().
 

AttachDynamicObjectToVehicle(objectid, vehicleid, Float:offsetx, Float:offsety, Float:offsetz, Float:rx, Float:ry, Float:rz);

Streamer Plugin v2.7.7
« Válasz #163 Dátum: 2012. március 29. - 07:59:36 »
0 Show voters
Idézetet írta: kurta999 date=1332996196\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1322\" data-ipsquote-contentclass=\"forums_Topic
Kocsira lehet a következõ függvénnyel, de játékosra nem, mivel nincs AttachPlayerObjectToPlayer().
 

AttachDynamicObjectToVehicle(objectid, vehicleid, Float:offsetx, Float:offsety, Float:offsetz, Float:rx, Float:ry, Float:rz);

 

Zsír,már csak AttachDynamicAreaToVehicle-nél kéne megcsinálni az offset-eket,és az úgy raj lenne.

Streamer Plugin v2.7.7
« Válasz #164 Dátum: 2012. március 29. - 14:43:42 »
0 Show voters
Köszi, és a SetPlayerAttachedObject az nem foglal helyet?
E: Vagyis object slotot :/ :D
« Utoljára szerkesztve: 2012. március 29. - 14:57:45 írta 1ST_Chr »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal