Szerző Téma: Munka segítség !  (Megtekintve 548 alkalommal)

Munka segítség !
« Dátum: 2013. január 13. - 11:04:07 »
0 Show voters
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 !
« Utoljára szerkesztve: 2013. január 15. - 16:24:34 írta SonXeeZ »

Munka segítség !
« Válasz #1 Dátum: 2013. január 13. - 18:59:24 »
+1 Show voters
Szia!
Már nincs hiba a kódban viszont nem teszteltem a mûködését.
Tipp: Használj ZCMD-t: Link
Letöltöd, és berakod a pawno/include mappába.
Itt egy leírás róla: Link
Végül a kód: Link (azért nem ide írtam kódba, mert elcsúsztatta a sorokat, mikor próbáltam.
E:222. HSZ :D

Munka segítség !
« Válasz #2 Dátum: 2013. január 13. - 21:13:57 »
0 Show voters
Nagyon szépen köszi , hogy megcsináltad !!
ZCMD-t akartam volna használni , csak akkor átkellene irnom az összes parancsot , úgyhogy majd szerintem jövõhéten elkezdem átirogatni õket..
Vagy csak tévednék és egyszerre is lehet használni ?
Mindenesetre megnézem a módot és köszi mégegyszer. !
====================
Na kipróbáltam és mûködik ! Majd a koordinátákat át kell irnom , és jó lesz.
Eddig abban a tévhitben voltam , hogyha sima parancsokat eddig irtam a modba , akkor már ZCMD-t nem lehet.
Vagy csak külön filterscriptbe jó?
« Utoljára szerkesztve: 2013. január 13. - 21:24:55 írta SonXeeZ »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal