Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - Zsolesszka

Oldalak: 1 ... 27 28 [29] 30 31 ... 136
421
Segítségkérés / PAWNO sorok eltolása!
« Dátum: 2013. március 19. - 21:51:18 »
http://en.wikipedia.org/wiki/Indent_style
De mindenki kialakít elõbb utóbb saját magának egyet.
@Snoop
tab és shift+tab, akár egy vagy több sor kijelöléssel, vagy új sor kezdésnél is.

422
SA-MP: Szerverfejlesztés / Szerver név váltó
« Dátum: 2013. március 19. - 09:50:19 »
Meg persze az is gond hogy ha pont ugyanazon értéket adja vissza mint ami már eleve is a samp szerver neve, mivel minek megváltoztatni azt ami már eleve az?
Csak újabb felesleges feladat a samp szervernek.  :D

423
SA-MP: Szerverfejlesztés / IpToCountry
« Dátum: 2013. március 17. - 12:07:32 »
Update 2013.03.16

Download
http://www.solidfiles.com/d/9f8a5ce0fb/



/* ¤¤¤¤¤¤¤ [ IpToCountry by Zsolesszka ] ¤¤¤¤¤¤¤¤¤ Date 2011.03.19
Update [2013.03.16]
How to update countrydatabase.db?
Go to http://software77.net/geo-ip/ and download \"IPV4 csv (gz)\"  (IpToCountry.csv file),
extract and copy ../myserver/scriptfiles folder,
and run samp_server.exe and wait 7-8 minute.
¤¤¤¤¤¤¤¤¤¤ [ SQLite version ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤*/
#include <a_samp>
#include <sscanf2>
 
