GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: N@rbirock - 2012. március 16. - 15:25:43

Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 16. - 15:25:43
sok helyt látam setskin parancsot de nekem nem zcmd-sre van szükségem és sehogy nem tom átalakítani pls valaki írna egyet elöre is köszönöm
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 16. - 16:02:51
if (strcmp(\"/setskin\", cmdtext, true, 10) == 0)
{
new
   string[128],
   PID,
   SkinID;
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak)  (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
                SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}

 Tessék! :) Ha a másik fajtára gondoltál, amivel magadnak állítod, akkor szólj!
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 16. - 16:06:58
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2878) : error 017: undefined symbol \"params\"
Cím: /setskin id parancs nem zcmd
Írta: Zotyabuszos - 2012. március 16. - 16:08:11
Másik fajta:
 
  if(strcmp(cmd, \"/setskin\", true) == 0)
   {
       if(IsPlayerConnected(playerid))
       {
         tmp = strtok(cmdtext, idx);
         if(!strlen(tmp))
         {
            SendClientMessage(playerid, COLOR_RED, \"HASZNÁLAT: /setskin [Játékosnév/ID] [skin id]\");
            return 1;
         }
         new para1;
         new level;
         para1 = ReturnUser(tmp);
         tmp = strtok(cmdtext, idx);
         level = strval(tmp);
         if(level > 299 || level < 1) { SendClientMessage(playerid, COLOR_GREY, \"Skin ID nem megfelelõ!\"); return 1; }
             if(IsPlayerConnected(para1))
             {
                 if(para1 != INVALID_PLAYER_ID)
                 {
                  GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                  GetPlayerName(playerid, sendername, sizeof(sendername));
                  PlayerInfo[para1][pChar] = level;
                  format(string, sizeof(string), \"Átállítottad  %s skinét erre: %d.\", giveplayer,level);
                  SendClientMessage(playerid, COLOR_WHITE, string);
                   SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
               }
            }
         else
         {
            SendClientMessage(playerid, COLOR_GRAD1, \" A játékos nem elérhetõ!\");
         }
      }
      return 1;
   }
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 16. - 16:09:37
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2871) : warning 217: loose indentation
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2871) : error 017: undefined symbol \"cmd\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2875) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2875) : error 017: undefined symbol \"strtok\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2876) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2883) : error 017: undefined symbol \"ReturnUser\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2884) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2884) : error 017: undefined symbol \"strtok\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2885) : error 017: undefined symbol \"tmp\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2887) : warning 217: loose indentation
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : error 017: undefined symbol \"giveplayer\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : error 017: undefined symbol \"giveplayer\"
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : error 029: invalid expression, assumed zero
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(2891) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
12 Errors.
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 16. - 16:11:48
Jah, tényleg jut eszembe, asszem, hogy strcmp-ben nem lehet sscanfot használni, akkor sorry.
Cím: /setskin id parancs nem zcmd
Írta: Zotyabuszos - 2012. március 16. - 16:12:16
OnPlayerCommandText-hez ezeket tedd be:
[pawn]
   new string[256];
   new sendername[MAX_PLAYER_NAME];
   new giveplayer[MAX_PLAYER_NAME];
   new playername[MAX_PLAYER_NAME];
   new cmd[256];
   new tmp[256];
   new idx;
   cmd = strtok(cmdtext, idx);[/pawn]
Ezt pedig tedd a módba :
[pawn]
strtok(const string[], &index)
{
   new length = strlen(string);
   while ((index < length) && (string[index] <= \' \'))
   {
      index++;
   }
   new offset = index;
   new result[20];
   while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
   {
      result[index - offset] = string[index];
      index++;
   }
   result[index - offset] = EOS;
   return result;
}[/pawn]
Cím: /setskin id parancs nem zcmd
Írta: Kovacs_Bela - 2012. március 16. - 16:16:02
our einstein!
 

CMD:setskin(playerid,params)
{
    if(IsPlayerAdmin(playerid))
    {
        new toplayerid,skinid;
        if(sscanf(params,\"ui\",toplayerid,skinid))
        {
             SetPlayerSkin(toplayerid,skinid);
        }
        else SendClientMessage(playerid,0xff0000ff,\"Használat: /setskin [iD/NÉV] [sKINID]\");
    }
    return 1;
}

 
szerintem ez így jó lesz.. kell hozzá zcmd.inc és az sscanf
Cím: /setskin id parancs nem zcmd
Írta: CANNONN - 2012. március 16. - 16:19:17
Ember.
 
de nekem nem zcmd-sre van szükségem[/quote]
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 16. - 16:20:26
nem lehet hogy    if (strcmp(\"/setskin\", cmdtext, true) == 0) mert a töbi parancs is igy van
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 21. - 17:56:55
megoldotam dcmdvel
[pawn]dcmd_setskin(playerid, params[])
{
   new
      string[128],
      PID,
      SkinID;
   if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
   if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
   if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
   SetPlayerSkin(PID, SkinID);
   format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak)  (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
       SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}[/pawn]
de warning
D:\\Trucking_Server_2.0\\gamemodes\\Truck.pwn(3326) : warning 217: loose indentation
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
1 Warning.
a return1; re
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 21. - 18:29:11
dcmd_setskin(playerid, params[])
{
new
   string[128],
   PID,
   SkinID;
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak)  (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
   SendClientMessage(playerid, 0x33FF33AA, string);
        return 1;
}
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 21. - 18:31:41
megjavult de nem megy a parancs nem tudjátok
   dcmd(setskin,4,cmdtext);

 ide hányas kell mer lehet ez a baj
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 21. - 18:36:33
Nincs megint eltololdva a \'return 1;\' ? Mert néha úgy másolja ki innen. Mást akkor nemtudok o_O
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 21. - 18:59:20
most átértem zcmd-re de igy se jó
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 21. - 19:09:31
Nekem így hibátlan:
 
CMD:setskin(playerid, params[])
{
new
   string[128],
   PID,
   SkinID;
                if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak)  (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
   SendClientMessage(playerid, 0x33FF33AA, string);
                return 1;
}
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 21. - 19:19:37
igy se megy és van egy bilincs parancs az se megy
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 21. - 19:21:36
Másold be!
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 21. - 19:29:09
CMD:setskin(playerid, params[])
{
new
   string[128],
   PID,
   SkinID;
if(sscanf(params, \"ui\", PID, SkinID)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /setskin <ID/Játékosnév> <Skin ID>\");
        if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
if(SkinID < 0 || SkinID > 299) return SendClientMessage(playerid, 0xFF0000AA, \"Rossz Skin ID!\");
SetPlayerSkin(PID, SkinID);
format(string, sizeof(string), \"Átállítottad %s(%i)-nek(nak)  (ID: %d)-ra(re) a skinjét\", SkinID, PID, playerid);
   SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}
CMD:bilincs(playerid, params[])
{
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
{
        new giveplayerid, string[128], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xFF0000FF, \"Használat: /bilincs  <playerid>\");
else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000FF, \"Hiba: Nincs ilyen játékos!\");
else{
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(giveplayerid, name2, sizeof(name2));
format(string, sizeof string, \"{00bbff}[RENDÕR,%s]:{008a20} Megbilincselte {ff0000}%s-t!\", name, name2);
        SendClientMessageToAll(0xB3D5B2AA,string);
        TogglePlayerControllable(giveplayerid,0);
        }
}
return 1;
}
CMD:levesz(playerid, params[])
{
if(PInfo[playerid][Level] < 2) return SendClientMessage(playerid,red,error);
{
        new giveplayerid, string[128], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
       if (sscanf(params, \"u\", giveplayerid)) SendClientMessage(playerid, 0xFF0000FF, \"Használat: /levesz <playerid>\");
else if (giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000FF, \"Hiba: Nincs ilyen játékos!\");
else{
GetPlayerName(playerid, name, sizeof(name));
GetPlayerName(giveplayerid, name2, sizeof(name2));
format(string, sizeof string, \"{00bbff}[RENDÕR,%s]:{008a20} Levette a bilincset {ff0000}%s{008a20}-ról/rõl.\", name,name2);
        SendClientMessageToAll(0xFF0000FF,string);
        TogglePlayerControllable(giveplayerid,1);
          }
}
return 1;
}

 
ez a 3 parancs nem megy a töbi mind megy
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 21. - 19:43:31
Esetleg nem az OnPlayerCommandText alatt vannak? Vagy rossz helyen, mert ezek jónak tûnnek, így látásra.
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 21. - 19:45:06
nem a fölöt vanak
Cím: /setskin id parancs nem zcmd
Írta: Gabor.. - 2012. március 21. - 20:07:01
Akkor nemtudom o_O
Cím: /setskin id parancs nem zcmd
Írta: Casamiro - 2012. március 22. - 11:34:13
Idézetet írta: N@rbirock date=1332351101\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18588\" data-ipsquote-contentclass=\"forums_Topic
megjavult de nem megy a parancs nem tudjátok
   dcmd(setskin,4,cmdtext);

 ide hányas kell mer lehet ez a baj
 
Igen ez a baj. Ezt az OnPlayerCommandText callback alá tedd be. A 4 -es helyére pedig a setskin karakterszámát írd be, tehát:
dcmd(setskin, 7, cmdtext);
Cím: /setskin id parancs nem zcmd
Írta: N@rbirock - 2012. március 22. - 14:22:57
de már átértem zcmd-re