-
Üdv. Megszeretném osztani veletek az egyik scriptemet mert már nincs rá szükségem... a lényege, hogy ha beírod \"/bugreport\" akkor kiad egy dialogot ahova beírhatod az általad tapasztalt bugot ezt lementi a \"scriptfiles/Bugjelentesek\" mappába egy .txt fájba aminek a neve a karaktered neve... akárhányat jelenthetsz be mivel ide szerint menti így nem írja felül az elõzõt ... remélem segíthetek ezzel is valakinek :)
Elkészítési idõ: 5-10 perc teszteléssel
Sorok száma: 64
Szükséges Include-k : dini
(ha csak a kódot másolod ki akkor neked kell létre hozni a mappát, a letöltésben már szerepel a mappa is)
Letöltés: http://www.solidfiles.com/d/9d36941af6/
Code:
// Bugbejelentõ script
// Készítette: Szasza
#include
#include
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Blank Filterscript by your name here\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
#endif
#define BUGRDIALOG 123
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/bugreport\", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, BUGRDIALOG, DIALOG_STYLE_INPUT, \"Bugreport\", \"Üdv. Kérlek írd le röviden, hogy hol és milyen bugot tapasztaltál!\", \"Bejelent\", \"Kilépés\");
return 1;
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == 123 )
{
new bszoveg[64];
new year,month,day,hour,minute,second;
getdate(year, month, day);
gettime(hour,minute,second);
new file[128];
new Name[24];
new iText [ 128 ];
format ( iText, 128, \"A bejelentett hiba: %s\", inputtext );
SendClientMessage(playerid, 0xcca91eAA, iText);
format(bszoveg,sizeof bszoveg,\"[%d/%d/%d - %d:%d:%d]Bejelentés:\",year,month,day,hour, minute, second);
GetPlayerName(playerid, Name, sizeof(Name));
if ( !response ) return SendClientMessage ( playerid, 0xFFFFFFFF, \"Kiléptél a Bugjelenetõ panelbõl.\" );
format(file,sizeof(file),\"/Bugjelentesek/%s.txt\",Name);
dini_Create(file);
dini_Set(file,bszoveg,inputtext);
}
return 1;
}
-
jó kis script kezdõk jol jöhet.
Ment a +
-
Köszönöm :)
-
Jó script :D
-
Jó script :D
[/quote]
Köszönöm :D
-
format(bszoveg,sizeof bszoveg,\"[%d/%d/%d - %d:%d:%d]Bejelentés:\",year,month,day,hour, minute, second);
Csak én vettem észre hogy elmented fáljba csak simán hogy Bejelentés? Nem adtad meg hogy mit iratson ki.
Helyes:
format(bszoveg,sizeof bszoveg,\"[%d/%d/%d - %d:%d:%d]Bejelentés: %s\",year,month,day,hour, minute, second,iText);
-
format(bszoveg,sizeof bszoveg,\"[%d/%d/%d - %d:%d:%d]Bejelentés:\",year,month,day,hour, minute, second);
Csak én vettem észre hogy elmented fáljba csak simán hogy Bejelentés? Nem adtad meg hogy mit iratson ki.
Helyes:
format(bszoveg,sizeof bszoveg,\"[%d/%d/%d - %d:%d:%d]Bejelentés: %s\",year,month,day,hour, minute, second,iText);
[/quote]
Szerintem elõbb tanulj meg Dinit használni és olvasd végig a scritpet köszönöm :)
dini_Set(file,bszoveg,inputtext);
Dupla hozzászólás automatikusan összefûzve. ( 2013. november 15. - 18:23:42 )
Ui.: Szerinted csak unalmamból írom oda h le van tesztelve?
-
Szerintem ne tanulja meg, neked se kellene használni, ezt a szkriptet simán meglehet írni dini használat nélkül.
De lehet szánok rá pár percet és átírom rögtön.
// Bugbejelentõ script
// Készítette: Szasza
#include
#define BUGRDIALOG 123
public
OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/bugreport\", cmdtext))
{
ShowPlayerDialog(playerid, BUGRDIALOG, DIALOG_STYLE_INPUT, \"Bugreport\", \"Üdv. Kérlek írd le röviden, hogy hol és milyen bugot tapasztaltál!\", \"Bejelent\", \"Kilépés\");
return 1;
}
return 0;
}
public
OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == BUGRDIALOG)
{
if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, \"Kiléptél a Bugjelenetõ panelbõl.\");
new
str[256];
format(str, sizeof str, \"A bejelentett hiba: %s\", inputtext), SendClientMessage(playerid, 0xcca91eAA, str);
new
year,
month,
day,
hour,
minute,
second;
getdate(year, month, day);
gettime(hour, minute, second);
GetPlayerName(playerid, str, sizeof str);
// str = \"Szasza\"; // Teszt
format(str, sizeof(str), \"/Bugjelentesek/%s.txt\", str);
new
File:file;
if((file = fopen(str, io_append)))
{
format(str, sizeof str, \"[%d/%d/%d - %d:%d:%d]Bejelentés: %s\\r\\n\", year, month, day, hour, minute, second, inputtext);
fwrite(file, str);
fclose(file);
} else { print(\"\\\"Bugjelentesek\\\" mappa nincs létrehozva a scriptfiles mappában!!\"); }
return 1;
}
return 0; // Call another OnDialogResponse
}
// Teszt
// public
// OnFilterScriptInit()
// {
// OnDialogResponse(0, BUGRDIALOG, 1, 0, \"Teszt üzenet\");
// return 1;
// }
-
GetPlayerName(playerid, str, sizeof str);
Ez itt nem pazarlás, ɐʞzssǝlosz?
Hisz a str karakterlánc mérete 128, viszont a maximális játékosnév SA:MP-ban 24..
( GetPlayerName(playerid, str, MAX_PLAYER_NAME); )
-
Nem hiszem, de aztán nincs kizárva hogy valamit számít, aki akarja átírja MAX_PLAYER_NAME -ra. :D
-
Köszönöm nagylelkû felajánlásodat.. én így oldottam meg.. szerinte így könnyebb volt.. de ugye kinek a pap kinek a paplan.. :) szóval azért köszönöm .. akinek ez tetszik ezt használja akinek az azt :) ennyi
-
Nagyon sokat segít nekem ajánlom másnak is Köszönöm! :thumbsup: :)
-
egy kérdés.
amikor én megakartam írni, mindig rámentette az elõzõre, ez nem menti rá?
-
nem