What's wrong?
#1

What's wrong with this? Why can't pawn compile this?
pawn Код:
#include <a_samp>

new Menu:teleportmenu;

new Menu:CurrentMenu = GetPlayerMenu(playerid);

#define TEST_MENU_ITEMS 6
main()
{
    print("\n----------------------------------");
    print(" Julius95's gamemode");
    print("----------------------------------\n");
}


public OnGameModeInit()
{
    teleportmenu = CreateMenu("Teleportmenu", 2, 200.0, 100.0, 150.0, 150.0);

    AddMenuItem(teleportmenu, 0, "LS");
    AddMenuItem(teleportmenu, 0, "LS");
    AddMenuItem(teleportmenu, 0, "SF");
    AddMenuItem(teleportmenu, 0, "SF");
    AddMenuItem(teleportmenu, 0, "LV");
    AddMenuItem(teleportmenu, 0, "LV");

    AddMenuItem(teleportmenu, 1, "Grove Street");
    AddMenuItem(teleportmenu, 1, "Starfish Tower");
    AddMenuItem(teleportmenu, 1, "Wheel Arch Angels");
    AddMenuItem(teleportmenu, 1, "Jizzys");
    AddMenuItem(teleportmenu, 1, "4 Dragons");
    AddMenuItem(teleportmenu, 1, "Come-a-Lot");
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    new string[64], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    format(string,sizeof string,"HelpBot: %s has joined the server. Welcome!",pName);
    SendClientMessageToAll(0xFFFFFFAA,string);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/menutest", true) && TestMenu != -1)   {
             ShowMenuForPlayer(TestMenu, playerid);
             return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    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)
{
    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[])
{
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
if(CurrentMenu == teleportmenu)
{
    switch(row)
    {
        case 0: //Grove Street
        {
            SetPlayerPos(playerid, 2493.9133, -1682.3986, 13.3382);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to Grove Street");
        }
        case 1: //Starfish Tower
        {
            SetPlayerPos(playerid, 1541.2833, -1362.4741, 329.6457);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the top of Starfish Tower");
        }
        case 2: //Wheel Arch Angels
        {
            SetPlayerPos(playerid, -2705.5503, 206.1621, 4.1797);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Wheel Arch Angels tuning-shop");
        }
        case 3: //Jizzys
        {
            SetPlayerPos(playerid, -2617.5156, 1390.6353, 7.1105);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to Jizzy's Nightclub!");
        }
        case 4: //4Dragons
        {
            SetPlayerPos(playerid, 2028.5538, 1008.3543, 10.8203);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Four Dragons Casino");
        }
        case 5: //Com-a-Lot
        {
            SetPlayerPos(playerid, 2169.1838, 1122.5426, 12.6107);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Come-a-Lot casino!");
        }
    }
}

        new Menu:PlayerMenu = GetPlayerMenu(playerid);

        if(PlayerMenu == TestMenu) {
         HandleTestMenuSelection(playerid, row);
    }
        return 1;
}
Reply
#2

Quote:
Originally Posted by JEkvall95
Посмотреть сообщение
What's wrong with this? Why can't pawn compile this?
pawn Код:
#include <a_samp>

new Menu:teleportmenu;

new Menu:CurrentMenu = GetPlayerMenu(playerid);

#define TEST_MENU_ITEMS 6
main()
{
    print("\n----------------------------------");
    print(" Julius95's gamemode");
    print("----------------------------------\n");
}


