Szerző Téma: Távolság beállítása  (Megtekintve 764 alkalommal)

ASD

  • Vendég
Távolság beállítása
« Dátum: 2009. december 06. - 12:13:06 »
0 Show voters

#include < a_samp >
#define COLOR_PURPLE            0xee82ee
public OnFilterScriptInit(  ) {
return 1;
}
public OnFilterScriptExit(  ) {
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[  ] ) {
if( strcmp( \"/coint\", cmdtext, true ) == 0 ) {
    new Number = random( 3 );
switch( Number ) {
    case 0 :
      SendClientMessage( playerid, COLOR_PURPLE, \"- feldobott egy érmét és az eredmény: FEJ!\" );
   case 1 :
      SendClientMessage( playerid, COLOR_PURPLE, \"- feldobott egy érmét és az eredmény: ÍRÁS!\" );
   case 2 :
       SendClientMessage( playerid, COLOR_PURPLE, \"- feldobott egy érmét, de sajnos kopott, és olvashatatlan!\" )
}
return 1;
}
return 0;
}

 
Így áll az érmefeldobós szkriptem eddig. Rp szerverre készül, és be szeretném állítani hogy csak egy bizonyos távolságon belül látszódjon. Fejbol nem tudom olyan 3 méterre gondoltam.
EDIT: Ja és kifelejtettem hogy \"-\" helyére hogy illesztem be a játékos nevét?
« Utoljára szerkesztve: 2009. december 06. - 12:15:22 írta ASD »

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Távolság beállítása
« Válasz #1 Dátum: 2009. december 06. - 12:50:22 »
0 Show voters
#include < a_samp >
#define COLOR_PURPLE  0xee82ee
Float:GetPos(playerid,posid)
{
new Float:id[3];
    if(IsPlayerInAnyVehicle(playerid)) GetVehiclePos(GetPlayerVehicleID(playerid),id[0],id[1],id[2]);
else GetPlayerPos(playerid,id[0],id[1],id[2]);
return id[posid-1];
}
GET_PLAYER_NAME( id )
{
new x[  MAX_PLAYER_NAME  ];
if( IsPlayerConnected( id ) ) GetPlayerName( id , x , sizeof(x) );
return x;
}
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) return IsPlayerInRangeOfPoint(playerid,radi,x,y,z);
public OnPlayerCommandText(playerid,cmdtext[])
{
if( strcmp( \"/coint\", cmdtext, true ) == 0 )
{
    new Number = random( 3 ), msg[2][8] = { \"Fej\", \"Írás\" }, estr[128];
    if(!Number) format(estr,128,\"%s feldobott egy érmét,  de sajnos kopott, és olvashatatlan!\",GET_PLAYER_NAME(playerid));
    else format(estr,128,\"%s feldobott egy érmét és az eredmény: %s\",GET_PLAYER_NAME(playerid),msg[Number-1]);
for( new i = 0; i < GetMaxPlayers(); i++)
{
    if(!IsPlayerConnected(i) ||!PlayerToPoint(6,i,GetPos(playerid,1),GetPos(playerid,2),GetPos(playerid,3))) continue;
    SendClientMessage(i,COLOR_PURPLE,estr);
}
return 1;
}
return 0;
}

 
A kódrészletben lévo funkciókat ajánlom használatra, mert esetenként igencsak leegszerusíthetik és megkönnyíthetik a szkripteléssal való foglalkozást.
Epsilon

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal