Sziasztok. Az a gondom hogy nemrég elkezdtem dolgozni egy modon, végülis egy mindenes modon, pontos elnevezést nem tudnék adni hogy DM stb... Csak írom, mert épp tanulom a pawno-t, innen onnan szoktam olvasgatni ilyenek. Tegnap írtam bele egy regisztrációs rendszert, de azóta minden parancsra unknown-t ír..
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
#define COLOR_DARKORANGE 0xFF7318FF
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_BLUE 0x0000FFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_WITHE 0xFFFFFFAA
#define COLOR_PURPLE 0x9900FFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_ORANGE 0xFF9933AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_BLACK 0x000000AA
#define COLOR_TURQ 0x00A3C0AA
#define COLOR_LIGHTBLUE 0x00BFFFAA
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_AQUA 0x7CFC00AA
#define COLOR_WHITEYELLOW 0xFFE87DAA
#define COLOR_BLUEAQUA 0x7E60FFAA
#define COLOR_GREENYELLOWWHITE 0xCBFF45AA
#define COLOR_DARKBLUE 0x15005EAA
#define COLOR_RED 0xAA3333AA
#define COLOR_ULTRARED 0xFF0606FF
#define COLOR_WARNING 0xFB0000FF
#define COLOR_VIOLET 0x8F698FFF
#if defined _streamer_included
#define CObject CreateDynamicObject
#define AObject AttachDynamicObjectToVehicle
#define DObject DestroyDynamicObject
#define VObject IsValidDynamicObject
#else
#define CObject CreateObject
#define AObject AttachObjectToVehicle
#define DObject DestroyObject
#define VObject IsValidObject
#endif
#define TEAM_CIVIL 0
#define TEAM_RENDOR 1
new SpawnedVehicle[MAX_PLAYERS];
new obj[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
new gTeam[MAX_PLAYERS];
new szolgalatban[MAX_PLAYERS];
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
enum td
{
Text:TDSpeedClock[10]
}
new TextDraws[td];
new Text:TextDrawsd[MAX_PLAYERS][4];
new DeActiveSpeedometer[MAX_PLAYERS];
new Text:kocsi;
main()
{
print(\"\\n----------------------------------\");
print(\" Blank Gamemode by your name here\");
print(\"----------------------------------\\n\");
}
public OnGameModeInit()
{
print(\"Sebességmérõ betöltve\");
kocsi = TextDrawCreate(400,571,\"Jármû:\");
TextDrawBackgroundColor(kocsi, COLOR_GREEN);
TextDrawColor(kocsi, COLOR_RED);
TextDraws[TDSpeedClock][0] = TextDrawCreate(491.000000,393.000000,\"~g~20\");
TextDraws[TDSpeedClock][1] = TextDrawCreate(487.000000,372.000000,\"~g~40\");
TextDraws[TDSpeedClock][2] = TextDrawCreate(491.000000,351.000000,\"~g~60\");
TextDraws[TDSpeedClock][3] = TextDrawCreate(524.000000,338.000000,\"~g~80\");
TextDraws[TDSpeedClock][4] = TextDrawCreate(564.000000,341.000000,\"~g~100\");
TextDraws[TDSpeedClock][5] = TextDrawCreate(594.000000,360.500000,\"~g~120\");
TextDraws[TDSpeedClock][6] = TextDrawCreate(591.000000,383.000000,\"~g~140\");
TextDraws[TDSpeedClock][7] = TextDrawCreate(578.000000,402.000000,\"~g~160\");
TextDraws[TDSpeedClock][8] = TextDrawCreate(534.000000,396.000000,\"~r~/ \\\\\");
TextDraws[TDSpeedClock][9] = TextDrawCreate(548.000000,401.000000,\".\");
TextDrawLetterSize(TextDraws[TDSpeedClock][8], 1.059999, 2.100000);
TextDrawLetterSize(TextDraws[TDSpeedClock][9], 0.73, -2.60);
for(new i; i < 10; i++)
{
TextDrawSetShadow(TextDraws[TDSpeedClock], 1);
TextDrawSetOutline(TextDraws[TDSpeedClock], 0);
}
SetGameModeText(\"Blank Script\");
AddPlayerClass(3, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(280, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
for (new i = 0; i < MAX_VEHICLES; i++)
{
DObject(obj);
}
print(\"Sziréna script betöltve\");
print(\"Sebességmérõ deaktiválva\");
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
switch(classid)
{
case 0:
{
gTeam[playerid] = TEAM_CIVIL;
GameTextForPlayer(playerid, \"~w~Civil\", 500, 3);
}
case 1:
{
gTeam[playerid] = TEAM_RENDOR;
GameTextForPlayer(playerid, \"~b~Rendor\", 500, 3);
}
}
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1458.0878,919.4752,32.2435);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerCameraPos(playerid,-1454.0458,920.7731,30.7966);
SetPlayerCameraLookAt(playerid,-1458.0878,919.4752,32.2435);
PlayerPlaySound(playerid, 1190, 0.0, 0.0, 0.0); //
ApplyAnimation(playerid,\"PARK\",\"Tai_Chi_Loop\",4.0,1,0,0,0,-1);
return 1;
}
public OnPlayerConnect(playerid)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írd be a használni kívánt jelszavad!\", \"Elfogad\", \"Mégse\");
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Kérlek írd be a jelszavad!\", \"Belép\", \"Mégse\");
}
SetWeather(2);
new pName[MAX_PLAYER_NAME];
new string[256];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), \"%s csatlakozott a szerverre.\", pName);
SendClientMessageToAll(COLOR_YELLOW, string);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof(name));
switch (reason)
{
case 0: format(str, sizeof(str), \"*** %s (%d) Kilépett a szerverrõl (Idõtullépés)\", name, playerid);
case 1: format(str, sizeof(str), \"*** %s (%d) Kilépett a szerverrõl (Kilépés)\", name, playerid);
case 2: format(str, sizeof(str), \"*** %s (%d) Kilépett a szerverrõl (Kirúgva/Bannolva)\", name, playerid);
}
SendClientMessageToAll(COLOR_RED, str);
return 1;
}
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid,Text:kocsi);
if(gTeam[playerid] == TEAM_CIVIL)
{
SetPlayerColor(playerid, COLOR_WHITE);
}
else if(gTeam[playerid] == TEAM_RENDOR)
{
SetPlayerColor(playerid, COLOR_BLUE);
GivePlayerWeapon(playerid, 24, 500);
}
return 0;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
DObject(obj[vehicleid]);
return 1;
}
public OnPlayerText(playerid, text[])
{
if(text[0] == \'!\')
{
new str[200];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(str, sizeof(str),\"[TeamChat] %s: %s\", pName, text[1]);
for(new i= 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(gTeam[playerid]==gTeam) SendClientMessage(i, COLOR_YELLOW, str);
}
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(\"/speedo\", cmdtext, true, 10) == 0)
{
new strOptionInfo[2][37]=
{
\"Bekapcsoltad a sebességmérõt\",
\"Kikapcsoltad a sebességmérõt\"
};
DeActiveSpeedometer[playerid] = !DeActiveSpeedometer[playerid];
SendClientMessage(playerid, COLOR_GREEN, strOptionInfo[DeActiveSpeedometer[playerid]]);
if(!DeActiveSpeedometer[playerid])
{
for(new i; i < 10; i++)
TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock]);
for(new i; i < 4; i++)
TextDrawsd[playerid] = TextDrawCreate(555.0, 402.0, \"~b~.\");
}
else
{
for(new i; i < 4; i++)
TextDrawHideForPlayer(playerid, TextDrawsd[playerid]);
for(new i; i < 10; i++)
TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock]);
}
return 1;
}
if(strcmp(\"/szolgálat\", cmdtext, true, 10) == 0)
{
if(gTeam[playerid] == TEAM_RENDOR)
{
new name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), \"*** %s Szolgálatba lépett mint rendõr\", name, playerid);
SendClientMessageToAll(COLOR_BLUE, str);
szolgalatban[playerid] = 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, \"*Te nem vagy rendõr*\");
}
return 1;
}
if(strcmp(\"/xd\", cmdtext, true, 10) == 0)
{
SetPlayerHealth(playerid, 0.0);
return 1;
}
if(strcmp(\"/menu\", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 5, 1947.3525,-2110.8755,13.1265))
{
SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen ettél!\");
SetPlayerHealth(playerid, 100.0);
}
else
{
SendClientMessage(playerid, COLOR_RED, \"Sikertelenül nem ettél!\");
}
return 1;
}
if(strcmp(\"/nrg500\", cmdtext, true, 10) == 0)
{
SpawnVehicleForPlayer(522, playerid);
SendClientMessage(playerid, COLOR_GREEN, \"*Nrg-500 sikeresen spawnolva*\");
return 1;
}
if(strcmp(\"/police\", cmdtext, true, 10) == 0)
{
SpawnVehicleForPlayer(596, playerid);
SendClientMessage(playerid, COLOR_GREEN, \"*Rendõr autó sikeresen spawnolva*\");
return 1;
}
if (strcmp(\"/sziréna\", cmdtext, true, 6) == 0)
{
if(gTeam[playerid] == TEAM_RENDOR)
{
if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
return SendClientMessage(playerid, -1, \"* Nem te vagy a sofõr!\");
}
new pveh = GetPlayerVehicleID(playerid);
if (!GetVehicleModel(pveh)) return SendClientMessage(playerid, -1, \"* Nem vagy jármûben!\");
if (VObject(obj[pveh])) return SendClientMessage(playerid, -1, \"* Sziréna kikapcsolva.\"), DObject(obj[pveh]);
switch (GetVehicleModel(pveh))
{
case 596:
{
obj[pveh] = CObject(19419, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AObject(obj[pveh], pveh, 0.000000, -0.379999, 0.889999, 0.000000, 0.000000, 0.000000);
}
case 597:
{
obj[pveh] = CObject(19419, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AObject(obj[pveh], pveh, 0.000000, -0.374999, 0.884999, 0.000000, 0.000000, 0.000000);
}
case 598:
{
obj[pveh] = CObject(19419, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AObject(obj[pveh], pveh, 0.000000, -0.334498, 0.933500, 0.000000, 0.000000, 0.000000);
}
case 599:
{
obj[pveh] = CObject(19419, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AObject(obj[pveh], pveh, 0.000000, 0.039999, 1.153999, 0.000000, 0.000000, 0.000000);
}
default:
{
return SendClientMessage(playerid, -1, \"* Nem vagy rendõr autóban!\");
}
}
return SendClientMessage(playerid, -1, \"* Sziréna bekapcsolva!\");
}
else
{
SendClientMessage(playerid, COLOR_RED, \"*Te nem vagy rendõr*\");
}
return 1;
}
if(strcmp(\"/destroy\", cmdtext, true, 10) == 0)
{
if(SpawnedVehicle[playerid] == 0) return SendClientMessage(playerid, COLOR_RED, \"*Elõször hívj le egy kocsit!*\");
DestroyVehicle(SpawnedVehicle[playerid]);
SpawnedVehicle[playerid] = 0;
SendClientMessage(playerid, COLOR_GREEN, \"*Jármû törölve*\");
return 1;
}
if(strcmp(\"/weather\", cmdtext, true, 10) == 0)
{
SetWeather(2);
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
{
for(new i; i < 10; i++)
TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock]);
for(new i; i < 4; i++)
TextDrawsd[playerid] = TextDrawCreate(555.0, 402.0, \"~b~.\");
}
else
{
for(new i; i < 4; i++)
TextDrawHideForPlayer(playerid, TextDrawsd[playerid]);
for(new i; i < 10; i++)
TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock]);
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
new
Float:fPos[3],
Float:Pos[4][2],
Float:fSpeed;
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
{
GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
fSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
floatpower(fPos[2], 2)) * 200;
new Float:alpha = 320 - fSpeed;
if(alpha < 60)
alpha = 60;
for(new i; i < 4; i++)
{
TextDrawHideForPlayer(playerid, TextDrawsd[playerid]);
TextDrawDestroy(TextDrawsd[playerid]);
GetDotXY(548, 401, Pos[0], Pos[1], alpha, (i + 1) * ;
TextDrawsd[playerid] = TextDrawCreate(Pos[0], Pos[1], \"~b~.\");
TextDrawLetterSize(TextDrawsd[playerid], 0.73, -2.60);
TextDrawSetOutline(TextDrawsd[playerid], 0);
TextDrawSetShadow(TextDrawsd[playerid], 1);
TextDrawShowForPlayer(playerid, TextDrawsd[playerid]);
}
}
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!response) Kick(playerid);
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Kérlek add meg a használni kívánt jelszavad\", \"Rendben\", \"Mégse\");
return 0;
}
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
{
dini_Create(File);
dini_Set(File, \"Password\", inputtext);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Kérlek add meg a jelszavad!\", \"Belépés\", \"Mégse\");
}
}
if(dialogid == 2)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!response)
{
Kick(playerid);
}
format(PW, 64, \"%s\", dini_Get(File, \"Password\"));
if(!strcmp(inputtext, PW, false))
{
SendClientMessage(playerid, -1, \"Sikeres belépés! Nyomj a \'SPAWN\' gombra!\");
}
else
{
WPW[playerid] ++;
SendClientMessage(playerid, -1, \"Hibás jelszó!\");
if(WPW[playerid] == 3)
{
Kick(playerid);
}
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Belépés\", \"Mégse\");
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
stock SpawnVehicleForPlayer(vehicleid, playerid)
{
if(SpawnedVehicle[playerid] != 0)
{
DestroyVehicle(SpawnedVehicle[playerid]);
}
new Float:X, Float:Y, Float:Z, Float:Angle;
GetPlayerPos(playerid, Float:X, Float:Y, Float:Z);
GetPlayerFacingAngle(playerid, Float:Angle);
SpawnedVehicle[playerid] = CreateVehicle(vehicleid, X, Y, Z + 2.0, Angle + 90.0, -1, -1, 600);
SetVehicleVirtualWorld(SpawnedVehicle[playerid], GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(SpawnedVehicle[playerid], GetPlayerInterior(playerid));
PutPlayerInVehicle(playerid, SpawnedVehicle[playerid], 0);
}
stock GetDotXY(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
{
NewX = StartPosX + (dist * floatsin(alpha, degrees));
NewY = StartPosY + (dist * floatcos(alpha, degrees));
}
stock Nev(playerid)
{
new Neve[MAX_PLAYER_NAME];
GetPlayerName(playerid, Neve, sizeof(Neve));
return Neve;
}
Remélem valaki tud segíteni, elõre is köszönöm.