public OnGameModeInit()
{
    teleportmenu = CreateMenu("Teleportmenu", 2, 200.0, 100.0, 150.0, 150.0);

    AddMenuItem(teleportmenu, 0, "LS");
    AddMenuItem(teleportmenu, 0, "LS");
    AddMenuItem(teleportmenu, 0, "SF");
    AddMenuItem(teleportmenu, 0, "SF");
    AddMenuItem(teleportmenu, 0, "LV");
    AddMenuItem(teleportmenu, 0, "LV");

    AddMenuItem(teleportmenu, 1, "Grove Street");
    AddMenuItem(teleportmenu, 1, "Starfish Tower");
    AddMenuItem(teleportmenu, 1, "Wheel Arch Angels");
    AddMenuItem(teleportmenu, 1, "Jizzys");
    AddMenuItem(teleportmenu, 1, "4 Dragons");
    AddMenuItem(teleportmenu, 1, "Come-a-Lot");
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    new string[64], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    format(string,sizeof string,"HelpBot: %s has joined the server. Welcome!",pName);
    SendClientMessageToAll(0xFFFFFFAA,string);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/menutest", true) && TestMenu != -1)   {
             ShowMenuForPlayer(TestMenu, playerid);
             return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    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)
{
    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[])
{
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
if(CurrentMenu == teleportmenu)
{
    switch(row)
    {
        case 0: //Grove Street
        {
            SetPlayerPos(playerid, 2493.9133, -1682.3986, 13.3382);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to Grove Street");
        }
        case 1: //Starfish Tower
        {
            SetPlayerPos(playerid, 1541.2833, -1362.4741, 329.6457);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the top of Starfish Tower");
        }
        case 2: //Wheel Arch Angels
        {
            SetPlayerPos(playerid, -2705.5503, 206.1621, 4.1797);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Wheel Arch Angels tuning-shop");
        }
        case 3: //Jizzys
        {
            SetPlayerPos(playerid, -2617.5156, 1390.6353, 7.1105);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to Jizzy's Nightclub!");
        }
        case 4: //4Dragons
        {
            SetPlayerPos(playerid, 2028.5538, 1008.3543, 10.8203);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Four Dragons Casino");
        }
        case 5: //Com-a-Lot
        {
            SetPlayerPos(playerid, 2169.1838, 1122.5426, 12.6107);
            SetPlayerInterior(playerid, 0);
            SendClientMessage(playerid, 0xFFFFFFFF, "Welcome to the Come-a-Lot casino!");
        }
    }
}

        new Menu:PlayerMenu = GetPlayerMenu(playerid);

        if(PlayerMenu == TestMenu) {
         HandleTestMenuSelection(playerid, row);
    }
        return 1;
}
Error codes and mark them please..
Reply
#3

sorry for double..
Reply
#4

because of
pawn Код:
new Menu:CurrentMenu = GetPlayerMenu(playerid);
you simply cant call that function

you cant call playerid outside of callback's as its not a public variable.
Reply
#5

I don't get it, what should I change?
Код:
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(93) : error 017: undefined symbol "TestMenu"
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(94) : error 017: undefined symbol "TestMenu"
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(236) : error 021: symbol already defined: "OnPlayerSelectedMenuRow"
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(237) : error 017: undefined symbol "CurrentMenu"
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(280) : warning 217: loose indentation
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(282) : error 017: undefined symbol "TestMenu"
C:\Users\Julius\Documents\Grand Theft Auto Servers\San Andreas\samp03x_svr_R1-2_win32\gamemodes\J95.pwn(283) : error 017: undefined symbol "HandleTestMenuSelection"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


6 Errors.
Reply
#6

Help
Reply
#7

About this error: symbol already defined: "OnPlayerSelectedMenuRow"
-> Remove this in ur codes.
pawn Код:
public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}
About these errors: undefined symbol "..."
-> I think "HandleTestMenuSelection(playerid, row);" is a stock or somethings smilar so get that stock for ur codes.
-> About "TestMenu", it could be a dialogid so #define TestMenu <id here>.
-> CurrentMenu -> park4bmx was talking about this
Quote:

because of
pawn Code:
new Menu:CurrentMenu = GetPlayerMenu(playerid);
you simply cant call that function

you cant call playerid outside of callback's as its not a public variable.

I'm not sure that can fix, but at least try.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)