olegfake |
Дата: Воскресенье, 28.07.2013, 23:45 | Сообщение # 1
|
Боец
Сообщений: 177
Статус: Offline
|
Вот примерный код команды выдачи объекта Samp-Rp написанный для мода RLS, кривой и без оптимизации ( на момент написания только учился Pawno так что извеняйте ):
Код else if(strcmp(cmd, "/hbject", true) == 0) { if (PlayerInfo[playerid][pAdmin] >= 5) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new playa = ReturnUser(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new index = strval(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new modelid = strval(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new bone = strval(tmp); tmp = strtok(cmdtext,idx); if(bone <1||bone > 18){SendClientMessage(playerid,COLOR_GRAD1,"Параметр кость можно использовать только от 1 до 18"); return 1; } new Float: fOffsetX = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fOffsetY = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fOffsetZ = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fRotX = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fRotY = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fRotZ = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fScaleX = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fScaleY = floatstr(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /hbject [ID игрока] [слот] [объект] [кость] [X] [Y] [Z] [aX] [aY] [aZ] [bX] [bY] [bZ]"); new Float: fScaleZ = floatstr(tmp); { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { SetPlayerAttachedObject(playa, index, modelid, bone, fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ ,fScaleX, fScaleY, fScaleZ); GetPlayerName(playa,giveplayer,sizeof(giveplayer)); format(string, sizeof(string),"Вы прикрепили объект №%d игроку %s на слот №%d",modelid,giveplayer,index); SendClientMessage(playerid,COLOR_WHITE,string); } } else { SendClientMessage(playerid,COLOR_GREY,"Игрок оффлайн"); return 1; } } } return 1; }
Так же имеется команду удаления объектов:
Код else if(strcmp(cmd, "/unhbject", true) == 0) { if (PlayerInfo[playerid][pAdmin] >= 5) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /unhbject [id игрока] [слот объекта]"); new playa = ReturnUser(tmp); tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"Используйте: /unhbject [id игрока] [слот объекта]"); new index = strval(tmp); { if(IsPlayerConnected(playa)) { if(playa != INVALID_PLAYER_ID) { RemovePlayerAttachedObject(playa, index); GetPlayerName(playa,giveplayer,sizeof(giveplayer)); format(string, sizeof(string),"Вы удалили прикреплённый объект игроку %s на слоте №%d",giveplayer,index); SendClientMessage(playerid, COLOR_WHITE, string); } } else { SendClientMessage(playerid,COLOR_GREY,"Игрок оффлайн"); } } } return 1; }
Автором данного кода являюсь я...
Всем добра =))
|
|
|
|
Голубь |
Дата: Среда, 31.07.2013, 10:28 | Сообщение # 2
|
Авторитет
Сообщений: 2137
Статус: Offline
|
/unhbject - на самп рп такого нет Цитата (olegfake) format(string, sizeof(string),"Вы прикрепили объект №%d игроку %s на слот №%d",modelid,giveplayer,index); SendClientMessage(playerid,COLOR_WHITE,string); - на самп рп такого нет
двач https://vk.com/povargek
|
|
|
|