-
RP Beszélgetoablak (Chat)
Ez a függvény az RP-nek jobban megfelelo X mondja: szöveg formába teszi az üzenetet, és így küldi el. Extraként lehet csak 1 bizonyos embernek elküldeni. Az onplayertext visszatérési értékét írjátok false-ra, hogy az alap méretezettet ne küldje el...
Demo:
public OnPlayerText(playerid, text[])
{
SendRolePlayFormatToAll(playerid,text);
return false;
}
stock SendRolePlayFormatToAll(playerid,str[],color=0xFFFFFFAA)
{
// Tárolók létrehozása
new name[MAX_PLAYER_NAME],
formats[128];
// Név tárolása
GetPlayerName(playerid,name,sizeof name);
// Üzenet megformázása
format(formats,sizeof formats,\"%s mondja: %s\",name,str);
// Üzenet elküldése
SendClientMessageToAll(color,formats);
// Visszatérés
return true;
}
stock Chat_SendRolePlayFormatToPlayer(giveid,playerid,str[],color=0xFFFFFFAA)
{
// Tárolók létrehozása
new name[MAX_PLAYER_NAME],
formats[128];
// Név tárolása
GetPlayerName(playerid,name,sizeof name);
// Üzenet megformázása
format(formats,sizeof formats,\"%s mondja neked: %s\",name,str);
// Üzenet elküldése
SendClientMessage(giveid,color,formats);
// Visszatérés
return true;
}
-
Hasznos,grat :)
-
Nem tudtam eddig megnézni, de van egy icikepicike hiba \'Chat_\' ha nem vagyok hüje. Kezdok kedvéért írd át, thx.
-
Nem tudtam eddig megnézni, de van egy icikepicike hiba \'Chat_\' ha nem vagyok hüje. Kezdok kedvéért írd át, thx.
Nem vagy hülye :)
-
#include <a_samp>
RpNameToChat(name[]) {
new
x=0;
while(name
- ) { if(name
- ==\'_\')name
- =\' \'; x++; }
}
public OnPlayerText(playerid, text[])
{
new
myString[128],
myName[MAX_PLAYER_NAME];
GetPlayerName(playerid,myName,sizeof(myName));
RpNameToChat(myName);
format(myString,sizeof(myString),\"%s mondja: %s\",myName,text);
SendClientMessageToAll(0xFFFFFFAA,myString);
return 0;
}
-
Itt mindenkinek elküldi vagy csak a közelben lévoknek?
-
Mindenkinek.
-
Köszi! Ez jól jött!
-
Király pont ilyet kerestem, kösz hála érte
;D
-
Véleményem szerint ez elég elavult alkotás...Már inkább úgy kivitelezném, hogy a feje felé írja a közelben lévoknek, mintha beszélne.
//-----------------------------------------------------------------
// Ez egy reális Rp beszélgetomódszer. A közelben lévo játékosok
// látják a játékos feje felett kiíródó szöveget, amit mond.
stock RPChat(senderid, const message[], color=0xFFFFFFAA, Float:drawdistance=60.0, time=10*1000)
{
SetPlayerChatBubble(senderid, message, color, drawdistance, time);
return 1;
}
RPChat(playerid, \"Sziasztok!\");
-
Te vagy a Mester, te tudodXD
Amugy jó ötlet, kösz a modositást.
Van benne egy kis wow filingXD
-
Véleményem szerint ez elég elavult alkotás...Már inkább úgy kivitelezném, hogy a feje felé írja a közelben lévoknek, mintha beszélne.
//-----------------------------------------------------------------
// Ez egy reális Rp beszélgetomódszer. A közelben lévo játékosok
// látják a játékos feje felett kiíródó szöveget, amit mond.
stock RPChat(senderid, const message[], color=0xFFFFFFAA, Float:drawdistance=60.0, time=10*1000)
{
SetPlayerChatBubble(senderid, message, color, drawdistance, time);
return 1;
}
RPChat(playerid, \"Sziasztok!\");
Lehet, h vki offnak veszi majd azért elore is sorry.
Én véleményem szerint még benyomnák egy Chat animot is hozzá akár :P
-
Szerintem nem Off, de nekem nem megy a fejem folé írás, mi lehet a hiba?
Írja le valaki mit kell tennem, hogy mutassa
-
Te magadét nem látod!
Csak mások látják a tiédet.
-
Oh, akkor rendben.
Esetleg be lehet állitani, hogy én is lássam?
-
Szerintem nem leheséges...
Minthogy az életedet, páncélodat, nevedet se látod magadnak.
-
new Text3D:tmp3dtext[MAX_PLAYERS]={Text3D:(-1),...};
new player_timer[MAX_PLAYERS]={(-1),...};
forward Chat3D(x);
public OnPlayerText(playerid, text[])
{
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
if(tmp3dtext[playerid] != Text3D:(-1)) {
Delete3DTextLabel(tmp3dtext[playerid]);
}
if(player_timer[playerid] != (-1)) {
KillTimer(player_timer[playerid]);
}
tmp3dtext[playerid]=Create3DTextLabel(text, 0x6495EDFF, x, y, z+0.7, 50.0, 0);
//Attach3DTextLabelToPlayer(tmp3dtext[playerid],playerid,0.0, 0.0, 0.7);
player_timer[playerid]=SetTimerEx(\"Chat3D\", 10*1000, 0, \"i\", playerid);
return 1;
}
public Chat3D(x)
{
if(tmp3dtext
Delete3DTextLabel(tmp3dtext
}
}
-
Szerintem nem leheséges...
Minthogy az életedet, páncélodat, nevedet se látod magadnak.
new Text3D:tmp3dtext[MAX_PLAYERS]={Text3D:(-1),...};
new player_timer[MAX_PLAYERS]={(-1),...};
forward Chat3D(x);
public OnPlayerText(playerid, text[])
{
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid, x, y, z);
if(tmp3dtext[playerid] != Text3D:(-1)) {
Delete3DTextLabel(tmp3dtext[playerid]);
}
if(player_timer[playerid] != (-1)) {
KillTimer(player_timer[playerid]);
}
tmp3dtext[playerid]=Create3DTextLabel(text, 0x6495EDFF, x, y, z+0.7, 50.0, 0);
//Attach3DTextLabelToPlayer(tmp3dtext[playerid],playerid,0.0, 0.0, 0.7);
player_timer[playerid]=SetTimerEx(\"Chat3D\", 10*1000, 0, \"i\", playerid);
return 1;
}
public Chat3D(x)
{
if(tmp3dtext
Delete3DTextLabel(tmp3dtext
}
}
[/quote]
Tudod manapság minden lehetséges, max egykét szerver oldali dolog nem. Csak tudni kell 8)
-
nagyon szépen köszönöm. sokat segített.
-
tudtommal nem :/
-
Nekem gond ven vele :S Nemismeri a függvényeket, hibét ír pl az RP sre, miylen függvénykönyvtár kell neki?
-
Nekem gond ven vele :S Nemismeri a függvényeket, hibét ír pl az RP sre, miylen függvénykönyvtár kell neki?
stock Chat_SendRolePlayFormatToPlayer(giveid,playerid,str[],color=0xFFFFFFAA)
{
// Tárolók létrehozása
new name[MAX_PLAYER_NAME],
formats[128];
// Név tárolása
GetPlayerName(playerid,name,sizeof name);
// Üzenet megformázása
format(formats,sizeof formats,\"%s mondja neked: %s\",name,str);
// Üzenet elküldése
SendClientMessage(giveid,color,formats);
// Visszatérés
return true;
}
?
-
De ezt a modomba hova kell rakonm?? az OnPlayerCommandText alá? mert ha odarakom a következot írja:
error 029: invalid expression, assumed zero
error 017: undefined symbol \"Chat_SendRolePlayFormatToPlayer\"
warning 215: expression has no effect
error 001: expected token: \";\", but found \")\"
fatal error 107: too many error messages on one line
És ezt erre a sora:
stock Chat_SendRolePlayFormatToPlayer(giveid,playerid,str[],color=0xFFFFFFAA)
De ha berakom az OnPlayerConnect alá akkor nincs hiba de a játékba nem megy.
-
A mód legaljára írd.