Help! Scripting issues
#1

Hello! If I use my paint script, then /lmenu won't work! (LuxAdmin)
Is there something I need to change in this script so it will work? Please give me advice!

/paint script

Quote:

// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print("Stunts/Freeroam/Trucking/Flying");
print("--------------------------------------\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

#else

main()
{
print("\n----------------------------------");
print(" Stunts/Freeroam/Trucking/Flying");
print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Stunts/Freeroam/Trucking/Flying");
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)
{
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, "/paint", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFF, "You must be in a vehicle!");

return ChangeVehicleColor(GetPlayerVehicleID(playerid), random(255), random(255));
}
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;
}

Reply
#2

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/paint", true) == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFF, "You must be in a vehicle!");
        ChangeVehicleColor(GetPlayerVehicleID(playerid), random(255), random(255));
        return 1;
    }
    return 0;
}
You can also use /paint [color1] [color2] than just a radom color.

pawn Код:
COMMAND:ccolor(playerid, params[])
{
    new color1,color2;
    if(sscanf(params, "ii", color1, color2)) return SendClientMessage(playerid, Red, "Usage: /ccolor [color1] [color2]");
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, Red, "You are not in a vehicle.");
    ChangeVehicleColor(GetPlayerVehicleID(playerid),color1,color2);
    return 1;
}

This above is for zcmd and sscanf. I recommend you change from strcmp to zcmd and sscanf.


pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmd, "/paint", true) == 0)
    {
        new tmp[3], tmp2[3];
        tmp = strtok(cmdtext, idx);
        tmp2 = strtok(cmdtext,idx);
        new color1 = strval(tmp);
        new color2 = strval(tmp2);
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "You are not in a vehicle!");
        if(!IsNumeric(tmp)) return SendClientMessage(playerid,-1,"Please use a number.");
        if(!IsNumeric(tmp2)) return SendClientMessage(playerid,-1,"Please use a number.");
        if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid,-1,"/paint [color1] [color2]");
        ChangeVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
        return 1;
    }
    return 0;
}
This above is for strcmp (The one you are using now) See how life is easy with zcmd and sscanf .
Reply
#3

Quote:

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/paint", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFF, "You must be in a vehicle!");
ChangeVehicleColor(GetPlayerVehicleID(playerid), random(255), random(255));
return 1;
}
return 0;
}

Didnt work :/
Reply
#4

Yea try this:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/paint", true) == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "You must be in a vehicle!");
        ChangeVehicleColor(GetPlayerVehicleID(playerid), random(255), random(255));
        return 1;
    }
    return 0;
}
Reply
#5

Quote:
Originally Posted by ColdIce
Посмотреть сообщение
Didnt work :/
Quote:
Originally Posted by Tee
Посмотреть сообщение
Yea try this:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/paint", true) == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "You must be in a vehicle!");
        ChangeVehicleColor(GetPlayerVehicleID(playerid), random(255), random(255));
        return 1;
    }
    return 0;
}
I can't see the difference between the 2 codes...
pawn Код:
#define USE_DIALOGS         true
Make sure this is defined in LuxAdmin.
Reply
#6

Quote:

Make sure this is defined in LuxAdmin.

It is. Still not working
Reply
#7

Quote:

#define DIALOGID 2222
#define DIALOG_TYPE_SERVLOCK 7002
#define DIALOG_TYPE_SERVUNLOCK 7001
#define DIALOG_TYPE_SERVPASS 7003
#define DIALOG_TYPE_RCON2 7004
#define DIALOG_TYPE_QUESTION 7010
#define DIALOG_TYPE_PM 7000

This is from LuxAdmin, do I have to change this maybe?
Reply
#8

help?
Reply
#9

Do you load LuxAdmin as first filterscript in server.cfg?
Reply
#10

I use serverffs so I just mark the fs I want to enable Should I change the order in server.cfg?
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)