pawn Code:
#include <a_samp> // Fodasse se nгo sabes o que e isto esquece o script... XD#include <zcmd> // ZCMD um diferente processador de commandos#include <SII> // Sistema de Registo//==============================================================================#define FILTERSCRIPT // Defenindo que й filterscript para nao dar problemas//==============================================================================static Admin
[MAX_PLAYERS
],
// Variavel de admins usada por exemplo para saber se o jogador e admin nivel 3 string
[256],
// Usada nos formats para mandar mensagems ou assim... Tem string de 256 por causa de ser utilizada no SII ida,
// Usado por exemplo no /setaradmin ida2,
// outra usada no sscanf... nome
[MAX_PLAYER_NAME
],
// variavel do nome vehicle,
// usado para saber qual o veiculo em que esta no /criarcarro Float:pos
[4] // coords...;
//==============================================================================static VehicleNames
[212][] = // Variavel utilizada para mais tarde um comando /criarcarro{ "Landstalker",
"Bravura",
"Buffalo",
"Linerunner",
"Pereniel",
"Sentinel",
"Dumper",
"Firetruck",
"Trashmaster",
"Stretch",
"Manana",
"Infernus",
"Voodoo",
"Pony",
"Mule",
"Cheetah",
"Ambulance",
"Leviathan",
"Moonbeam",
"Esperanto",
"Taxi",
"Washington",
"Bobcat",
"Mr-Whoopee",
"BF-Injection",
"Hunter",
"Premier",
"Enforcer",
"Securicar",
"Banshee",
"Predator",
"Bus",
"Rhino",
"Barracks",
"Hotknife",
"Trailer",
"Previon",
"Coach",
"Cabbie",
"Stallion",
"Rumpo",
"RC-Bandit",
"Romero",
"Packer",
"Monster",
"Admiral",
"Squalo",
"Seasparrow",
"Pizzaboy",
"Tram",
"Trailer",
"Turismo",
"Speeder",
"Reefer",
"Tropic",
"Flatbed",
"Yankee",
"Caddy",
"Solair",
"Berkley's-RC-Van",
"Skimmer",
"PCJ-600",
"Faggio",
"Freeway",
"RC Baron",
"RC Raider",
"Glendale",
"Oceanic",
"Sanchez",
"Sparrow",
"Patriot",
"Quad",
"Coastguard",
"Dinghy",
"Hermes",
"Sabre",
"Rustler",
"ZR3-50",
"Walton",
"Regina",
"Comet",
"BMX",
"Burrito",
"Camper",
"Marquis",
"Baggage",
"Dozer",
"Maverick",
"News Chopper",
"Rancher",
"FBI Rancher",
"Virgo",
"Greenwood",
"Jetmax",
"Hotring",
"Sandking",
"Blista-Compact",
"Police-Maverick",
"Boxville",
"Benson",
"Mesa",
"RC-Goblin",
"Hotring-Racer",
"Hotring-Racer",
"Bloodring-Banger",
"Rancher",
"Super GT",
"Elegant",
"Journey",
"Bike",
"Mountain Bike",
"Beagle",
"Cropdust",
"Stunt",
"Tanker",
"RoadTrain",
"Nebula",
"Majestic",
"Buccaneer",
"Shamal",
"Hydra",
"FCR-900",
"NRG-500",
"HPV1000",
"Cement-Truck",
"Tow-Truck",
"Fortune",
"Cadrona",
"FBI-Truck",
"Willard",
"Forklift",
"Tractor",
"Combine",
"Feltzer",
"Remington",
"Slamvan",
"Blade",
"Freight",
"Streak",
"Vortex",
"Vincent",
"Bullet",
"Clover",
"Sadler",
"Firetruck",
"Hustler",
"Intruder",
"Primo",
"Cargobob",
"Tampa",
"Sunrise",
"Merit",
"Utility",
"Nevada",
"Yosemite",
"Windsor",
"Monster-A",
"Monster-B",
"Uranus",
"Jester",
"Sultan",
"Stratum",
"Elegy",
"Raindance",
"RC-Tiger",
"Flash",
"Tahoma",
"Savanna",
"Bandito",
"Freight",
"Trailer",
"Kart",
"Mower",
"Duneride",
"Sweeper",
"Broadway",
"Tornado",
"AT-400",
"DFT-30",
"Huntley",
"Stafford",
"BF-400",
"Newsvan",
"Tug",
"Trailer",
"Emperor",
"Wayfarer",
"Euros",
"Hotdog",
"Club",
"Trailer-B",
"Trailer-C",
"Andromada",
"Dodo",
"RC-CaLm",
"Launch",
"Police Car [LSPD]",
"Police Car [SFPD]",
"Police Car [LVPD]",
"Police Ranger",
"Picador",
"S.W.A.T",
"Alpha",
"Phoenix",
"Glendale",
"Sadler",
"Luggage Trailer",
"Luggage Trailer",
"Stair Trailer",
"Boxville",
"Farm Plow",
"Utility Trailer"};
//==============================================================================public OnFilterScriptInit
(){ print("\n**ґґґґґґґґґґґґґґґґґґґSistema de Admin LIGADO``````````````````**");
print("SIMPLES POR ISSO NГO RECLAMES! XD");
print("DE: DarK TeaM PT a.k.a KylePT");
print("**ґґґґґґґґґґґґґґґґґґґSistema de Admin LIGADO``````````````````**\n");
for ( new i
= 0; i
< MAX_PLAYERS; i
++ ) { if ( IsPlayerConnected
( i
) ) { format(string,
sizeof(string
),
"%s.cfg",NomeJ
(i
));
// Saber onde ir buscar o ficheiro if ( fexist(string
) ) // Saber se existe o ficheiro { INI_Open
(string
);
Admin
[i
] = INI_ReadInt
("Admin");
// Para ler o nivel de admin do ficheiro... INI_Close
();
SendClientMessage
(i,0x00FFFFAA,
"Sistema de Admin Ligado!");
Mensagens
(i,
1);
// Mandar mensagem ao jogador } } } return 1;
}//==============================================================================public OnFilterScriptExit
(){ print("\n**ґґґґґґґґґґґґґґґґґґґSistema de Admin DESLIGADO``````````````````**");
print("SIMPLES POR ISSO NГO RECLAMES! XD");
print("DE: DarK TeaM PT a.k.a KylePT visita www.samppt.co.cc");
print("**ґґґґґґґґґґґґґґґґґґґSistema de Admin DESLIGADO``````````````````**\n");
for ( new i
= 0; i
< MAX_PLAYERS; i
++ ) { if ( IsPlayerConnected
( i
) ) { format(string,
sizeof(string
),
"%s.cfg",NomeJ
(i
));
// Saber onde ir buscar o ficheiro if ( fexist(string
) ) // Saber se existe o ficheiro { INI_Open
(string
);
INI_WriteInt
("Admin", Admin
[i
]);
// Para gravar o nivel de admin do ficheiro... INI_Save
();
INI_Close
();
SendClientMessage
(i,0x00FFFFAA,
"Sistema de Admin Desligado!");
Mensagens
(i,
2);
// Mandar mensagem ao jogador Admin
[i
] = 0;
// Resetar Variavel para evitar bugs... } } } return 1;
}//==============================================================================public OnPlayerRequestClass
(playerid, classid
){ SetPlayerPos
(playerid,
1958.3783,
1343.1572,
15.3746);
SetPlayerCameraPos
(playerid,
1958.3783,
1343.1572,
15.3746);
SetPlayerCameraLookAt
(playerid,
1958.3783,
1343.1572,
15.3746);
return 1;
}//==============================================================================public OnPlayerConnect
(playerid
){ format(string,
sizeof(string
),
"%s.cfg",NomeJ
(playerid
));
// Saber onde ir buscar o ficheiro if ( fexist(string
) ) // Saber se existe ficheiro { INI_Open
((string
));
Admin
[playerid
] = INI_ReadInt
("Admin");
// Para ler o nivel de admin do ficheiro... INI_Close
();
Mensagens
(playerid,
1);
// Mensagem ao jogador } else { INI_Open
((string
));
// Se nгo existir criar conta... INI_Close
();
SendClientMessage
(playerid,0xFF9900AA,
"A tua conta de admin foi criada com nivel 0!");
Admin
[playerid
] = 0;
// Resetar Variavel para evitar bugs... } return 1;
}//==============================================================================public OnPlayerDisconnect
(playerid, reason
){ format(string,
sizeof(string
),
"%s.cfg",NomeJ
(playerid
));
// Saber onde ir buscar o ficheiro if ( fexist(string
) ) // Saber se existe ficheiro { INI_Open
(string
);
INI_WriteInt
("Admin", Admin
[playerid
]);
// Para gravar o nivel de admin do ficheiro... INI_Save
();
INI_Close
();
} Admin
[playerid
] = 0;
// Resetar Variavel para evitar bugs... return 1;
}//==============================================================================cmd
(setaradmin,playerid,params
[]){ if ( Admin
[playerid
] == 5 || IsPlayerAdmin
(playerid
) ) // Aqui podes utilizar como ves o Admin[playerid] para saber se o admin й aquele nivel o 5 ou superior ou se e RCON { if ( sscanf
(params,
"ii",ida,ida2
) ) return SendClientMessage
(playerid, 0xAA3333AA,
"Uso: /setaradmin [ID] [Nivel]");
// Saber se o jogador meteu os parametros certos... else { if ( ida2
!= 0 && ida2
< 6 ) // Nivel de Admin Nгo pode ser superior a 5 ou = 0 { if ( ida2
== 1 ) { format(string,
sizeof(string
),
"O Admin %s setoute como admin Parabйns agora йs Moderador",NomeJ
(playerid
));
SendClientMessage
(ida, 0xFF9900AA,string
);
format(string,
sizeof(string
),
"Setaste %s como Moderador",NomeJ
(ida
));
SendClientMessage
(playerid, 0xFF9900AA,string
);
} else if ( ida2
== 2 ) { format(string,
sizeof(string
),
"O Admin %s setoute como admin Parabйns agora йs Moderador A",NomeJ
(playerid
));
SendClientMessage
(ida, 0xFF9900AA,string
);
format(string,
sizeof(string
),
"Setaste %s como Moderador A",NomeJ
(ida
));
SendClientMessage
(playerid, 0xFF9900AA,string
);
} else if ( ida2
== 3 ) { format(string,
sizeof(string
),
"O Admin %s setoute como admin Parabйns agora йs Admin Em Treino",NomeJ
(playerid
));
SendClientMessage
(ida, 0xFF9900AA,string
);
format(string,
sizeof(string
),
"Setaste %s como Admin Em Treino",NomeJ
(ida
));
SendClientMessage
(playerid, 0xFF9900AA,string
);
} else if ( ida2
== 4 ) { format(string,
sizeof(string
),
"O Admin %s setoute como admin Parabйns agora йs Admin",NomeJ
(playerid
));
SendClientMessage
(ida, 0xFF9900AA,string
);
format(string,
sizeof(string
),
"Setaste %s como Admin",NomeJ
(ida
));
SendClientMessage
(playerid, 0xFF9900AA,string
);
} else if ( ida2
== 5 ) { format(string,
sizeof(string
),
"O Admin %s setoute como admin Parabйns agora йs Dono/Scripter",NomeJ
(playerid
));
SendClientMessage
(ida, 0xFF9900AA,string
);
format(string,
sizeof(string
),
"Setaste %s como Dono/Scripter",NomeJ
(ida
));
SendClientMessage
(playerid, 0xFF9900AA,string
);
} Admin
[ida
] = ida2;
} else return SendClientMessage
(playerid, 0xFF9900AA,
"Nivel de Admin Errado Consulta a lista /niveisadmin");
} } else return SendClientMessage
(playerid, 0xFF9900AA,
"Nгo Tens Autorizaзгo para usar este comando!");
return 1;
}//==========================================================================cmd
(niveisadmin,playerid,params
[]){ SendClientMessage
(playerid,0x6699FFAA,
"Nivel Admin 1: Moderador");
SendClientMessage
(playerid,0x6699FFAA,
"Nivel Admin 2: Moderador A");
SendClientMessage
(playerid,0x6699FFAA,
"Nivel Admin 3: Admin Em Treino");
SendClientMessage
(playerid,0x6699FFAA,
"Nivel Admin 4: Admin");
SendClientMessage
(playerid,0x6699FFAA,
"Nivel Admin 5: Dono/Scripter");
return 1;
}//==========================================================================cmd
(criarcarro,playerid,params
[])// Comando de teste...{ if ( Admin
[playerid
] >= 1 ) // Saber se o jogador e nivel 1 = Moderador ou maior.. { if ( strlen(params
) == 0 ) return SendClientMessage
(playerid, 0xAA3333AA,
"Uso: /criarcarro [Nome/ID]");
if ( !IsNumeric
(params
) ) ida2
= GetVehicleModelIDFromName
(params
);
else ida2
= strval(params
);
if ( ida2
< 400 || ida2
> 603 ) return SendClientMessage
(playerid ,0xAA3333AA,
"Modelo Invalido");
CreatePlayerVehicle
(playerid, ida2
);
} else return SendClientMessage
(playerid, 0xFF9900AA,
"Nгo Tens Autorizaзгo para usar este comando!");
return 1;
}//==============================================================================stock NomeJ
(playerid
){ GetPlayerName
(playerid, nome, MAX_PLAYER_NAME
);
return nome;
}//==============================================================================stock sscanf
(stringf2
[],
format[],
{Float,_
}:...
){ #if defined isnull if (isnull
(stringf2
)) #else if (stringf2
[0] == 0 ||
(stringf2
[0] == 1 && stringf2
[1] == 0)) #endif { return format[0];
} #pragma tabsize 4 new formatPos
= 0,
stringf2Pos
= 0,
paramPos
= 2,
paramCount
= numargs(),
delim
= ' ';
while (stringf2
[stringf2Pos
] && stringf2
[stringf2Pos
] <= ' ') { stringf2Pos
++;
} while (paramPos
< paramCount
&& stringf2
[stringf2Pos
]) { switch (format[formatPos
++]) { case '\0': { return 0;
} case 'i',
'd': { new neg
= 1,
num
= 0,
ch
= stringf2
[stringf2Pos
];
if (ch
== '-') { neg
= -1;
ch
= stringf2
[++stringf2Pos
];
} do { stringf2Pos
++;
if ('0' <= ch
<= '9') { num
= (num
* 10) + (ch
- '0');
} else { return -1;
} } while ((ch
= stringf2
[stringf2Pos
]) > ' ' && ch
!= delim
);
setarg(paramPos,
0, num
* neg
);
} case 'h',
'x': { new num
= 0,
ch
= stringf2
[stringf2Pos
];
do { stringf2Pos
++;
switch (ch
) { case 'x',
'X': { num
= 0;
continue;
} case '0' ..
'9': { num
= (num
<< 4) |
(ch
- '0');
} case 'a' ..
'f': { num
= (num
<< 4) |
(ch
- ('a' - 10));
} case 'A' ..
'F': { num
= (num
<< 4) |
(ch
- ('A' - 10));
} default: { return -1;
} } } while ((ch
= stringf2
[stringf2Pos
]) > ' ' && ch
!= delim
);
setarg(paramPos,
0, num
);
} case 'c': { setarg(paramPos,
0, stringf2
[stringf2Pos
++]);
} case 'f': { setarg(paramPos,
0,
_:floatstr(stringf2
[stringf2Pos
]));
} case 'p': { delim
= format[formatPos
++];
continue;
} case '\'': { new end
= formatPos
- 1,
ch;
while ((ch
= format[++end
]) && ch
!= '\'') {} if (!ch
) { return -1;
} format[end
] = '\0';
if ((ch
= strfind(stringf2,
format[formatPos
], false, stringf2Pos
)) == -1) { if (format[end
+ 1]) { return -1;
} return 0;
} format[end
] = '\'';
stringf2Pos
= ch
+ (end
- formatPos
);
formatPos
= end
+ 1;
} case 'u': { new end
= stringf2Pos
- 1,
id
= 0,
bool:num
= true,
ch;
while ((ch
= stringf2
[++end
]) && ch
!= delim
) { if (num
) { if ('0' <= ch
<= '9') { id
= (id
* 10) + (ch
- '0');
} else { num
= false;
} } } if (num
&& IsPlayerConnected
(id
)) { setarg(paramPos,
0, id
);
} else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif stringf2
[end
] = '\0';
num
= false;
new name
[MAX_PLAYER_NAME
];
id
= end
- stringf2Pos;
foreach
(Player, playerid
) { GetPlayerName
(playerid, name,
sizeof (name
));
if (!strcmp(name, stringf2
[stringf2Pos
], true, id
)) { setarg(paramPos,
0, playerid
);
num
= true;
break;
} } if (!num
) { setarg(paramPos,
0, INVALID_PLAYER_ID
);
} stringf2
[end
] = ch;
#if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringf2Pos
= end;
} case 's',
'z': { new i
= 0,
ch;
if (format[formatPos
]) { while ((ch
= stringf2
[stringf2Pos
++]) && ch
!= delim
) { setarg(paramPos, i
++, ch
);
} if (!i
) { return -1;
} } else { while ((ch
= stringf2
[stringf2Pos
++])) { setarg(paramPos, i
++, ch
);
} } stringf2Pos
--;
setarg(paramPos, i,
'\0');
} default: { continue;
} } while (stringf2
[stringf2Pos
] && stringf2
[stringf2Pos
] != delim
&& stringf2
[stringf2Pos
] > ' ') { stringf2Pos
++;
} while (stringf2
[stringf2Pos
] && (stringf2
[stringf2Pos
] == delim || stringf2
[stringf2Pos
] <= ' ')) { stringf2Pos
++;
} paramPos
++;
} do { if ((delim
= format[formatPos
++]) > ' ') { if (delim
== '\'') { while ((delim
= format[formatPos
++]) && delim
!= '\'') {} } else if (delim
!= 'z') { return delim;
} } } while (delim
> ' ');
return 0;
}//==============================================================================stock CreatePlayerVehicle
(playerid, modelid
){ if ( GetPlayerState
(playerid
) == PLAYER_STATE_DRIVER
) { vehicle
= GetPlayerVehicleID
(playerid
);
GetVehiclePos
(vehicle, pos
[0], pos
[1], pos
[2]);
GetVehicleZAngle
(vehicle, pos
[3]);
DestroyVehicle
(vehicle
);
} else { GetPlayerPos
(playerid, pos
[0], pos
[1], pos
[2]);
GetPlayerFacingAngle
(playerid, pos
[3]);
} vehicle
= AddStaticVehicle
( modelid, pos
[0], pos
[1],
(pos
[2] + 1),pos
[3],
-1,
-1);
LinkVehicleToInterior
(vehicle, GetPlayerInterior
(playerid
));
SetVehicleVirtualWorld
(vehicle, GetPlayerVirtualWorld
(playerid
));
PlayerPlaySound
(playerid,
1133,
0,
0,
0);
return 1;
}//==============================================================================IsNumeric
(const stringf2f
[]){ for ( new g
= 0, kho
= strlen(stringf2f
); g
< kho; g
++ ) if ( stringf2f
[g
] > '9' || stringf2f
[g
] < '0' ) return 0;
return 1;
}//==============================================================================GetVehicleModelIDFromName
(vname
[]){ for ( new i
= 0; i
< 211; i
++ ) { if ( strfind(VehicleNames
[i
], vname, true
) != -1 ) return i
+ 400;
} return -1;
}//==============================================================================Mensagens
(playerid,modo
){ if ( modo
== 1 ) { if ( Admin
[playerid
] == 0 ) format(string,
sizeof(string
),
"Que pena ainda nгo es admin nem moderador...");
else if ( Admin
[playerid
] == 1 ) format(string,
sizeof(string
),
"Foste autenticado com o nivel de admin: Moderador");
else if ( Admin
[playerid
] == 2 ) format(string,
sizeof(string
),
"Foste autenticado com o nivel de admin: Moderador A");
else if ( Admin
[playerid
] == 3 ) format(string,
sizeof(string
),
"Foste autenticado com o nivel de admin: Admin em treino");
else if ( Admin
[playerid
] == 4 ) format(string,
sizeof(string
),
"Foste autenticado com o nivel de admin: Admin");
else if ( Admin
[playerid
] == 5 ) format(string,
sizeof(string
),
"Foste autenticado com o nivel de admin: Dono/Scripter");
SendClientMessage
(playerid,0x24FF0AB9,string
);
} if ( modo
== 2 ) { if ( Admin
[playerid
] == 0 ) format(string,
sizeof(string
),
"Que pena ainda nгo es admin nem moderador...");
else if ( Admin
[playerid
] == 1 ) format(string,
sizeof(string
),
"Foste guardado com o nivel de admin: Moderador");
else if ( Admin
[playerid
] == 2 ) format(string,
sizeof(string
),
"Foste guardado com o nivel de admin: Moderador A");
else if ( Admin
[playerid
] == 3 ) format(string,
sizeof(string
),
"Foste guardado com o nivel de admin: Admin em treino");
else if ( Admin
[playerid
] == 4 ) format(string,
sizeof(string
),
"Foste guardado com o nivel de admin: Admin");
else if ( Admin
[playerid
] == 5 ) format(string,
sizeof(string
),
"Foste guardado com o nivel de admin: Dono/Scripter");
SendClientMessage
(playerid,0x24FF0AB9,string
);
}}//========================================================================= FIM
Essa do patinho quando eu tinha uns 9 anos eu sempre achava vбrios perfis de orkut, rs.
ja vi essa do patinho mas com um gato, kkkkkkkkkk, nao era o garfield lol
Ficou bom dark й bom para as pessoas terem uma base para criar seus scripts ou adaptar este com seus creditos
ja faz tempao que fiz isto mas obrigado e o pato tirei dava mt confusao XD
obrigado...
se quiserem que eu adicione qualquer coisa e so dizer eu so fiz a base para ajudar... mas se quiserem que va ja adicionando...
Ficou bom Dark ^^, bastante optimizado ^^.
@...