#define Database_N \"countrydatabase.db\"
stock const
IpToCountry_csv[] = \"IpToCountry.csv\";
new
DB:database;
public
OnFilterScriptInit()
{
SetTimer(\"IPTC_start\", 1000, false);
print(\"°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\");
print(\"   IpToCountry_db by Zsolesszka\");
print(\"°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°\");
return 1;
}
forward IPTC_start(); public
IPTC_start()
{
UpDate_DataBase();
database = db_open(Database_N);
//   Teszt();
}
public
OnFilterScriptExit()
{
db_close(database);
return 1;
}
public
OnPlayerConnect(playerid)
{
new
    MaxPlayers = GetMaxPlayers(),
    string[144],
    IP[16];
GetPlayerIp(playerid, IP, sizeof IP);
format(string, sizeof string, \"*** %s has joined the server | Country: %s |\", pName(playerid), GetCountry(IP));
for(new p; p < MaxPlayers; p++)
{
    if(!IsPlayerConnected(p) || IsPlayerNPC(p) || p == playerid) continue;
    SendClientMessage(p, 0x33AA33AA, string);
}
format(string, sizeof string, \" %s IP Adress: %s |\", string, IP);
SendClientMessage(playerid, 0x33AA33AA, string);
return 1;
}
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ Teszt ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
stock
Teszt()
{
new
randomip[16];
for(new i = 0; i < 20; i++)
{
format(randomip, sizeof randomip, \"%d.%d.%d.%d\", random(256), random(256), random(256), random(256));
new
   starttime = GetTickCount();
printf(\"Time test | random ip: %s | COUNTRY: %s --> Time: %dms\", randomip, GetCountry(randomip), GetTickCount() - starttime);
}
}
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ sql version ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
GetCountry(Ip[])
{
new
Split_Ip[4 char],
DBResult:result,
query[128];
if(database)
{
if(!strcmp(\"127.0.0.1\", Ip, true))
{
   query = \"Localhost\";
} else {
   Split_Ip[0] = IptoInt(Ip);
   format(query, sizeof query,
      \"SELECT `Country` FROM `countrydetected` WHERE ((16777216*%d) + (65536*%d) + (256*%d) + %d) BETWEEN `Ip_From` AND `Ip_to`\",
      Split_Ip{0}, Split_Ip{1}, Split_Ip{2}, Split_Ip{3});
   // printf(\"strlen %d\", strlen(query));
   result = db_query(database, query);
   if(!db_get_field_assoc(result, \"Country\", query, sizeof query))
   {
      query = \"Unknown\";
   }
   db_free_result(result);
}
} else format(query, sizeof query, \"Failed. Not Open \\\"%s\\\" Read IpToCountry.pwn\" , Database_N);
return query;
}
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ IptoInt ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
IptoInt(const Ip[])
{
new
Byte[1],
Count = 1,
Pos = 0;
Byte{0} = strval(Ip[0]);
while(Ip[++Pos]) { if(Ip[Pos] == \'.\') Byte{Count++} = strval(Ip[Pos + 1]); }
return Byte[0];
}
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ Return PlayerName ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
pName(playerid)
{
    new
name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof name);
return name;
}
 
 
 
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ Update script database ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
UpDate_DataBase()
{
if(fexist(IpToCountry_csv))
{
new
   starttime = GetTickCount();
print(\"Update \"Database_N\" file, please wait......\");
if(fexist(Database_N)) fremove(Database_N);
new
   count = 1,
   str[256],
   File:IPC = fopen(IpToCountry_csv),
   DB:data_base = db_open(Database_N);
if(IPC && data_base)
{
   new
      query[512],
      Ip_From[24],
      Ip_To[24],
      TEXT[64],
      Assigned[24],
      Ctry[24],
      Cntry[24],
      Country[128];
   db_query(data_base, \"CREATE TABLE IF NOT EXISTS `countrydetected` (ID INTEGER PRIMARY KEY, Ip_From NUMERIC, Ip_To NUMERIC, Registry TEXT, Assigned NUMERIC, Ctry TEXT, Cntry TEXT, Country TEXT);\");
   while(fread(IPC, str))
   {
      if(str[0] == \'#\') continue;
      else
      {
         Replace_Double_Prime(str);
         if(sscanf(str, \"p<,>s[24]s[24]s[63]s[24]s[24]s[24]s[128]\", Ip_From, Ip_To, TEXT, Assigned, Ctry, Cntry, Country)) continue;
         else
         {
            format(query, sizeof query,
               \"INSERT INTO `countrydetected` (ID,Ip_From,Ip_To,Registry,Assigned,Ctry,Cntry,Country) VALUES (%d,%s,%s,%s,%s,%s,%s,%s);\",
                  count, Ip_From, Ip_To, TEXT, Assigned, Ctry, Cntry, Country);
            db_query(data_base, query);
         }
      }
      count++;
   }
   fclose(IPC);
   db_close(data_base);
}
fremove(IpToCountry_csv); // Delete IpToCountry.csv file
printf(\"\"Database_N\" file update done time: %f m, and deleted %s file. \\n\", float((((GetTickCount() - starttime) / 1000) / 60)), IpToCountry_csv);
}
}
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ Remove_Double_Prime ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
stock
Remove_Double_Prime(str[])
{
new
i = 0,
pos = 0,
lenght = strlen(str);
while(pos < lenght)
{
if(str[pos] != \'\"\')
{
   str = str[pos];
   i++;
}
pos++;
}
str = EOS;
}
// ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ [ Replace_Double_Prime ] ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Replace_Double_Prime(str[], ch = \'\\\'\')
{
new
i = 0;
while(str)
{
if(str == \'\"\') str = ch;
i++;
}
}

 
 
Az adatbázis létrehozásához illetve frissítéséhez le kell tölteni a \"IPV4 csv (gz)\"  (IpToCountry.csv file) fájlt a
http://software77.net/geo-ip/
oldalról.
A saját szerver /scriptfiles mappájába másolni elindítani a samp szervert (persze a server.cfg filterscripts sorába be kell írni a szkript nevét :D) és várni míg elkészíti az adatbázist \"countrydatabase.db\" néven. (ha elkészült akkor törli a scriptfiles mappából a \"IpToCountry.csv\" fájlt. Akkor készíti/frissíti az adatbázist ha ott a \"IpToCountry.csv\" fájl.)
Ez egy kicsit idõigényes feladat, mivel több mint százezer sort kell létrehozni. A tesztek alatt amit készítettem 125475 soros lett.

424
Segítségkérés / sscanf error
« Dátum: 2013. március 16. - 15:48:18 »
Nem is frissítetted!   :facepalm:
Mivel ezt kellene kiírnia server_log.txt-be:
 
===============================
       sscanf plugin loaded.     
          Version:  2.8.1       
    (c) 2012 Alex \"Y_Less\" Cole 
  ===============================

 
[/quote]
A tied meg ezt írja:
 
Idézetet írta: donking11 date=1363437369\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"34963\" data-ipsquote-contentclass=\"forums_Topic


[13:33:47]  ===============================
[13:33:47]       sscanf plugin loaded.     
[13:33:47]    (c) 2009 Alex \"Y_Less\" Cole
[13:33:47]    0.3d-R2 500 Players \"dnee\"
[13:33:47]  ===============================

 


425
Segítségkérés / sscanf error
« Dátum: 2013. március 16. - 13:21:01 »
Frissítsd a sscanf plugin-t.

426
Segítségkérés / Törlés
« Dátum: 2013. március 16. - 13:16:27 »
Hát, õ, jó lenne tudni hogy te milyen adatmentést alkalmazol, aztán talán ha valaki tudni fogja akkor majd megírja neked, talán.
De mivel csak te tudod, így várhatsz az örökkévalóságig.

427
Segítségkérés / Törlés
« Dátum: 2013. március 15. - 22:30:03 »
Ha szerver indításhoz írjátok meg az nem okoz játék közben laggot, csak a játékmód elindítása lesz kicsit lassabb.
Meg persze nem tökéletesen pontosan egy hónap eltelte után törli a fájlokat mivel lehet csak hetente lesz újraindítva a szerver. De ilyen feladatra nem hiszem hogy pontosan szükséges az egy hónap betartása.

428
Segítségkérés / Lagg
« Dátum: 2013. március 15. - 12:16:05 »
Jha.
Az indokolatlan adatmentés, minek olyan adatot menteni ami nem változott?
Sok felesleges timer fõleg az egy játékos adattal elindítotti SetTimerEx elindítása, és ennek le nem állítása ha kilép a játékos. (mert ha újabb játékos jön fel annak ismét újabb idõzítõ kerül elindításra ugyanazzal az azonosító számmal (playerid))
Helyette egy darab SetTimer majd for ciklus IsPlayerConnecteddel vagy foreach alkalmazása.
Sok mysql adatforgalom.
Kb. ennyi a szkriptileg elkövethetõ hibák.

429
Segítségkérés / eltolás
« Dátum: 2013. március 15. - 11:16:46 »
Próbálgasd átírogatni az értéket aztán megnézed a játékban mi változott, akkor kiderül számodra melyik érték megváltoztatása mit okoz.

431
Segítségkérés / Server Crash
« Dátum: 2013. március 14. - 10:18:05 »
Az R14-es kiadástól lett ez a hiba javítva, frissítsd a mysql.so plugint a legfrissebbre, igaz mivel linux nem lesz egyszerû megfelelõ verziót találni, de van pár kiadás,keresgetni kell a hozzászólások közt is, sokan újra fordították és feltöltötték valahova.
Persze ha még nincs átírva a mód THREAD verziósra, akkor még azzal is lesz egy kis munka.

432
Remélem a fõnökük nem is talál a helyükre új munka erõt és neki kell végezni annak a részlegnek a munkáját.
Magyarán: dögöljön bele!

433
Segítségkérés / SetTimerEx leállítása?
« Dátum: 2013. március 13. - 20:56:43 »
Minden timer vissza ad egy azonosító számot ami alapján törölni lehet, a SetTimerEx az nem egy emberen fut le dolog.
Ugyanolyan idõzítõ mint a SetTimer annyi a különbség hogy adatot is lehet vele tovább vinni, a te esetedben épp egy játékos azonosító, de lehet egy karakterlánc is (lehetne de ezt se javították még meg)vagy éppen egy visszaszámláló által tovább vitt érték, stb.
Ugyanúgy kell leállítani mint a sima SetTimer-t.
Létre kell hozni egy változót, vagy tömböt attól függ mennyit indítasz el, és annak segítségével a KillTimer-rel le tudod állítani.
http://wiki.sa-mp.com/wiki/SetTimerEx

434
Segítségkérés / dini_Remove hiba
« Dátum: 2013. március 12. - 03:21:58 »
format(file, sizeof(file), \"%i.ini\", kocsiid[iDtaroloxx]);

 
Amúgy nem tudom mi akar lenni a \"kocsiid\" változó, csak azt látom hogy az általa tárolt jármûvet törlöd viszont a fájlnév beazonosítására viszont már nem használod.

435
Segítségkérés / Túl hosszú sor, de hogy lehetne tagolni?
« Dátum: 2013. március 09. - 22:33:53 »
Az int helyett válassz más oszlopnevet az int foglalt szó, tehát nem használhatod oszlopnévnek.
 
   strcat(cquery, \"CREATE TABLE IF NOT EXISTS karakterek(user VARCHAR(24), Tulaj VARCHAR(24), Pos_X FLOAT, pPos_Y FLOAT, Pos_Z FLOAT, szam INT(20), VirWorld INT(20), Crashelt INT(20), szarmazas INT(20), Kor INT(20), Nem INT(20), Health FLOAT, Korozes INT(20), Bortonben INT(20), Korhazban INT(20), \");
strcat(cquery, \"Alvas INT(20), Piseles INT(20), Ehseg INT(20), Szomj INT(20), Penz_D INT(20), Penz_C INT(20), BankPenz INT(20), Fizetes_D INT(20), Fizetes_C INT(20), Csekk INT(20), Munka INT(20), FFrakL INT(20), FFrakT INT(20), FFrakR INT(20), MFrakL INT(20), MFrakT INT(20), MFrakR INT(20));\");

Oldalak: 1 ... 27 28 [29] 30 31 ... 136
SimplePortal 2.3.7 © 2008-2024, SimplePortal