SA-MP Forums Archive
Simple Freeze Command Bugs... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Simple Freeze Command Bugs... (/showthread.php?tid=278204)



Simple Freeze Command Bugs... - $India$ - 21.08.2011

pawn Code:
CMD:freeze(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        new PyrID, name[128], pname[128], str[128];
        GetPlayerName(playerid, name, sizeof(name));
        GetPlayerName(PyrID, pname, sizeof(pname));
        if(!sscanf(params,"u", PyrID))
        {
            if(IsPlayerConnected(PyrID))
            {
                if(PlayerInfo[PyrID][pFrozen] == 0)
                {
                    TogglePlayerControllable(PyrID,0);
                    PlayerInfo[PyrID][pFrozen] = 1;
                    format(str, sizeof(str),"You have been frozen by Admin %s", name);
                    SendClientMessage(PyrID, ADMIN, str);
               
                    format(str, sizeof(str),"You have frozen %s", pname);
                    SendClientMessage(playerid, ADMIN, str);
                }
                else SendClientMessage(playerid, ERROR,"That player is already Frozen.");
            }
            else SendClientMessage(playerid, ERROR,"Invalid Player.");
        }
        else SendClientMessage(playerid, ERROR,"Usage: /freeze [Playerid]");
    }
    else SendClientMessage(playerid, ERROR,"You are not authorized to use that command.");
    return 1;
}

CMD:unfreeze(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        new PyrID, name[128], pname[128], str[128];
        GetPlayerName(playerid, name, sizeof(name));
        GetPlayerName(PyrID, pname, sizeof(pname));
        if(!sscanf(params,"u", PyrID))
        {
            if(IsPlayerConnected(PyrID))
            {
                if(PlayerInfo[PyrID][pFrozen] == 1)
                {
                    TogglePlayerControllable(playerid,1);
                    PlayerInfo[PyrID][pFrozen] = 0;
                    format(str, sizeof(str),"You have been unfrozen by Admin %s", name);
                    SendClientMessage(PyrID, ADMIN, str);
               
                    format(str, sizeof(str),"You have unfreezed %s", pname);
                    SendClientMessage(playerid, ADMIN, str);
                }
                else SendClientMessage(playerid, ERROR,"That player is not frozen.");
            }
            else SendClientMessage(playerid, ERROR,"Invalid Player.");
        }
        else SendClientMessage(playerid, ERROR,"Usage: /unfreeze [Playerid]");
    }
    else SendClientMessage(playerid, ERROR,"You are not authorized to use that command.");
    return 1;
}

The other player cannot unfreeze other Player and The name bug that it should its name you can test it and i can show you bug.


Re: Simple Freeze Command Bugs... - Backwardsman97 - 21.08.2011

Try this.

http://pastebin.com/7e46sQ2r


Re: Simple Freeze Command Bugs... - antonio112 - 21.08.2011

Use GetPlayerName, under TogglePlayerControllable:

pawn Code:
TogglePlayerControllable(PyrID,0);
GetPlayerName(PyrID, pname, sizeof(pname));
The idea is that you tried to getplayername, before defining what's 'PyrID'.


Re: Simple Freeze Command Bugs... - Kush - 21.08.2011

PHP Code:
CMD:freeze(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1"You are not authorized to use that command!");
    new 
idnameuserstring[128];
    if(
sscanf(params"u"id)) return SendClientMessage(playerid, -1"USAGE: /freeze [playerid]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"Player is not connected!");
    
GetPlayerName(idnamesizeof(name));
    
GetPlayerName(playeridusersizeof(user));
    if(
PlayerInfo[id][pFrozen] == 1) return SendClientMessasge(playerid, -1"The player is already frozen!");
    
TogglePlayerControllable(id0);
    
PlayerInfo[id][pFrozen] = 1;
     
format(stringsizeof(string),"You have been frozen by Admin %s"user);
      
SendClientMessage(id, -1string);
    
format(stringsizeof(string),"You have frozen %s"name);
     
SendClientMessage(playerid, -1string);
     return 
1;

PHP Code:
CMD:unfreeze(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1"You are not authorized to use that command!");
    new 
idnameuserstring[128];
    if(
sscanf(params"u"id)) return SendClientMessage(playerid, -1"USAGE: /unfreeze [playerid]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"Player is not connected!");
    
GetPlayerName(idnamesizeof(name));
    
GetPlayerName(playeridusersizeof(user));
    if(
PlayerInfo[id][pFrozen] == 0) return SendClientMessasge(playerid, -1"The player is already frozen!");
    
TogglePlayerControllable(id1);
    
PlayerInfo[id][pFrozen] = 0;
     
format(stringsizeof(string),"You have been unfrozen by Admin %s"user);
      
SendClientMessage(id, -1string);
    
format(stringsizeof(string),"You have unfrozen %s"name);
     
SendClientMessage(playerid, -1string);
     return 
1;

That should work.


Re: Simple Freeze Command Bugs... - Devilxz97 - 12.02.2012

i try it but i got 4 error wth . . =="

C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : error 017: undefined symbol "PlayerInfo"
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : warning 215: expression has no effect
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : error 001: expected token: ";", but found "]"
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : error 029: invalid expression, assumed zero
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.


Re: Simple Freeze Command Bugs... - ReneG - 12.02.2012

Quote:
Originally Posted by Devilxz97
View Post
i try it but i got 4 error wth . . =="

C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : error 017: undefined symbol "PlayerInfo"
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : warning 215: expression has no effect
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : error 001: expected token: ";", but found "]"
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : error 029: invalid expression, assumed zero
C:\Users\user\Desktop\Sa-mp\admin.pwn(312) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Copy/paste line 312 of your script.


Re: Simple Freeze Command Bugs... - Shouty - 26.06.2012

Try this....Is the same but i thin it will work . In my server works

Code:
#include <zcmd>

#define SCM SendClientMessage

new Freeze[MAX_PLAYERS];

COMMAND:freeze(playerid,params[])
{
    new id;
    new Admin[24];
    new string[256];
    GetPlayerName(playerid,Admin,24);
    if(PlayerInfo[playerid][pAdminLevel] <2) return SCM(playerid,COLOR,"(  ! ) You need to bee level 2");
    if(sscanf(params,"u",id)) return SendClientMessage(playerid,COLOR_GREY,"USE:/freeze [id]");
    if(Freeze[id] == 1) return SCM(playerid,COLOR,"( ! ) Player is alerty frozen");
    if(!IsPlayerConnected(id)) return SCM(playerid, COLOR, "( ! ) Player not connected");
    TogglePlayerControllable(id,0);
    Freeze[id] =1;
    format(string,sizeof(string),"( ! ) Admin %s freeze u ",Admin);
    SCM(id,COLOR,string);
    return 1;
}
Sry for my bad english


Re: Simple Freeze Command Bugs... - Elysian` - 26.06.2012

You have just bumped a 4 month old thread. ¬_¬ *sigh*.