GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: bendor - 2013. február 28. - 14:31:49

Cím: Teleportok
Írta: bendor - 2013. február 28. - 14:31:49
Ez a kis kód lehetõvé teszi,hogy játékon belöl hozzatok létre/töröljetek teleportokat.
Készítõ:Bendi.(én)
Készítési idõ:10 perc (teszteléssel)
Szükséges includek:
 

 
CMD:maketele(playerid,params[])
{
new telename[20],Float:posx,Float:posy,Float:posz;
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /maketele [teleport neve]\");
strcat(telename,\".ini\");
if(dini_Exists(telename)) return SendClientMessage(playerid,-1,\"Ez a teleport már létezik\");
dini_Create(telename);
GetPlayerPos(playerid,posx,posy,posz);
dini_FloatSet(telename,\"X\",posx);
dini_FloatSet(telename,\"Y\",posy);
dini_FloatSet(telename,\"Z\",posz);
SendClientMessage(playerid,-1,\"Sikeresen létrehoztad a teleportot!\");
return 1;
}
CMD:tele(playerid,params[])
{
new telename[20];
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /tele [teleport neve]\");
strcat(telename,\".ini\");
if(!dini_Exists(telename)) return SendClientMessage(playerid,-1,\"Ez a teleport nem létezik\");
if(IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid),dini_Float(telename,\"X\"),dini_Float(telename,\"Y\"),dini_Float(telename,\"Z\")),SendClientMessage(playerid,-1,\"Sikeres teleportálás!\");
else SetPlayerPos(playerid,dini_Float(telename,\"X\"),dini_Float(telename,\"Y\"),dini_Float(telename,\"Z\")),SendClientMessage(playerid,-1,str),SendClientMessage(playerid,-1,\"Sikeres teleportálás!\");
return 1;
}
CMD:deletele(playerid,params[])
{
new telename[20];
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /deletele [teleport neve]\");
strcat(telename,\".ini\");
if(!dini_Exists(telename)) return SendClientMessage(playerid,-1,\"Ez a teleport nem létezik\");
dini_Remove(telename),SendClientMessage(playerid,-1,\"Sikeresen törölted a teleportot!\");
return 1;
}

 
mysql-el(nem biztos,hogy jó):
 

CMD:maketele(playerid,params[])
{
new telename[20],Float:posx,Float:posy,Float:posz;
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /maketele [teleport neve]\");
//strcat(telename,\".ini\");
GetPlayerPos(playerid,posx,posy,posz);
new query[128];
format(query,sizeof(query),\"INSERT INTO teles (neve,x,y,z) VALUES (\'%s\',\'%f\',\'%f\',\'%f\')\",telename,posx,posy,posz);
mysql_query(query);
SendClientMessage(playerid,-1,\"Sikeresen létrehoztad a teleportot!\");
return 1;
}
CMD:tele(playerid,params[])
{
new telename[20];
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /tele [teleport neve]\");
new query[128];
format(query,sizeof(query),\"SELECT x,y,z FROM teles WHERE name=\'%s\'\",telename);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(query);
new values[4];
sscanf(query, \"f,f,f\", values);
SetPlayerPos(playerid,values[1],values[2],values[3]);
mysql_free_result();
              SendClientMessage(playerid,-1,\"Sikeres teleportálás\");
return 1;
}
CMD:deletele(playerid,params[])
{
new telename[20];
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /deletele [teleport neve]\");
new query[128];
format(query,sizeof(query),\"DELETE FROM teles WHERE name=\'%s\'\",telename);
mysql_query(query);
SendClientMessage(playerid,-1,\"Sikeres törlés!\");
return 1;
}
Cím: Teleportok
Írta: citromhun - 2013. február 28. - 14:52:55
Jó lett tesa!  :D
Cím: Teleportok
Írta: bendor - 2013. február 28. - 15:13:09
köszi :)
Cím: Teleportok
Írta: Flash - 2013. február 28. - 15:35:32
kapsz 2 pluszt ha mysql-ba elkészíted. :)
Cím: Teleportok
Írta: bendor - 2013. február 28. - 15:36:14
Majd megpróbálom :D
Cím: Teleportok
Írta: Beckham - 2013. február 28. - 15:36:50
Jó lett tesó  <3
Cím: Teleportok
Írta: Cappsy - 2013. február 28. - 15:49:35
eszes :)
Cím: Teleportok
Írta: bendor - 2013. február 28. - 16:13:49
Köszönöm a dícséreteket.
Itt a mysql-es verzió,bár nem biztos,hogy jó:
 

CMD:maketele(playerid,params[])
{
new telename[20],Float:posx,Float:posy,Float:posz;
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /maketele [teleport neve]\");
//strcat(telename,\".ini\");
GetPlayerPos(playerid,posx,posy,posz);
new query[128];
format(query,sizeof(query),\"INSERT INTO teles (neve,x,y,z) VALUES (\'%s\',\'%f\',\'%f\',\'%f\')\",telename,posx,posy,posz);
mysql_query(query);
SendClientMessage(playerid,-1,\"Sikeresen létrehoztad a teleportot!\");
return 1;
}
CMD:tele(playerid,params[])
{
new telename[20];
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /tele [teleport neve]\");
new query[128];
format(query,sizeof(query),\"SELECT x,y,z FROM teles WHERE name=\'%s\'\",telename);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(query);
new values[4];
sscanf(query, \"f,f,f\", values);
SetPlayerPos(playerid,values[1],values[2],values[3]);
mysql_free_result();
              SendClientMessage(playerid,-1,\"Sikeres teleportálás\");
return 1;
}
CMD:deletele(playerid,params[])
{
new telename[20];
if(sscanf(params,\"s[20]\",telename)) return SendClientMessage(playerid,-1,\"Használat: /deletele [teleport neve]\");
new query[128];
format(query,sizeof(query),\"DELETE FROM teles WHERE name=\'%s\'\",telename);
mysql_query(query);
SendClientMessage(playerid,-1,\"Sikeres törlés!\");
return 1;
}
Cím: Teleportok
Írta: Norby - 2013. február 28. - 16:47:29
mysql_free_result() után (,) vesszõt tettél ( ; ) pontos vesszõ kell!
DELETE * FROM helyett DELETE FROM
És ez a lekérdezés, hát.. Tesztelted?
Cím: Teleportok
Írta: bendor - 2013. február 28. - 16:59:12
Köszönöm,hogy szóltál. Nem teszteltem.
Egyébként ez életem elsõ mysql-es munkája.