Szerző Téma: MySQL Objectek MySQL-ben (Az elsõ MySQL Szkriptem)  (Megtekintve 1358 alkalommal)

MySQL Objectek MySQL-ben (Az elsõ MySQL Szkriptem)
« Dátum: 2011. július 05. - 16:55:52 »
0 Show voters
Sziasztok én készültem nektek ezzel a kis \"újítás\" szerû dologgal ami a Dynamic Vehicle Ownership-nek egy \"újítása\".
Elsõnek töltsétek le a DVOS-et
 

itt az oldal vagy nem tudom micsoda a hibás, de figyeljetek me 2-3 helyen a
[ -helyett ez van : \"[\"
Helyezzétek be a MySQL-be a Táblákat és utána hajrá;)
Ha esetleg nem tudnátok, hogy kell a MySQL plugint behelyezni a szerverbe akkor kattints IDE
Hogy mire is jó ez?
SQL adatbázisban tudod rendezni az objecteidet
/AddObject parancs létrehozása készen van, mivel nem csináltam meg mit írjon ki, ha rosszul írod be ezért:
/AddObject Model X Y Z XR YR ZR
Model - Model ID
X - X koordináta
Y - Y koordináta
Z - Z koordináta
XR - XR koordináta
YR - YR koordináta
ZR - ZR koordináta
A parancs behelyezése:
1. lépés megnyitod a Dynamic.pwn-t
2. lépés meg keresed ezt a sort:  // CMD:addicon(playerid, params[]) // és ez fölé behelyezed ezt a szkriptet:
[pawn]CMD:addobject(playerid, params[])
{
new xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR;
{
   CreateDynamicObject(xModel, WX, WY, WZ, WXR, WYR, WZR);
   AddObjectToFile(xModel, WX, WY, WZ, WXR, WYR, WZR);
   format(Msg, sizeof(Msg), \"Az object sikeresen mentve az adatbázisba! Model: (%d).\",xModel);
   return SendClientMessage(playerid, COLOR_INDIGO, Msg);
}
}[/pawn]
szerintem értelme nincsen, mert mindenki Multi Theft Auto-vak hozza létre az objecteket.
A szkript behelyezése:
1.miután letöltötted a DVOS-et és behelyezted, nyisd meg a dynamic,pwn-t
2.Helyez be a szkriptet legalulra a
//====
//Dynamic Pickup
//====
-fölé például.
Szkript:
[pawn]
//==============================================================================
// Dynamic Object
//==============================================================================
stock AddObjectsFromFile()
{
new Str[67], xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR, wTotal;
    mysql_query(\"SELECT * FROM `objects`\");
    mysql_store_result();
    wTotal = mysql_num_rows();
    if(wTotal > 0)
    {
        while(mysql_fetch_row(Str))
        {
            sscanf(Str, \"p<|>iffffff\", xModel, WX, WY, WZ, WXR, WYR, WZR);
            CreateDynamicObject(xModel, WX, WY, WZ, WXR, WYR, WZR);
        }
    }
    printf(\"** %i\\t<->\\tAz objektek betöltve a \\t<->\\tMySQL-bõl\\t\\t   **\", wTotal);
return 1;
}
stock AddObjectToFile(xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR)
{
new Query[200];
format(Query, sizeof(Query), \"INSERT INTO `objects` (ObjectModel, ObjectX, ObjectY, ObjectZ, ObjectXR, ObjectYR, ObjectZR) VALUES(%d, %f, %f, %f, %f, %f, %f, %f)\",
xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR);
mysql_query(Query);
mysql_free_result();
return 1;
}[/pawn]
3.Vissza az elejére és az \"AddMapIconFromFile();\" alá beírod: AddObjectsFromFile();
4. Ha mindez megvan, akkor az SQL Táblákat helyez be(lejjebb van a tábla Szkriptje!)
5, Ui.: Még nem teszteltem, de ha vannak bugok benne, vagy ha egyáltalán elindult írjatok, hogy mi a baja...:)
TESZTELVE! Sikeresen javítva a \"Warning\" bug köszönjétek Zsoltesszkának!
[pawn]/*
Navicat MySQL Data Transfer
Source Server         : Teszt MySQL Szerver
Source Server Version : 50045
Source Host           : localhost:3306
Source Database       : sa-mp
Target Server Type    : MYSQL
Target Server Version : 50045
File Encoding         : 65001
Date: 2011-07-05 17:51:34
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `objects`
-- ----------------------------
DROP TABLE IF EXISTS `objects`;
CREATE TABLE `objects` (
  `ObjectModel` int(10) default NULL,
  `ObjectX` float default NULL,
  `ObjectY` float default NULL,
  `ObjectZ` float default NULL,
  `ObjectXR` float default NULL,
  `ObjectYR` float default NULL,
  `ObjectZR` float default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of objects
-- ----------------------------
INSERT INTO `objects` VALUES (\'979\', \'-1985.14\', \'238.76\', \'35.31\', \'0\', \'0\', \'0\');
INSERT INTO `objects` VALUES (\'979\', \'-1992.16\', \'238.76\', \'35.31\', \'0\', \'0\', \'0\');
[/pawn]
« Utoljára szerkesztve: 2011. november 12. - 19:19:39 írta Zsolesszka »

MySQL Objectek MySQL-ben (Az elsõ MySQL Szkriptem)
« Válasz #1 Dátum: 2011. július 05. - 23:13:01 »
+1 Show voters
Idézetet írta: anorennia date=1309877752\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9429\" data-ipsquote-contentclass=\"forums_Topic
[pawn]//==============================================================================
// Dynamic Object
//==============================================================================
stock AddObjectsFromFile()
{
new Str[67], xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR, Float:wTotal;
    mysql_query(\"SELECT * FROM `objects`\");
    mysql_store_result();
    wTotal = mysql_num_rows();
    if(wTotal > 0)
    {
        while(mysql_fetch_row(Str))
        {
            sscanf(Str, \"p<|>iffff\", xModel, WX, WY, WZ, WXR, WYR, WZR);
            CreateDynamicObject(xModel, WX, WY, WZ, WXR, WYR, WZR);
        }
    }
    mysql_free_result();
    printf(\"** %i\\t<->\\tAz objektek betöltve a \\t<->\\tMySQL-bõl\\t\\t   **\", wTotal);
return 1;
}
stock AddObjectToFile(xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR)
{
new Query[200];
format(Query, sizeof(Query), \"INSERT INTO `objects` (ObjectModel, ObjectX, ObjectY, ObjectZ, ObjectXR, ObjectYR, ObjectZR) VALUES(%d, %f, %f, %f, %f, %f, %f, %f)\",
xModel, Float:WX, Float:WY, Float:WZ, Float:WXR, Float:WYR, Float:WZR);
mysql_query(Query);
mysql_free_result();
return 1;
}[/pawn]
 
A wTotal változónak nem kell Float: elõtag, a sorok száma egész szám.
 
sscanf(Str, \"p<|>iffff\", xModel, WX, WY, WZ, WXR, WYR, WZR);[/quote]
i = xModel
f = WX
f = WY
f = WZ
f = WXR
? = WYR
? = WZR
Itt mintha kicsit kevés format típus lenne meghatározva mint amennyi változó van. Kettõ f hiányzik.
AddObjectToFile funkcióban nincs szükség a mysql_free_result() sorra, lehet pont erre panaszkodik.
De csak így tovább.  ;D

MySQL Objectek MySQL-ben (Az elsõ MySQL Szkriptem)
« Válasz #2 Dátum: 2011. július 06. - 14:29:37 »
0 Show voters
Köszi, akkor ki is javítom itt meg a szerverben is:D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal