[Ayuda] Un poco de enredo aquн. -
The_M - 12.02.2011
Que tal, hoy les vengo a pedir una ayudita si no es mucha molestia de como puedo agregar esto:
pawn Код:
if(AccInfo[playerid][OnDuty] == 1)
{
label[playerid] = Create3DTextLabel("Admin en servicio, no atacar",0x008080FF,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(label[playerid], playerid, 0.0, 0.0, 0.7);
SetPlayerSkin(playerid, 217);
SetPlayerHealth(playerid, 10000);
GivePlayerWeapon(playerid, WEAPON_MINIGUN, 100000);
}
return 1;
}
A OnPlayerSpawn del LuxAdmin sin joder nada me entienden.
pawn Код:
//==============================================================================
//-------------------------------------------------
// Player Spawn
//-------------------------------------------------
//==============================================================================
public OnPlayerSpawn(playerid)
{
//==============================================================================
// Request Register
//==============================================================================
if(AccInfo[playerid][Registered] == 0 && ServerInfo[MustRegister] == 1)
{
#if USE_DIALOGS == true
new rstring[256];
format(rstring,256,"Bienvenido a '%s'\n\nLa Cuenta '%s' no esta registrada!\n\nEscriba una contraseсa para registrar una cuenta:",GetServerHostName(),pName(playerid));
ShowPlayerDialog(playerid,DIALOGID+66,DIALOG_STYLE_INPUT,"Registro",rstring,"Registrar","Salir");
#endif
return 1;
}
//==============================================================================
// Request Login
//==============================================================================
if(ServerInfo[MustLogin] == 1 && AccInfo[playerid][Registered] == 1 && AccInfo[playerid][LoggedIn] == 0)
{
#if USE_DIALOGS == true
new lstring[256];
format(lstring,256,"La cuenta '%s 'esta Registrada!\n\n Inicie sesiуn para acceder",pName(playerid));
ShowPlayerDialog(playerid,DIALOGID+67,DIALOG_STYLE_INPUT,"Acceso",lstring,"Acceder","Salir");
#endif
return 1;
}
//==============================================================================
// Player Frozen (Prevent scape)
//==============================================================================
AccInfo[playerid][Spawned] = 1;
if(AccInfo[playerid][Frozen] == 1) {
TogglePlayerControllable(playerid,false);
return SendClientMessage(playerid,red,"|- No puedes escapar de tu castigo. Usted sigue congelado -|");
}
//==============================================================================
// Player Jail (Prevent scape)
//==============================================================================
if(AccInfo[playerid][Jailed] == 1) {
SetTimerEx("JailPlayer",3000,0,"d",playerid);
return SendClientMessage(playerid,red,"|- No puedes escapar de tu castigo. Usted sigue en la carcel -|");
}
//==============================================================================
// Administrators Skins/Prevent players to use
//==============================================================================
if(ServerInfo[AdminOnlySkins] == 1)
{
if( (GetPlayerSkin(playerid) == ServerInfo[AdminSkin]) || (GetPlayerSkin(playerid) == ServerInfo[AdminSkin2]))
{
if(AccInfo[playerid][Level] >= 1)
GameTextForPlayer(playerid,"~b~Bienvenido~n~~w~Admin",3000,1);
else
{
GameTextForPlayer(playerid,"~r~Este Skin es para~n~Administradores~n~Unicamente",4000,1);
SetTimerEx("DelayKillPlayer", 2500,0,"d",playerid);
return 1;
}
}
}
if((dUserINT(PlayerName2(playerid)).("UseSkin")) == 1)
if((AccInfo[playerid][Level] >= 1) && (AccInfo[playerid][LoggedIn] == 1))
SetPlayerSkin(playerid,(dUserINT(PlayerName2(playerid)).("FavSkin")) );
//==============================================================================
// Verify player in CAGE
//==============================================================================
if(AccInfo[playerid][pCaged] == 1)
{
SetTimerEx("CagePrevent", 300, 0, "i", playerid);
}
if(ServerInfo[Announce] == 1)
TextDrawShowForPlayer(playerid, Announcements);
//==============================================================================
// Weapons
//==============================================================================
if(ServerInfo[GiveWeap] == 1)
{
if(AccInfo[playerid][LoggedIn] == 1)
{
AccInfo[playerid][TimesSpawned]++;
if(AccInfo[playerid][TimesSpawned] == 1)
{
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon1"),dUserINT(PlayerName2(playerid)).("Weapon1Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon2"),dUserINT(PlayerName2(playerid)).("Weapon2Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon3"),dUserINT(PlayerName2(playerid)).("Weapon3Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon4"),dUserINT(PlayerName2(playerid)).("Weapon4Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon5"),dUserINT(PlayerName2(playerid)).("Weapon5Ammo"));
GivePlayerWeapon(playerid,dUserINT(PlayerName2(playerid)).("Weapon6"),dUserINT(PlayerName2(playerid)).("Weapon6Ammo"));
}
}
}
return 1;
}
Y aquн:
pawn Код:
//==============================================================================
//-------------------------------------------------
// Player Text
//-------------------------------------------------
//==============================================================================
public OnPlayerText(playerid, text[])
{
//==============================================================================
// Vip Chat
//==============================================================================
if(text[0] == '*' && AccInfo[playerid][pVip] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"[V.I.P] Chat privado: %s: %s",string,text[1]);
MessageToPlayerVIP(0xDC686BAA,string);
SaveIn("ChatVipLog",string);
return 0;
}
//==============================================================================
// Administration Chat
//==============================================================================
if(text[0] == '@' && AccInfo[playerid][Level] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"[ADMIN] Chat privado: %s: %s",string,text[1]);
MessageToAdmins(green,string);
#if ADM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
return 0;
}
//==============================================================================
// Chat Disabled
//==============================================================================
if(ServerInfo[DisableChat] == 1)
{
SendClientMessage(playerid,red,"|- Chat Desactivado! -|");
return 0;
}
//==============================================================================
// Player Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
AccInfo[playerid][MuteWarnings]++;
new string[128];
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"|- ATENCION: Usted esta en mute! No puede hablar (Advertencias: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"|- Has sido automaticamente expulsado. | Razon: Itentу hablar con mute -|");
format(string, sizeof(string),"|- Jugador %s (ID:%d) ha sido automaticamente expulsado. | Razon: Intentу hablar con mute -|",PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string);
SaveIn("KickLog",string); Kick(playerid);
} return 0;
}
//==============================================================================
// Flood/Spam Protection
//==============================================================================
if(ServerInfo[AntiSpam] == 1 && (AccInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)))
{
if(AccInfo[playerid][SpamCount] == 0) AccInfo[playerid][SpamTime] = TimeStamp();
AccInfo[playerid][SpamCount]++;
if(TimeStamp() - AccInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
AccInfo[playerid][SpamCount] = 0;
AccInfo[playerid][SpamTime] = TimeStamp();
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
new string[64]; format(string,sizeof(string),"|- Jugador %s (ID:%d) ha sido automaticamente Expulsado. | Razon: Flood/Spam", PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string); print(string);
SaveIn("KickLog",string);
Kick(playerid);
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
SendClientMessage(playerid,red,"ATENCION: Advertencia Anti Spam! Otra vez y serбs expulsado!");
return 0;
}
}
//==============================================================================
// Send Admin in front of name
//==============================================================================
#if ADM_InMSG == true
if (AccInfo[playerid][Hide] == 0)
{
if(AccInfo[playerid][Level] > 0)
{
new str3[256];
format(str3, 256, "Admin %s", text);
for(new gz=0;gz<200;gz++)
if(IsPlayerConnected(gz))
SendPlayerMessageToPlayer(gz, playerid, str3);
else SendPlayerMessageToPlayer(gz, playerid, text);
}
return 0;
}
#endif
//==============================================================================
// Forbidden Words
//==============================================================================
if(ServerInfo[AntiSwear] == 1 && AccInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
for(new s = 0; s < BadWordsCount; s++)
{
new pos;
while((pos = strfind(text,BadWords[s],true)) != -1)
for(new i = pos, j = pos + strlen(BadWords[s]); i < j; i++) text[i] = '*';
}
//==============================================================================
// Anti Advertisements
//==============================================================================
if(ServerInfo[AntiAds] == 1)
{
if(AdvertisementCheck(text) && AccInfo[playerid][Level] < 3)
{
AccInfo[playerid][MaxAdv]++;
new string[128];
format(string,sizeof(string),"|- Advertencia! Sospecha de anuncios de otros servidores en su mensaje! (Advertencias: %d/%d)",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, grey,string);
if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
{
format(string,sizeof(string),"|- Usted ha sido automaticamente expulsado. | Razon: Muchos anuncios de servidores en sus mensajes (%d/%d) -|",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, lightred,string);
format(string,sizeof(string),"|- Jugador %s (ID:%d) ha sido expulsado automaticamente. | Razon: Publicar Anuncios! (%d) -|",PlayerName2(playerid),playerid, MAX_ADV_WARNINGS);
SaveIn("KickLog",string); Kick(playerid);
SendClientMessageToAll(lightred, string);
print(string);
}
return 0;
}
}
//==============================================================================
// Block CapsLock
//==============================================================================
if(AccInfo[playerid][Caps] == 1)
UpperToLower(text);
if(ServerInfo[NoCaps] == 1)
UpperToLower(text);
//==============================================================================
// Chat Lines (Console)
//==============================================================================
for(new i = 1; i < MAX_CHAT_LINES-1; i++)
Chat[i] = Chat[i+1];
new ChatSTR[128];
GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR));
format(ChatSTR,128,"[CHAT]%s: %s",ChatSTR, text[0]);
Chat[MAX_CHAT_LINES-1] = ChatSTR;
return 1;
}
//==============================================================================
//-------------------------------------------------
// Private Message (PM)
//-------------------------------------------------
//==============================================================================
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
if(ServerInfo[ReadPMs] == 1 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
{
//==============================================================================
// Send PM
//==============================================================================
new string[128];
new pReciever[MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
GetPlayerName(recieverid, pReciever, sizeof(pReciever));
format(string, sizeof(string), "|- MP: %s para %s: %s", string, pReciever, text);
for (new a = 0; a < MAX_PLAYERS; a++)
if(IsPlayerConnected(a) && (AccInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
SendClientMessage(a, grey, string);
#if PM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
}
//==============================================================================
// Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
new string[128];
AccInfo[playerid][MuteWarnings]++;
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"|- ATENCION: Usted esta en Mute! No puede hablar (Advertencias: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"|- Usted ha sido automaticamente expulsado. | Razon: Trataste de hablar con mute -|");
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"|- Jugador %s (ID:%d) ha sido automaticamente expulsado. | Razon: Tratу de hablar con mute -|", string, playerid);
SendClientMessageToAll(lightred,string);
SaveIn("KickLog",string);
Kick(playerid);
}
return 0;
}
#if EnablePM_Cmd == true
new string[128];
format(string,256,"|- MP: Mensaje para '%s(%d)': \"%s\" -|",PmReceiver,PMplayer1,text);
SendClientMessage(playerid,0x00A765AA,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"|- MP: Mensaje de: %s: \"%s\" -|",string,text);
SendClientMessage(recieverid,0x00A765AA,string);
#endif
return 1;
}
Agregar esto:
pawn Код:
if(AccInfo[playerid][OnDuty] == 1)
{
new string[128];
GetPlayerName(playerid, string, 128);
format(string, 128, "Admin %s: %s", string, text);
SendClientMessageToAll(COLOR_PINK, string);
return 0;
}
return 1;
Sin tocar nada porque lo intente de varias formas y me aparecen los benditos 26 errores

Bueno espero que alguien me pueda ayudar, muchas gracias.
Respuesta: [Ayuda] Un poco de enredo aquн. -
[M]xFire - 12.02.2011
Agregalo donde quieras, solo quitale el 'return 1;' que tienes al ultimo de tu codigo
Re: [Ayuda] Un poco de enredo aquн. -
The_M - 12.02.2011
Pero lo agregue y me da 26 errores "Invalid Function or Declaration"
Respuesta: [Ayuda] Un poco de enredo aquн. -
[M]xFire - 12.02.2011
pawn Код:
public OnPlayerText(playerid, text[])
{
if(AccInfo[playerid][OnDuty] == 1)
{
new string[128];
GetPlayerName(playerid, string, 128);
format(string, 128, "Admin %s: %s", string, text);
SendClientMessageToAll(COLOR_PINK, string);
return 0;
}
//==============================================================================
// Vip Chat
//==============================================================================
if(text[0] == '*' && AccInfo[playerid][pVip] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"[V.I.P] Chat privado: %s: %s",string,text[1]);
MessageToPlayerVIP(0xDC686BAA,string);
SaveIn("ChatVipLog",string);
return 0;
}
//==============================================================================
// Administration Chat
//==============================================================================
if(text[0] == '@' && AccInfo[playerid][Level] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"[ADMIN] Chat privado: %s: %s",string,text[1]);
MessageToAdmins(green,string);
#if ADM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
return 0;
}
//==============================================================================
// Chat Disabled
//==============================================================================
if(ServerInfo[DisableChat] == 1)
{
SendClientMessage(playerid,red,"|- Chat Desactivado! -|");
return 0;
}
//==============================================================================
// Player Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
AccInfo[playerid][MuteWarnings]++;
new string[128];
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"|- ATENCION: Usted esta en mute! No puede hablar (Advertencias: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"|- Has sido automaticamente expulsado. | Razon: Itentу hablar con mute -|");
format(string, sizeof(string),"|- Jugador %s (ID:%d) ha sido automaticamente expulsado. | Razon: Intentу hablar con mute -|",PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string);
SaveIn("KickLog",string); Kick(playerid);
} return 0;
}
//==============================================================================
// Flood/Spam Protection
//==============================================================================
if(ServerInfo[AntiSpam] == 1 && (AccInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)))
{
if(AccInfo[playerid][SpamCount] == 0) AccInfo[playerid][SpamTime] = TimeStamp();
AccInfo[playerid][SpamCount]++;
if(TimeStamp() - AccInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
AccInfo[playerid][SpamCount] = 0;
AccInfo[playerid][SpamTime] = TimeStamp();
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
new string[64]; format(string,sizeof(string),"|- Jugador %s (ID:%d) ha sido automaticamente Expulsado. | Razon: Flood/Spam", PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string); print(string);
SaveIn("KickLog",string);
Kick(playerid);
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
SendClientMessage(playerid,red,"ATENCION: Advertencia Anti Spam! Otra vez y serбs expulsado!");
return 0;
}
}
//==============================================================================
// Send Admin in front of name
//==============================================================================
#if ADM_InMSG == true
if (AccInfo[playerid][Hide] == 0)
{
if(AccInfo[playerid][Level] > 0)
{
new str3[256];
format(str3, 256, "Admin %s", text);
for(new gz=0;gz<200;gz++)
if(IsPlayerConnected(gz))
SendPlayerMessageToPlayer(gz, playerid, str3);
else SendPlayerMessageToPlayer(gz, playerid, text);
}
return 0;
}
#endif
//==============================================================================
// Forbidden Words
//==============================================================================
if(ServerInfo[AntiSwear] == 1 && AccInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
for(new s = 0; s < BadWordsCount; s++)
{
new pos;
while((pos = strfind(text,BadWords[s],true)) != -1)
for(new i = pos, j = pos + strlen(BadWords[s]); i < j; i++) text[i] = '*';
}
//==============================================================================
// Anti Advertisements
//==============================================================================
if(ServerInfo[AntiAds] == 1)
{
if(AdvertisementCheck(text) && AccInfo[playerid][Level] < 3)
{
AccInfo[playerid][MaxAdv]++;
new string[128];
format(string,sizeof(string),"|- Advertencia! Sospecha de anuncios de otros servidores en su mensaje! (Advertencias: %d/%d)",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, grey,string);
if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
{
format(string,sizeof(string),"|- Usted ha sido automaticamente expulsado. | Razon: Muchos anuncios de servidores en sus mensajes (%d/%d) -|",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, lightred,string);
format(string,sizeof(string),"|- Jugador %s (ID:%d) ha sido expulsado automaticamente. | Razon: Publicar Anuncios! (%d) -|",PlayerName2(playerid),playerid, MAX_ADV_WARNINGS);
SaveIn("KickLog",string); Kick(playerid);
SendClientMessageToAll(lightred, string);
print(string);
}
return 0;
}
}
//==============================================================================
// Block CapsLock
//==============================================================================
if(AccInfo[playerid][Caps] == 1)
UpperToLower(text);
if(ServerInfo[NoCaps] == 1)
UpperToLower(text);
//==============================================================================
// Chat Lines (Console)
//==============================================================================
for(new i = 1; i < MAX_CHAT_LINES-1; i++)
Chat[i] = Chat[i+1];
new ChatSTR[128];
GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR));
format(ChatSTR,128,"[CHAT]%s: %s",ChatSTR, text[0]);
Chat[MAX_CHAT_LINES-1] = ChatSTR;
return 1;
}
//==============================================================================
//-------------------------------------------------
// Private Message (PM)
//-------------------------------------------------
//==============================================================================
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
if(ServerInfo[ReadPMs] == 1 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
{
//==============================================================================
// Send PM
//==============================================================================
new string[128];
new pReciever[MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
GetPlayerName(recieverid, pReciever, sizeof(pReciever));
format(string, sizeof(string), "|- MP: %s para %s: %s", string, pReciever, text);
for (new a = 0; a < MAX_PLAYERS; a++)
if(IsPlayerConnected(a) && (AccInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
SendClientMessage(a, grey, string);
#if PM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
}
//==============================================================================
// Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
new string[128];
AccInfo[playerid][MuteWarnings]++;
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"|- ATENCION: Usted esta en Mute! No puede hablar (Advertencias: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"|- Usted ha sido automaticamente expulsado. | Razon: Trataste de hablar con mute -|");
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"|- Jugador %s (ID:%d) ha sido automaticamente expulsado. | Razon: Tratу de hablar con mute -|", string, playerid);
SendClientMessageToAll(lightred,string);
SaveIn("KickLog",string);
Kick(playerid);
}
return 0;
}
#if EnablePM_Cmd == true
new string[128];
format(string,256,"|- MP: Mensaje para '%s(%d)': \"%s\" -|",PmReceiver,PMplayer1,text);
SendClientMessage(playerid,0x00A765AA,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"|- MP: Mensaje de: %s: \"%s\" -|",string,text);
SendClientMessage(recieverid,0x00A765AA,string);
#endif
return 1;
}