Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-01-23, 21:18


ArCie







Wiek: 32
Na forum: 5318 dni
Posty: 32
Nick w MP: Arek



Respekt: 50

Witam. Mam taki oto kod na specowanie gracza
Kod:

//
// ADMIN SPECTATE FILTER SCRIPT
// kye 2007
//

#pragma tabsize 0
#include <a_samp>
#include <core>
#include <float>

#include "../include/gl_common.inc"

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFFF

//------------------------------------------------------------------------------------------------------

#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2

new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];

//------------------------------------------------------------------------------------------------------

public OnFilterScriptInit()
{
}

//------------------------------------------------------------------------------------------------------

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
// IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE
// TO CHANGE THEIR INTERIOR ID TO MATCH
new x = 0;
while(x!=MAX_PLAYERS) {
if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING &&
gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER )
{
SetPlayerInterior(x,newinteriorid);
}
x++;
}
}

//------------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new specplayerid, specvehicleid, idx;

// WE ONLY DEAL WITH COMMANDS FROM ADMINS IN THIS FILTERSCRIPT
if(!IsPlayerAdmin(playerid)) return 0;

cmd = strtok(cmdtext, idx);

// SPECTATE A PLAYER
if(strcmp(cmd, "/specplayer", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]");
return 1;
}
specplayerid = strval(tmp);

if(!IsPlayerConnected(specplayerid)) {
SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active.");
return 1;
}

TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, specplayerid);
SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
gSpectateID[playerid] = specplayerid;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;

return 1;
}

// SPECTATE A VEHICLE
if(strcmp(cmd, "/specvehicle", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]");
return 1;
}
specvehicleid = strval(tmp);

if(specvehicleid < MAX_VEHICLES) {
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid, specvehicleid);
gSpectateID[playerid] = specvehicleid;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE;
}
return 1;
}

// STOP SPECTATING
if(strcmp(cmd, "/specoff", true) == 0) {
TogglePlayerSpectating(playerid, 0);
gSpectateID[playerid] = INVALID_PLAYER_ID;
gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
return 1;
}

return 0;
}

//------------------------------------------------------------------------------------------------------


Lecz nie moge zrobi? z tego pliku .amx
Kod:

E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(47) : warning 217: loose indentation
E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(64) : error 017: undefined symbol "PlayerName"
E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(67) : warning 217: loose indentation
E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(76) : warning 217: loose indentation
E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(81) : warning 217: loose indentation
E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(87) : warning 217: loose indentation


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-23, 21:23


Magister.CSC







Wiek: 31
Na forum: 4933 dni
Posty: 2
Nick w MP: MagisterTMPL



Respekt: 50

Kod:


E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(64) : error 017: undefined symbol "PlayerName"

Zdefiniuj PlayerName

Kod:


E:\Gry\GTA San Andreas\Serwer samp\filterscripts\spec.pwn(87) : warning 217: loose indentation

to warning ?e kod jest u?o?ony nier?wno

Postaw piwo autorowi tego posta
 

 
Tagi: specowanie :: gracza
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] Specowanie gracza Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku