Welcome, Guest |
You have to register before you can post on our site.
|
Online Users |
There are currently 364 online users. » 0 Member(s) | 362 Guest(s) Bing, Google
|
Latest Threads |
Command does not work in-...
Forum: Pawn Scripting
Last Post: PANZEHIR_
2024-11-23, 06:36 PM
» Replies: 0
» Views: 36
|
White Screen
Forum: Support
Last Post: Phat202146_real
2024-11-21, 02:50 PM
» Replies: 0
» Views: 32
|
I get error 021 using y_h...
Forum: Pawn Scripting
Last Post: daniscript18
2024-11-18, 11:34 PM
» Replies: 0
» Views: 51
|
Il reste des français sur...
Forum: French/Fran?ais
Last Post: tysanio
2024-11-18, 05:39 AM
» Replies: 2
» Views: 455
|
Object creation issues
Forum: Programming
Last Post: K1271
2024-11-15, 11:51 PM
» Replies: 0
» Views: 52
|
Is the SAMP Hosting the s...
Forum: General Discussions
Last Post: OperaGX
2024-11-14, 09:33 PM
» Replies: 0
» Views: 69
|
Run time error 19: "File ...
Forum: Pawn Scripting
Last Post: Rexey
2024-11-14, 03:50 AM
» Replies: 0
» Views: 60
|
How to Compile Your Gamem...
Forum: Tutorials
Last Post: thelante
2024-11-13, 08:50 AM
» Replies: 3
» Views: 456
|
Modeller wanted
Forum: Development Updates
Last Post: acc.gangbeni
2024-11-11, 05:10 PM
» Replies: 9
» Views: 16,469
|
SA:MP forum offline
Forum: Portuguese/Portugu?s
Last Post: weslley_script
2024-11-09, 05:27 PM
» Replies: 7
» Views: 9,908
|
|
|
Looking for scripters/helpers/mappers? post here! |
Posted by: iLearner - 2019-06-05, 05:13 AM - Forum: General Discussions
- Replies (13)
|
|
Hello!
if you're in need of scripters, mappers, helpers or even administrators for your server, you may post in this thread. you may also post here if you're offering?scripting / mapping services.
before posting please make sure you read the following rules to keep everything civil.
- You must wait 24 hours before bumping your post.?
- do not double post! use edit instead.
- do not post troll posts, only post if you're really looking for whatever you say you're looking for.?
- leave your contact information within your post and continue the discussion in private, this is not a discussion thread.
- do not post here just to waste someone's time, post only if you're serious.
I've stated above the common rules I could think of, if any Moderator wishes to edit the thread and add/remove any of those, they're welcome.
|
|
|
y_hooks 4 - Hook callbacks, functions, and natives. |
Posted by: Y_Less - 2019-06-02, 09:14 PM - Forum: Libraries
- Replies (9)
|
|
Introduction
After some discussion recently, I have finally gotten around to updating y_hooks. You can now hook callbacks (publics), functions (your own code), and natives! The full documentation is on github:
https://github.com/pawn-lang/YSI-Includes/tree/5.x
But in short, there are three types of hooks: original, callback, and function.
Original
Originals are still the fastest (faster even than a normal function call) and simplest, but can only hook publics:
PHP Code: #include <YSI_Coding\y_hooks>
hook OnPlayerConnect(playerid)
{
SendClientMessage(playerid, COLOUR_GREETING, "Welcome!");
}
The system will call each hook of a public in the order they are declared. When one ends the next starts. There is a way to stop the chain entirely, such that no more hooks are called, but this is all the control given. These can hook callbacks that don't even exist, you don't need `public OnPlayerConnect` anywhere in code for this example to work.
Function
A function hook hooks a function - i.e. something called within the script. This includes pawn functions and natives:
PHP Code: #include <YSI_Coding\y_hooks>
hook function SetPlayerPos(playerid, Float:x, Float:y, Float:z)
{
return continue(playerid, x, y, z 0.1);
}
Every time `SetPlayerPos` is used in the script, this hook will be called first. `continue` is an explicit call to the next function in the chain - this may be another hook or the original code (a native in this case).
Callback
A callback hook combines the hooking of callbacks from original hooks with the explicit chaining of function hooks:
PHP Code: #include <YSI_Coding\y_hooks>
hook callback OnPlayerConnect(playerid)
{
SendClientMessage(playerid, COLOUR_GREETING, "Welcome!");
return continue(playerid);
}
Note that I haven't ACTUALLY written this last one 1yet.
|
|
|
Gang Commands Script to a Filter Script |
Posted by: Sean17 - 2019-06-02, 03:47 PM - Forum: Pawn Scripting
- Replies (4)
|
|
Hello, I need help on how to make a gang command script to a filter script.?
I have this group command script from a friend which is this
Code: new AsLActivity[MAX_PLAYERS];
CMD:aslmembers(playerid,params[])
{
? ?#pragma unused params
? ?new count = 0;
? ?new string[128];
? ?new ChangeColor;
? ?new ASLR[128];
? ?new AsLDuty[128];
? ?if(PlayerInfo[playerid][LoggedIn] == 0) return SendClientMessage(playerid,0xFF0000AA,"ERROR: You need to be Logged in to use this command");
? ?SendClientMessage(playerid, 0xFF0000AA, " ");
? ?SendClientMessage(playerid, 0x00FFFFAA, "__________ |- Online AsL Members -| __________");
? ?SendClientMessage(playerid, 0xFF0000AA, " ");
? ?for(new i = 0; i < MAX_PLAYERS; i)
? ?{
? ? ? ?if(!IsPlayerConnected(i)) continue;
? ? ? ?if(PlayerInfo[i][LoggedIn] == 0) continue;
? ? ? ?if(PlayerInfo[i][ASL] == 0) continue;
? ? ? ?if(PlayerInfo[i][ASL] == 1) { ASLR = "Recruit"; ChangeColor = 0x858483FF; }
? ? ? ?if(PlayerInfo[i][ASL] == 2) { ASLR = "Initiate"; ChangeColor = 0x864e25FF; }
? ? ? ?if(PlayerInfo[i][ASL] == 3) { ASLR = "Apprentice"; ChangeColor = 0xf6b210FF; }
if(PlayerInfo[i][ASL] == 4) { ASLR = "Footpad"; ChangeColor = 0xf6ee10FF; }
if(PlayerInfo[i][ASL] == 5) { ASLR = "Mercenary"; ChangeColor = 0xc6c434FF; }
if(PlayerInfo[i][ASL] == 6) { ASLR = "Gladiator"; ChangeColor = 0x9be32aFF; }
if(PlayerInfo[i][ASL] == 7) { ASLR = "Warrior"; ChangeColor = 0x26e32fFF; }
if(PlayerInfo[i][ASL] == 8) { ASLR = "Templar"; ChangeColor = 0x26d8e3FF; }
if(PlayerInfo[i][ASL] == 9) { ASLR = "Mentor"; ChangeColor = 0x9526e3FF; }
if(PlayerInfo[i][ASL] == 10) { ASLR = "Leader Assassin"; ChangeColor = 0x266de3FF; }
if(PlayerInfo[i][ASL] == 11) { ASLR = "Master Assassin"; ChangeColor = 0xff0000FF; }
? ? ? ?if(AsLActivity[i] == 0) AsLDuty = "{00FFFF}- Playing!";
if(AsLActivity[i] == 1) AsLDuty = "{FF0000}- AFK";
? ? ? ?format(string, 128, "Rank: %d - %s (Id:%i) | %s %s",PlayerInfo[i][ASL], PlayerName2(i),i,ASLR, AsLDuty);
? ? ? ?SendClientMessage(playerid, ChangeColor, string);
? ? ? ?count;
? ?}
? ?if (count == 0) SendClientMessage(playerid,0xFF0000AA,"No one is online from Assassin's Legion Crew");
? ?SendClientMessage(playerid, 0x00FFFFAA, "___________________________________________");
? ?return 1;
}
CMD:aslafk(playerid,params[]) {
#pragma unused params
if(PlayerInfo[playerid][ASL] >= 1) {
new string[256],kuldoneve[MAX_PLAYER_NAME];
SendClientMessage(playerid,-1,"{33FF33}Type {FF0000}/aslback {33FF33}When You Back.");
GameTextForPlayer(playerid,"~r~ You are now AFK", 6000, 1);
TogglePlayerControllable(playerid, 0);
GetPlayerName(playerid, kuldoneve, sizeof(kuldoneve));
if(PlayerInfo[playerid][ASL] == 1)
format(string, sizeof(string), "{858483}[AsL]Recruit {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 2)
format(string, sizeof(string), "{864e25}[AsL]Initiate {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 3)
format(string, sizeof(string), "{f6b210}[AsL]Apprentice {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 4)
format(string, sizeof(string), "{f6ee10}[AsL]Footpad {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 5)
format(string, sizeof(string), "{c6c434}[AsL]Mercenary {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 6)
format(string, sizeof(string), "{9be32a}[AsL]Gladiator {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 7)
format(string, sizeof(string), "{26e32f}[AsL]Warrior {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 8)
format(string, sizeof(string), "{6d8e3}[AsL]Templar {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 9)
format(string, sizeof(string), "{9526e3}[AsL]Mentor {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 10)
format(string, sizeof(string), "{266de3}[AsL]Leader Assassin {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 11)
format(string, sizeof(string), "{ff0000}[AsL]Master Assassin {375FFF}%s Is Now Away From The Keyboard!",kuldoneve, playerid);
SendClientMessageToAll(-1, string);
AsLActivity[playerid] = 1;
? CMDMessageToASL(playerid, "AsLAfk");
} else return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "ERROR", "You need to be AsL Member to use this command", "OK", "Cancel");
return 1;}
CMD:aslback(playerid,params[]) {
#pragma unused params
if(PlayerInfo[playerid][ASL] >= 1) {
new string[256],kuldoneve[MAX_PLAYER_NAME];
GameTextForPlayer(playerid,"~b~ Welcome Back", 6000, 1);
TogglePlayerControllable(playerid, 1);
GetPlayerName(playerid, kuldoneve, sizeof(kuldoneve));
if(PlayerInfo[playerid][ASL] == 1)
format(string, sizeof(string), "{858483}[AsL]Recruit {375FFF}%s Now Back!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 2)
format(string, sizeof(string), "{864e25}[AsL]Initiate {375FFF}%s Now Back!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 3)
format(string, sizeof(string), "{f6b210}[AsL]Apprentice {375FFF}%s Now Back!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 4)
format(string, sizeof(string), "{f6ee10}[AsL]Footpad {375FFF}%s Now Back!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 5)
format(string, sizeof(string), "{c6c434}[AsL]Mercenary {375FFF}%s Now Back!",kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 6)
format(string, sizeof(string), "{9be32a}[AsL]Gladiator {375FFF}%s Now Back!", kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 7)
format(string, sizeof(string), "{26e32f}[AsL]Warrior {375FFF}%s Now Back!", kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 8)
format(string, sizeof(string), "{6d8e3}[AsL]Templar {375FFF}%s Now Back!", kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 9)
format(string, sizeof(string), "{9526e3}[AsL]Mentor {375FFF}%s Now Back!", kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 10)
format(string, sizeof(string), "{266de3}[AsL]Leader Assassin {375FFF}%s Now Back!", kuldoneve, playerid);
if(PlayerInfo[playerid][ASL] == 11)
format(string, sizeof(string), "{ff0000}[AsL]Master Assassin {375FFF}%s Now Back!", kuldoneve, playerid);
SendClientMessageToAll(-1, string);
AsLActivity[playerid] = 0;
? CMDMessageToASL(playerid, "AsLBack");
} else return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "ERROR", "You need to be AsL Member to use this command", "OK", "Cancel");
return 1;}
CMD:aslsay(playerid,params[]) {
#pragma unused params
if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /aslsay [text]");
if(PlayerInfo[playerid][ASL] == 1) {
new string[128]; format(string, sizeof(string), "***[AsL]Recruit (Rank:1) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 2) {
new string[128]; format(string, sizeof(string), "***[AsL]Initiate (Rank:2) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 3) {
new string[128]; format(string, sizeof(string), "***[AsL]Apprentice (Rank:3) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 4) {
new string[128]; format(string, sizeof(string), "***[AsL]Footpad (Rank:4) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 5) {
new string[128]; format(string, sizeof(string), "***[AsL]Mercenary (Rank:5) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 6) {
new string[128]; format(string, sizeof(string), "***[AsL]Gladiator (Rank:6) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 7) {
new string[128]; format(string, sizeof(string), "***[AsL]Warrior (Rank:7) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 8) {
new string[128]; format(string, sizeof(string), "***[AsL]Templar (Rank:8) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 9) {
new string[128]; format(string, sizeof(string), "***[AsL]Mentor (Rank:9) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else if(PlayerInfo[playerid][ASL] == 10) {
new string[128]; format(string, sizeof(string), "***[AsL]Leader Assassin (Rank:10) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
} else if(PlayerInfo[playerid][ASL] == 11) {
new string[128]; format(string, sizeof(string), "***[AsL]Master Assassin (Rank:11) %s: {00FF00}%s", PlayerName2(playerid), params[0] );
return SendClientMessageToAll(0x375FFFAA,string);
? ?} else return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"ERROR","You need to be a AsL Member to use this command","Okay","Cancel");
}
CMD:settempasl(playerid,params[]) {
? ? ? ?if(PlayerInfo[playerid][LoggedIn] == 1) {
? ? ? ?if(PlayerInfo[playerid][ASL] >= 9 || IsPlayerAdmin(playerid)) {
? ? ? ? ? ? ? ? ? ? ? ?new tmp[128], tmp2[128], Index; ? ? ? ? ? ? tmp = strtok(params,Index), tmp2 = strtok(params,Index);
? ? ? ? ? ? ? ? ? ? ? ?if(isnull(tmp) || isnull(tmp2)) return SendClientMessage(playerid, red, "USAGE: /settempasl [playerid] [level]");
? ? ? ? ? ? ? ? ? ? ? ?new player1, level, string[128];
? ? ? ? ? ? ? ? ? ? ? ?player1 = strval(tmp);
? ? ? ? ? ? ? ? ? ? ? ?level = strval(tmp2);
? ? ? ? ? ? ? ? ? ? ? ?if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
? ? ? ? ? ? ? ? ? ? ? ?if(PlayerInfo[player1][LoggedIn] == 1) {
? ? ? ? ? ? ? ? ? ? ? ?if(level > 11 ) return SendClientMessage(playerid,red,"ERROR: Incorrect Rank");
? ? ? ? ? ? ? ? ? ? ? ?if(level == PlayerInfo[player1][ASL]) return SendClientMessage(playerid,red,"ERROR: Player is already this Rank");
? ? ? ? ? ? ? ? ? ? ? ?CMDMessageToASL(playerid,"SETTEMPASL");
? ? ? ? ? ? ? ? ? ? ? ?new year,month,day; getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
? ? ? ? ? ? ? ? ? ? ? ?if(level > 0) format(string,sizeof(string),"|- AsL Leader %s has Temporarily set you AsL Rank Status | Rank: %d - %s -|", pName(playerid), level);
? ? ? ? ? ? ? ? ? ? ? ?else format(string,sizeof(string),"|- AsL Leader %s has temporarily set you to Player Status | Rank: %d -|", pName(playerid), level);
? ? ? ? ? ? ? ? ? ? ? ?SendClientMessage(player1,blue,string);
? ? ? ? ? ? ? ? ? ? ? ?if(level > PlayerInfo[player1][ASL]) GameTextForPlayer(player1,"ASL RANK Promoted", 2000, 3);
? ? ? ? ? ? ? ? ? ? ? ?else GameTextForPlayer(player1,"ASL RANK Demoted", 2000, 3);
? ? ? ? ? ? ? ? ? ? ? ?format(string,sizeof(string),"|- You have given %s Temp ASL Rank %d on '%d/%d/%d' at '%d:%d:%d' -|", pName(player1), level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string);
? ? ? ? ? ? ? ? ? ? ? ?format(string,sizeof(string),"Administrator %s has made %s temp ASL Rank %d on %d/%d/%d at %d:%d:%d",pName(playerid), pName(player1), level, day, month, year, hour, minute, second);
? ? ? ? ? ? ? ? ? ? ? ?SaveToFile("TempAdminLog",string);
? ? ? ? ? ? ? ? ? ? ? ?PlayerInfo[player1][ASL] = level;
? ? ? ? ? ? ? ? ? ? ? ?return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
? ? ? ? ? ? ? ? ? ? ? ?} else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be admin");
? ? ? ? ? ? ? ? ? ? ? ?} else return SendClientMessage(playerid, red, "Player is not connected");
? ? ? ? ? ? ? ?} else return SendClientMessage(playerid,red,"Error:You need to be AsL rank 9 to use this command");
? ? ? ?} else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
CMD:aslm(playerid, params[]) {
new string[128];
if(PlayerInfo[playerid][ASL] < 9) return SendClientMessage(playerid,red,"ERROR: You need to be AsL Managament to use this command");
if(isnull(params)) return SendClientMessage(playerid, 0xFF0000AA, "USAGE: /aslm [text]"); {
if(PlayerInfo[playerid][ASL] == 11)
format(string, sizeof(string), "{FF0000}[AsL Manager] - {FF0000}Master Assassin %s: {00FFFF}%s", PlayerName2(playerid), params[0] );
if(PlayerInfo[playerid][ASL] == 10)
format(string, sizeof(string), "{FF0000}[AsL Manager] - {FF0000}Leader Assassin %s: {00FFFF}%s", PlayerName2(playerid), params[0] );
if(PlayerInfo[playerid][ASL] == 9)
format(string, sizeof(string), "{FF0000}[AsL Manager] - {FF0000}Mentor %s: {00FFFF}%s", PlayerName2(playerid), params[0] );
for(new i, j = GetMaxPlayers(); i < j; i)
{
? ?if(!IsPlayerConnected(i)) continue;
? ? if(PlayerInfo[i][ASL] < 9) continue;
? ? SendClientMessage(i, -1, string);
}
}
return 1;
}
CMD:asl(playerid,params[]) {
? ?#pragma unused params
if(PlayerInfo[playerid][LoggedIn] == 1) {
? if(PlayerInfo[playerid][ASL] >= 1) {
? ? ? ?new string[128];
? ?if(PlayerInfo[playerid][ASL] == 11)
? ?format(string, sizeof(string), "{ff0000}[AsL - Master Assasin]{ff0000}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 10)
? ?format(string, sizeof(string), "{266de3}[AsL - Leader Assasin]{266de3}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 9)
? ?format(string, sizeof(string), "{9526e3}[AsL - Mentor]{9526e3}%s: %ss", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 8)
? ?format(string, sizeof(string), "{26d8e3}[AsL - Templar]{26d8e3}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 7)
? ?format(string, sizeof(string), "{26e32f}[AsL - Warrior]{26e32f}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 6)
? ?format(string, sizeof(string), "{9be32a}[AsL - Gladiator]{9be32a}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 5)
? ?format(string, sizeof(string), "{c6c434}[AsL - Mercenary]{c6c434}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 4)
? ?format(string, sizeof(string), "{f6ee10}[AsL - FootPad]{f6ee10}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 3)
? ?format(string, sizeof(string), "{f6b210}[AsL - Apprentice]{f6b210}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 2)
? ?format(string, sizeof(string), "{864e25}[AsL - Initiate]{864e25}%s: %s", PlayerName2(playerid), params[0] );
? ?if(PlayerInfo[playerid][ASL] == 1)
? ?format(string, sizeof(string), "{858483}[AsL - Recruit]|-%s-|{858483}%s: %s", PlayerName2(playerid), params[0] );
? ? ? ?MessageToASL(blue,string);
? ?} else return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX,"{17FA02}Assassin's Leagion", "You need to be higher AsL Level to use this command", "OK", "");
? ?} else return SendClientMessage(playerid,0xFF0000AA,"ERROR: You need to be Logged in to use this command");
? ?return 1;
}
CMD:osetasl(playerid,params[])
{
? ?if(PlayerInfo[playerid][ASL] < 9 ) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"ERROR","You need to be level AsL Member to use this command","OK","");
{
new file[256],string[120];
? ?new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
? ?if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /osetasl [name] [level]");
? ?if(isnull(tmp2)) return SendClientMessage(playerid, red, "ERROR: You must input a level");
? ?if(strval(tmp2) > 11) return SendClientMessage(playerid, red, "ERROR: Max AsL Rank is 12");
? ?format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(tmp));
? ?if(!fexist(file)) return SendClientMessage(playerid, red, "ERROR: that account don't even exist!");
? ?dini_Set(file,"ASL",tmp2);
? ?new year,month,day; ? getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
? ?format(string,sizeof(string),"You have set %s's AsL level to %s on %d/%d/%d at %d:%d:%d",tmp,tmp2 ,day, month, year, hour, minute, second );
? ?SendClientMessage(playerid,0x00FFFFAA,string);
? ?CMDMessageToASL(playerid, "OSETASL");
? ?}
? ?return 1;
}
CMD:setasl(playerid,params[]) {
if(PlayerInfo[playerid][LoggedIn] == 1) {
if(PlayerInfo[playerid][ASL] >= 9 || IsPlayerAdmin(playerid)) {
? ?new tmp[128], tmp2[128], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
? ?if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /setasl [playerid] [Rank]");
? ? new player1, level, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);
if(isnull(tmp2)) return SendClientMessage(playerid, red, "USAGE: /setasl [playerid] [Rank]");
level = strval(tmp2);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
if(PlayerInfo[player1][LoggedIn] == 1) {
if(level > 11 ) return SendClientMessage(playerid,red,"ERROR: Incorrect Rank");
if(level == PlayerInfo[player1][ASL]) return SendClientMessage(playerid,red,"ERROR: Player is already this Rank");
? ? ? MessageToAdmins(playerid,"SETASL"); CMDMessageToASL(playerid, "SETASL");
GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
? ? ? new year,month,day; ? getdate(year, month, day); new hour,minute,second; gettime(hour,minute,second);
if(level > 0) format(string,sizeof(string),"|- ASL leader %s has set you to AsL Member Rank Status | Rank: %d - %s -|",adminname, level);
else format(string,sizeof(string),"|- ASL leader %s has set you to AsL Member Rank Status | Rank: %d -|",adminname, level);
SendClientMessage(player1,blue,string);
if(level > PlayerInfo[player1][ASL]) GameTextForPlayer(player1,"~g~ASL Rank Promoted", 2000, 3);
else GameTextForPlayer(player1,"~g~ASL Rank Demoted", 2000, 3);
format(string,sizeof(string),"You have made %s Rank %d on %d/%d/%d at %d:%d:%d", playername, level, day, month, year, hour, minute, second); SendClientMessage(playerid,blue,string);
format(string,sizeof(string),"ASL leader %s has made %s Rank %d on %d/%d/%d at %d:%d:%d",adminname, playername, level, day, month, year, hour, minute, second);
SaveToFile("ASLMembersLog",string);
dUserSetINT(PlayerName2(player1)).("ASL",(level));
PlayerInfo[player1][ASL] = level;
return PlayerPlaySound(player1,1057,0.0,0.0,0.0);
} else return SendClientMessage(playerid,red,"ERROR: Player must be registered and logged in to be AsL Member");
} else return SendClientMessage(playerid, red, "Player is not connected");
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
} else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
CMDMessageToASL(playerid,command[])
{
new string[128];
GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"{47FFBC}[AsL Member] {00FF00}'%s' {47FFBC}(Rank: {00FF00}%d{47FFBC}) | Command: {00FF00}%s",string,PlayerInfo[playerid][ASL],command);
MessageToASL(-1,string);
return 1;
}
forward MessageToASL(color,const string[]);
public MessageToASL(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i)
{
if(IsPlayerConnected(i) == 1)
if(PlayerInfo[i][ASL] >= 1) {
if(PlayerInfo[i][LoggedIn] == 1) {
SendClientMessage(i, color, string); }
}
}
return 1;
}
and when I tried placing it to a filter script I have so many errors
Code: C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(112) : error 017: undefined symbol "ServerData"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(114) : error 017: undefined symbol "PlayerData"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(114) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(172) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(256) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(259) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(262) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(265) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(268) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(271) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(274) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(277) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(280) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(283) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(286) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(294) : error 017: undefined symbol "strtok"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(294) : error 033: array must be indexed (variable "tmp2")
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(307) : error 017: undefined symbol "pName"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(308) : error 017: undefined symbol "pName"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(314) : error 017: undefined symbol "pName"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(315) : error 017: undefined symbol "pName"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(316) : error 017: undefined symbol "SaveToFile"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(330) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(332) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(334) : error 017: undefined symbol "PlayerName2"
C:\Users\JACINTO\Downloads\Sean17\Script\Attack and Defend\filterscripts\groups.pwn(352) : error 017: undefined symbol "PlayerName2"
Compilation aborted.
Pawn compiler 3.10.4 Copyright (c) 1997-2006, ITB CompuPhase
26 Errors.
Please help me compile this, I'l really new and willing to learn
Here's my full filterscript if ever you guys need this
https://pastebin.com/FiqyXS5E
|
|
|
Get away from those single file gamemodes |
Posted by: Double-O-Seven - 2019-05-31, 06:48 PM - Forum: Questions and Suggestions
- Replies (11)
|
|
I just check out Github and saw that even the 3 example gamemodes are single files. I think you should lead as an example and implement examples in a modularized manner, no matter how small the gamemode. I think if SAMPs example had been more modularized from the beginning we wouldn?t have as many 60k line single file?abominations as we have today.
|
|
|
Plugin failed to load |
Posted by: Hype - 2019-05-31, 02:07 PM - Forum: Support
- Replies (2)
|
|
I'm trying to load compiled GDK map in plugin but it fails to load:
1. I followed all steps correctly, gamemode loads
2. I compiled plugin in x64 instead of x86 since I don't see option to compile it in x86.
3. I have all MS bullshit .dlls for server to run this plugin
My IDE is Microsoft Visual Studio.
There are no more options to choose.
https://imgur.com/a/JGQJQvH
|
|
|
|