SA-MP Forums Archive
[Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| (/showthread.php?tid=284099)



[Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Issam - 17.09.2011

Alright,i want some tips while scripting a tpm cmd uses the Teams colors
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    if(classid == 0)
    {
        SetPlayerPos(playerid, 2495.0413,-1685.2115,13.5115);
        SetPlayerCameraPos(playerid, 2495.0134,-1681.1893,13.3387);
        SetPlayerCameraLookAt(playerid, 2495.0413,-1685.2115,13.5115);
        GameTextForPlayer(playerid, "~g~Grove", 5000, 5);
        SetPlayerColor(playerid, 0x2D964DFF);
        SetPlayerFacingAngle(playerid, 360.000);
        ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
    }
    else if(classid == 1)
    {
        SetPlayerPos(playerid, 369.2329,1916.1652,18.3985);
        SetPlayerCameraPos(playerid, 365.9307,1912.9822,17.6406);
        SetPlayerCameraLookAt(playerid, 369.2329,1916.1652,18.3985);
        GameTextForPlayer(playerid, "Army", 5000, 4);
        SetPlayerColor(playerid, 0xC4840EFF);
        SetPlayerFacingAngle(playerid, 110.000);
        ApplyAnimation(playerid, "GHANDS", "gsign5LH", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
    }
    return1;
}
But scripting it as a CMD which uses the Chat color as Team color and Only displays for the team, :P give me few tips,how to start,i know few functions not all of them xD,and thanks.



Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Backwardsman97 - 17.09.2011

You can create a variable that will store which team they are on if you don't already have that. Then, under the tpm command, you can just check which team they are on and send the message accordingly.


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - [HiC]TheKiller - 17.09.2011

pawn Код:
new team[MAX_PLAYERS];

public OnPlayerRequestClass(playerid, classid)
{
    if(classid == 0)
    {
        SetPlayerPos(playerid, 2495.0413,-1685.2115,13.5115);
        SetPlayerCameraPos(playerid, 2495.0134,-1681.1893,13.3387);
        SetPlayerCameraLookAt(playerid, 2495.0413,-1685.2115,13.5115);
        GameTextForPlayer(playerid, "~g~Grove", 5000, 5);
        SetPlayerColor(playerid, 0x2D964DFF);
        SetPlayerFacingAngle(playerid, 360.000);
        ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        team[playerid] = 1;
    }
    else if(classid == 1)
    {
        SetPlayerPos(playerid, 369.2329,1916.1652,18.3985);
        SetPlayerCameraPos(playerid, 365.9307,1912.9822,17.6406);
        SetPlayerCameraLookAt(playerid, 369.2329,1916.1652,18.3985);
        GameTextForPlayer(playerid, "Army", 5000, 4);
        SetPlayerColor(playerid, 0xC4840EFF);
        SetPlayerFacingAngle(playerid, 110.000);
        ApplyAnimation(playerid, "GHANDS", "gsign5LH", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        team[playerid] = 2;
    }
    return 1;
}
We firstly need to make a variable to tell us which team they are in

pawn Код:
public OnPlayerText(playerid, text[])
{
    if(text[0] == '@')
    {
        new Pname[24], string[150];
        GetPlayerName(playerid, Pname, 24);
        format(string, sizeof(string), "|GANG CHAT| %s(%d): %s", Pname, playerid, text[1]);
        for(new i; i<MAX_PLAYERS; i++)
        {
            if(!IsPlayerConnected(i)) continue;
            if(team[playerid] == team[i]) SendClientMessage(i, -1, string);
        }
        return 0;
    }
    return 1;
}
That just sends a message to the team members.


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Issam - 17.09.2011

Quote:
Originally Posted by Backwardsman97
Посмотреть сообщение
You can create a variable that will store which team they are on if you don't already have that. Then, under the tpm command, you can just check which team they are on and send the message accordingly.
No,i don't can you explain more
and OnPlayerCommandText,right? :P help xD
nvm, i didn't saw KillerPost.
EDIT:

Код:
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(70) : warning 217: loose indentation
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(347) : warning 217: loose indentation
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(419) : warning 217: loose indentation
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(419) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(419) : error 004: function "OnPlayerEnterVehicle" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(424) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(424) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(424) : error 004: function "OnPlayerExitVehicle" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(429) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(429) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(429) : error 004: function "OnPlayerStateChange" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(434) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(434) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(434) : error 004: function "OnPlayerEnterCheckpoint" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(439) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(439) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(439) : error 004: function "OnPlayerLeaveCheckpoint" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(444) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(444) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(444) : error 004: function "OnPlayerEnterRaceCheckpoint" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(449) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(449) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(449) : error 004: function "OnPlayerLeaveRaceCheckpoint" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(454) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(454) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(454) : error 004: function "OnRconCommand" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(459) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(459) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(459) : error 004: function "OnPlayerRequestSpawn" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(464) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(464) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(464) : error 004: function "OnObjectMoved" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(469) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(469) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(469) : error 004: function "OnPlayerObjectMoved" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(474) : warning 225: unreachable code
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(474) : error 029: invalid expression, assumed zero
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(474) : error 004: function "OnPlayerPickUpPickup" is not implemented
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(476) : error 017: undefined symbol "pickupid"
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(482) : error 017: undefined symbol "pickupid"

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


26 Errors.



Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Backwardsman97 - 18.09.2011

Lol did you include a_samp?


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Issam - 18.09.2011

Yes.


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Issam - 18.09.2011

pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
    if(classid == 0)
    {
        SetPlayerPos(playerid, 2495.0413,-1685.2115,13.5115);
        SetPlayerCameraPos(playerid, 2495.0134,-1681.1893,13.3387);
        SetPlayerCameraLookAt(playerid, 2495.0413,-1685.2115,13.5115);
        GameTextForPlayer(playerid, "~g~Grove", 5000, 5);
        SetPlayerColor(playerid, 0x2D964DFF);
        SetPlayerFacingAngle(playerid, 360.000);
        ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        team[playerid] = 1;
    }
    else if(classid == 1)
    {
        SetPlayerPos(playerid, 369.2329,1916.1652,18.3985);
        SetPlayerCameraPos(playerid, 365.9307,1912.9822,17.6406);
        SetPlayerCameraLookAt(playerid, 369.2329,1916.1652,18.3985);
        GameTextForPlayer(playerid, "Army", 5000, 4);
        SetPlayerColor(playerid, 0xC4840EFF);
        SetPlayerFacingAngle(playerid, 110.000);
        ApplyAnimation(playerid, "GHANDS", "gsign5LH", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        team[playerid] = 2;
    }
    else if(classid == 2)
    {
        SetPlayerPos(playerid, 1174.7109,-1323.8867,14.5938);
        SetPlayerCameraPos(playerid, 1183.3655,-1324.1521,13);
        SetPlayerCameraLookAt(playerid, 1174.7109,-1323.8867,14.5938);
        GameTextForPlayer(playerid, " ~r~~h~~h~~h~Medic", 5000, 4);
        SetPlayerColor(playerid, 0xF598E4FF);
        SetPlayerFacingAngle(playerid, 270.000);
        ApplyAnimation(playerid, "DANCING", "dnce_M_b", 4.0, 0, 0, 0, 0, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        team[playerid] = 2;
        }
        return 1;
}
Here you go,my classes


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Issam - 18.09.2011

Its working NVM.
Код:
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(46) : error 001: expected token: ";", but found "-identifier-"
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(70) : warning 217: loose indentation
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(347) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
line:
main()


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Backwardsman97 - 18.09.2011

I bet the first thing above main is a declared variable without a semicolon after it.


Re: [Tips Needed]Scripting teamchat with teamcolors, "/tpm" or just "@" ||+1rep|| - Kingunit - 18.09.2011

Quote:
Originally Posted by Issam
Посмотреть сообщение
Its working NVM.
Код:
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(46) : error 001: expected token: ";", but found "-identifier-"
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(70) : warning 217: loose indentation
C:\DOCUME~1\SOUADU~1.000\Bureau\MYSERV~1\GAMEMO~1\ms.pwn(347) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
line:
main()
That was easy to fix probably. Identation isn't that hard even expected token. Happy that it's fixed.