Sziasztok !
Eléggé kezdõ vagyok meg a programozás terén , és gondoltam csinálok/csinálnék valami kis munkát a szerverre.
Elkezdtem csinálni , de a végén mindig rossz valami , próbáltam már párszor újra csinálni , de nem sikerült .
Egy bányász munka lenne , ami annyit csinálna , hogyha beirjuk hogy /munka akkor kihozzon egy dialogot , és lehessen választani hogy mi akarsz lenni.
Ha kiválasztotta , utána teleportálja el a bányához , és miután beszállt egy dózerbe , beirhatná a parancsot hogy /munka bányász.
Itt lenne a kód:
#include <a_samp>
#define COLOR_CHARTREUSE 0x7FFF00AA
new Menu:munka;
#define FILTERSCRIPT
#define COLOR_YELLOW 0xFFFF00AA
#define CIVIL 0
#define BANYASZ 1
public OnFilterScriptInit()
{
print(\"\\n---------------------------------\");
print(\"Munkák betöltve\");
print(\"---------------------------------\\n\");
munka = CreateMenu(\"~g~Munka ~r~ Elvallalas\", 2, 200.0, 100.0, 150.0, 150.0);
AddMenuItem(munka, 0, \"Banyasz\");
AddMenuItem(munka, 0, \"Civil\");
return 1;
}
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, COLOR_YELLOW, \"Ha dolgozni szeretnél : /munka\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/munka banyasz\", cmdtext, true, 10) == 0)
{
if(GetPlayerTeam(playerid) == BANYASZ)
{
SetPlayerPos(playerid , -1926.9149,-1752.5000,23.8790);
SetPlayerCheckpoint(playerid,0,0,0,8.5);
SetPVarInt(playerid,\"banyaszcp\",0);
return 1;
}
if (strcmp(\"/munka\", cmdtext, true, 10) == 0)
{
ShowMenuForPlayer(munka, playerid);
TogglePlayerControllable(playerid, false);
return 1;
}
return 0;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Current = GetPlayerMenu(playerid);
if(Current == munka)
{
switch(row)
{
case 0:
{
{
SetPlayerFacingAngle(playerid, 273.4250);
SetPlayerPos(playerid, -2625.874, 1406.222, 7.101563);
HideMenuForPlayer(munka, playerid);
TogglePlayerControllable(playerid, true);
SetPlayerSkin(playerid,16);
new string[256];
new pName[30];
GetPlayerName(playerid, pName, 30);
format(string, 280,\"|==%s mostantól Bányászként dolgozik !==|\", pName);
SendClientMessageToAll(COLOR_CHARTREUSE, string);
SendClientMessage(playerid , COLOR_YELLOW, \"A munka elkezdéséhez szállj be valamelyik dózerbe, és ird be /munka bányász.\");
SetPlayerTeam(playerid,BANYASZ);
}
}
case 1:
{
{
SetPlayerFacingAngle(playerid, 2.0992);
SetPlayerPos(playerid, -1616.049,680.7509,7.1875);
HideMenuForPlayer(munka, playerid);
TogglePlayerControllable(playerid, true);
SetPlayerSkin(playerid,1);
new string[256];
new pName[30];
GetPlayerName(playerid, pName, 30);
format(string, 280,\"%s újra civil.\", pName);
SendClientMessageToAll(COLOR_CHARTREUSE, string);
SetPlayerTeam(playerid,CIVIL);
}
}
}
}
return 1;
}
public OnPlayerExitedMenu(playerid)
{
TogglePlayerControllable(playerid, true);
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(GetPVarInt(playerid,\"banyaszcp\") == 0) // Elsõ CP
{
SetPlayerCheckpoint(playerid,0,0,0,8.5);
SetPVarInt(playerid,\"banyaszcp\", 1);
}
if(GetPVarInt(playerid,\"banyaszcp\") == 1) // Második CP
{
SetPlayerCheckpoint(playerid,0,0,0,8.5);
SetPVarInt(playerid,\"banyaszcp\", 2);
}
if(GetPVarInt(playerid,\"banyaszcp\") == 2) // Harmadik CP
{
SetPlayerCheckpoint(playerid,0,0,0,8.5);
SetPVarInt(playerid,\"banyaszcp\", 0);
GivePlayerMoney(playerid,7000);
SendClientMessage(playerid,0x00CC00,\"Végeztél a munkával és kerestél 7000$-t \");
}
return 1;
}
És az errorok :
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(45) : warning 217: loose indentation
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(55) : warning 217: loose indentation
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(55) : error 029: invalid expression, assumed zero
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(55) : error 004: function \"OnPlayerSelectedMenuRow\" is not implemented
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(60) : error 017: undefined symbol \"row\"
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(100) : warning 225: unreachable code
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(100) : error 029: invalid expression, assumed zero
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(100) : error 004: function \"OnPlayerExitedMenu\" is not implemented
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(106) : warning 225: unreachable code
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(106) : error 029: invalid expression, assumed zero
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(106) : error 004: function \"OnPlayerEnterCheckpoint\" is not implemented
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(113) : warning 217: loose indentation
C:\\Users\\Földesi\\Desktop\\Gamemodokszerohoz\\System.pwn(127) : error 030: compound statement not closed at the end of file (started at line 36)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
8 Errors
Esetleg le tudnátok írni nekem helyesen , vagy megmondani hogy mi a hiba mert eddig még soha nem csináltam ilyet.
Elõre is köszi !