COMMAND:carsign(playerid, params[]) { if(GetPVarInt(playerid, "PlayerLogged") == 0) return SendClientMessage(playerid, COLOR_WHITE, "请先登录游戏."); if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_WHITE, "你需要为驾驶位!"); if(GetPVarInt(playerid, "Duty") != 1) return SendClientMessage(playerid, COLOR_WHITE, "你不可以在下班的时候使用这个指令."); //if(VehicleInfo[GetPlayerVehicleID(playerid)][vType] != VEHICLE_LSPD) return SendClientMessage(playerid, COLOR_WHITE, "你需要在警车内使用."); if(GetPVarInt(playerid, "Delay") > GetCount()) return SendClientMessage(playerid, COLOR_LIGHTRED, "你必须等一会才能使用!"); new txt[128]; new Carsign[128]; if(sscanf(params, "s[128]", txt)) { SendClientMessage(playerid, COLOR_GREY, "用法: /carsign [内容]"); } else { if((GetPVarInt(playerid, "Member") == 1 && GetPVarInt(playerid, "Rank") >= 2) || GetPVarInt(playerid, "Member") == 2 || GetPVarInt(playerid, "Member") == 8 || GetPVarInt(playerid, "Member") == 6) { SetPVarInt(playerid, "Delay", GetCount()+2000); new getcar = GetPlayerVehicleID(playerid); if(VehicleInfo[getcar][vUText] == 0) { FixText(txt); format(Carsign, 128, "%s", ColouredText(txt)); VehicleInfo[getcar][vCText] = CreateDynamic3DTextLabel(Carsign, -1, -0.8, -2.8, -0.3, 15.0, INVALID_PLAYER_ID, getcar); //Attach3DTextLabelToVehicle(VehicleInfo[getcar][vCText], getcar, -0.8, -2.8, -0.3); strcat(txtcarsign[getcar], Carsign); SetPVarInt(playerid, "labeltxt", 1); IsPlayerCarHadLabel[playerid][getcar] = true; scm(playerid, -1, "车标添加成功!请输入/removecarsign删除编号!"); VehicleInfo[getcar][vUText]= 1; } else { VehicleInfo[getcar][vUText]= 0; DestroyDynamic3DTextLabel(VehicleInfo[getcar][vCText]); scm(playerid, -1, "车标移除成功!"); DeletePVar(playerid, "Carsign"); DeletePVar(playerid, "labeltxt"); IsPlayerCarHadLabel[playerid][getcar] = false; } } else { SendClientMessage(playerid, COLOR_LIGHTRED, "你没有权限使用该指令!"); } } return 1; } CarSignTextLabel(playerid) { if(IsPlayerConnected(playerid)) { if(GetPVarInt(playerid, "labeltxt") == 1) { new getcar = GetPlayerVehicleID(playerid); VehicleInfo[getcar][vUText]=1; VehicleInfo[getcar][vCText] = CreateDynamic3DTextLabel(txtcarsign[getcar], -1, -0.8, -2.8, -0.3, 15.0, INVALID_PLAYER_ID, getcar); //Attach3DTextLabelToVehicle(VehicleInfo[getcar][vCText], getcar, -0.8, -2.8, -0.3); } } } COMMAND:removecarsign(playerid, params[]) { if (GetPVarInt(playerid, "PlayerLogged") == 0) return SendClientMessage(playerid, COLOR_WHITE, "请先登录游戏."); if(GetPVarInt(playerid, "Duty") != 1) return SendClientMessage(playerid, COLOR_WHITE, "你不可以在下班的时候使用这个指令."); new getcar = GetPlayerVehicleID(playerid); { //if(IsPlayerCarHadLabel[playerid][car] == true) { //new getcar = GetPlayerVehicleID(playerid); DestroyDynamic3DTextLabel(VehicleInfo[getcar][vCText]); VehicleInfo[getcar][vUText] = 0; scm(playerid, -1, "车标移除成功!"); DeletePVar(playerid, "Carsign"); DeletePVar(playerid, "labeltxt"); IsPlayerCarHadLabel[playerid][getcar] = false; //} } return 1; } COMMAND:removeallcarsign(playerid, params[]) { if (GetPVarInt(playerid, "PlayerLogged") == 0) return SendClientMessage(playerid, COLOR_WHITE, "请先登录游戏."); if(GetPVarInt(playerid, "Admin") == 0) return SendClientMessage(playerid, COLOR_WHITE, "你没有权限使用这个指令."); foreach(new car: Vehicle) { //if(IsPlayerCarHadLabel[playerid][car] == true) { //new getcar = GetPlayerVehicleID(playerid); DestroyDynamic3DTextLabel(VehicleInfo[car][vCText]); VehicleInfo[car][vUText] = 0; //IsPlayerCarHadLabel[playerid][car] = false; //} } return 1; }
public OnPlayerConnect(playerid) { if(IsPlayerNPC(playerid)) { new ip[128]; GetPlayerIp(playerid, ip, sizeof(ip)); if(strcmp(ip, CFG_IP, true) != 0) { KickPlayer(playerid, "你涉嫌使用BOT软件被踢出!"); } SetPlayerColor(playerid, COLOR_WHITE); return 1; } forEx(new a = 0; a < MAX_PLAYER_BLEEDS; a++) PlayerData[playerid][BleedObject][a] = INVALID_OBJECT_ID; takingselfie[playerid] = 0; GetPlayerName(playerid, PlayerInfo[playerid][pUsername], MAX_PLAYER_NAME); format(PlayerInfo[playerid][pName], MAX_PLAYER_NAME, "%s", PlayerInfo[playerid][pUsername]); GiveNameSpace(PlayerInfo[playerid][pName]); ResetPlayerWeapons(playerid); //==============================// CancelSelectTextDraw(playerid); SetPlayerTime(playerid, GMHour, GMMin); SetPlayerColor(playerid, COLOR_GREY); //==============================// if(!NameIsRP(PlayerName(playerid))) { KickPlayer(playerid, "该名字无法成立于角色扮演服务器, 请保证格式为: 名称_姓氏!"); scm(playerid, COLOR_LIGHTRED, "该名字无法接受."); return 1; } //==============================// new string[128]; GetPlayerVersion(playerid, string, 128); if(strcmp(string, CFG_VERSION, true) != 0) { KickPlayer(playerid, "SA-MP版本不对!"); return true; } //重置汽修 for(new i = 0; i < 3; i++) RepairService[playerid][i] = 0; RepairOffer[playerid] = INVALID_PLAYER_ID; VehicleToRepair[playerid] = INVALID_VEHICLE_ID; OldVehicle[playerid] = INVALID_VEHICLE_ID; RepairTime{playerid} = 0; GettingRepair{playerid} = false; //end SprayPerm[playerid] = 0; KillTimer( spraytimer[playerid] ); sprayammount[playerid] = 0; DeletePVar( playerid,"GraffitiCreating" ); // Deleting the PVAR afterwards sprayammountch[playerid] = 0; graffmenup[playerid] = 0; LoadVehicleSpeedoTextdraws(playerid); BreakinCD[playerid] = false; SetPVarInt(playerid, "Flashlight_Type", INVALID_MAXPL); SetPVarInt(playerid, "IsUsingFlashLight", INVALID_MAXPL); gAntiRadar{playerid} = 0; gAntiRadarAuto{playerid} = 0; gAntiRadarBeep{playerid} = 0; gDashCam{playerid} = 0; gDashCamAuto{playerid} = 0; oocname[playerid] = "None"; SetPVarInt(playerid,"EndOfBL",INVALID_MAXPL); SetPVarInt(playerid,"usingPayphone",-1); chatanim[playerid] = 1; curPopVar[playerid] = 0; curPopVarEx[playerid] = 0; SetPVarInt(playerid, "AllowShowBlood", 0); SetPVarInt(playerid, "Speedo", 1); checkpoint[playerid]=0; SetPVarInt(playerid, "AC_KillESC", INVALID_MAXPL); SetPVarInt(playerid, "Laser", INVALID_MAXPL); AmountOfShakes[playerid] = 0; SetPVarInt(playerid, "CanEatMeal", 0), SetPVarInt(playerid, "FoodLoop", 0); justreported[playerid] = 0; AcceptingAdminID[playerid] = -1; PlayerThatReported[playerid] = -1; LoadPlayerClothes(playerid); SetPVarInt(playerid, "Decomping", 0); SetPVarInt(playerid, "WantedCar", 0); SetPVarInt(playerid, "DropCarCD", 0); SetPVarInt(playerid, "DropOffing", 0); //==============================// //SetPlayerVirtualWorld(playerid, INVALID_MAXPL); //==============================// SetPVarInt(playerid, "InviteOffer", INVALID_MAXPL); SetPVarInt(playerid, "RefillOffer", INVALID_MAXPL); SetPVarInt(playerid, "RepairOffer", INVALID_MAXPL); SetPVarInt(playerid, "ShakeOffer", INVALID_MAXPL); SetPVarInt(playerid, "BlindOffer", INVALID_MAXPL); SetPVarInt(playerid, "VehicleOffer", INVALID_MAXPL); SetPVarInt(playerid, "Drag", INVALID_MAXPL); SetPVarInt(playerid, "Mobile", INVALID_MAXPL); SetPVarInt(playerid, "HouseOffer", INVALID_MAXPL); SetPVarInt(playerid, "BizzOffer", INVALID_MAXPL); SetPVarInt(playerid, "LiveOffer", INVALID_MAXPL); SetPVarInt(playerid, "DragOffer", INVALID_MAXPL); PlayerInfo[playerid][pLiveOffer][0]=0; PlayerInfo[playerid][pLiveOffer][1]=0; PlayerInfo[playerid][pSpeedDelay]=0; PlayerInfo[playerid][pBalling]=0; PlayerInfo[playerid][pBallTeam]=0; PlayerInfo[playerid][pBallDef]=0; PlayerInfo[playerid][DunkDelay]=0; PlayerInfo[playerid][BallDelay]=0; PlayerInfo[playerid][pPeeping]=0; PlayerInfo[playerid][pFishing]=0; PlayerInfo[playerid][pSerialBan]=0; PlayerInfo[playerid][pForbid]=0; PlayerInfo[playerid][pKeyDelay]=0; PlayerInfo[playerid][pInVehicle]=-1; PlayerInfo[playerid][pArmour]=0.0; PlayerInfo[playerid][pAHSkip]=0; PlayerInfo[playerid][pLastPrim]=-1; PlayerInfo[playerid][pLastSec]=-1; PlayerInfo[playerid][pLastMelee]=-1; forEx(new i=0; i < 6; i++) { CarKeys[playerid][i] = 0; } //==============================// strmid(PlayerInfo[playerid][pAudioUrl], "NULL", 0, strlen("NULL"), 255); strmid(PlayerInfo[playerid][pCellname], "None", 0, strlen("None"), 255); strmid(PlayerInfo[playerid][pDescribe], "None", 0, strlen("None"), 255); strmid(PlayerInfo[playerid][pDescribe2], "None", 0, strlen("None"), 255); strmid(PlayerInfo[playerid][pAdText], "None", 0, strlen("None"), 255); strmid(PlayerInfo[playerid][pMarriedTo], "None", 0, strlen("None"), 255); forEx(new i = 0; i < MAX_INV_SLOTS; i++) { PlayerInfo[playerid][pInvItem][i]=0; PlayerInfo[playerid][pInvQ][i]=0; PlayerInfo[playerid][pInvEx][i]=0; } PlayerInfo[playerid][pPlayerWeapon]=0; PlayerInfo[playerid][pPlayerAmmo]=0; PlayerInfo[playerid][pSerial]=0; PlayerInfo[playerid][pAmmoType]=0; PlayerInfo[playerid][pDelay]=0; PlayerInfo[playerid][pBuyDialog]=0; BuildIntroTextDraws(playerid); BuildWheelMenu(playerid); BuildFishingTextdraws(playerid); //Delete3DTextLabel(PlayerTag[playerid]); //Delete3DTextLabel(NameLabel[playerid]); //Delete3DTextLabel(HPBar[playerid]); //Delete3DTextLabel(ARBar[playerid]); // Load MDC TextDraws: mdc_LoadPlayerTextdraws(playerid); //Remove buildings earlier. RemoveBuildings(playerid); //地震 //ConnectEarthquake(playerid); DeathStyle[playerid] = 0; varHits[playerid] = 0; checkHits[playerid] = 0; BrokenLegs[playerid] = 0; BrokenHands[playerid] = 0; CheckPlayerFor******[playerid] = 0; AC_Status[playerid][ac_PosX] = 0; AC_Status[playerid][ac_PosY] = 0; AC_Status[playerid][ac_PosZ] = 0; AC_Status[playerid][ac_Angle] = 0; AC_Status[playerid][ac_Weapons] = 0; AC_Status[playerid][ac_Ammo] = 0; return 1; }
public OnPlayerDisconnect(playerid, reason) { if(IsPlayerNPC(playerid)) return 1; new string[128], sendername[MAX_PLAYER_NAME], query[128]; if(GetPVarInt(playerid, "Mobile") != INVALID_MAXPL) { if(IsPlayerConnected(GetPVarInt(playerid, "Mobile")) && GetPVarInt(GetPVarInt(playerid, "Mobile"), "Mobile") == playerid) { CallRemoteFunction("LoadRadios","i", GetPVarInt(playerid, "Mobile")); SendClientMessage(GetPVarInt(playerid, "Mobile"),COLOR_GREY,"电话断线了..."); if(GetPlayerSpecialAction(GetPVarInt(playerid, "Mobile")) == SPECIAL_ACTION_USECELLPHONE) CellphoneState(GetPVarInt(playerid, "Mobile"),2); SetPVarInt(GetPVarInt(playerid, "Mobile"), "Mobile", INVALID_MAXPL); cancelPayphone(GetPVarInt(playerid, "Mobile")); } SetPVarInt(playerid, "Mobile", INVALID_MAXPL); } SetPVarInt(playerid, "Flashlight_Type", 0); SetPVarInt(playerid, "IsUsingFlashLight", 0); SavePlayerClothes(playerid); cancelPayphone(playerid); SetPVarInt(playerid, "AC_KillESC", 0); checkpoint[playerid] = 0; KillTimer(ac_checkTimer[playerid]); DeletePVar(playerid,"Signal"); DeletePVar(playerid,"TowerID"); DeletePVar(playerid,"TowerDistance"); SetPVarInt(playerid, "AllowShowBlood", 0); SetPVarInt(playerid, "Speedo", 1); SetPVarInt(playerid, "Laser", 0); SetPVarInt(playerid, "CanEatMeal", 0),SetPVarInt(playerid, "FoodLoop", 0); BreakinCD[playerid] = false; AmountOfShakes[playerid] = 0; SprayPerm[playerid] = 0; KillTimer( spraytimer[playerid] ); sprayammount[playerid] = 0; DeletePVar( playerid,"GraffitiCreating" ); // Deleting the PVAR afterwards sprayammountch[playerid] = 0; graffmenup[playerid] = 0; KillTimer(ScrapTimer[playerid]); DeletePVar(playerid, "WantedCar"); DeletePVar(playerid, "DropOff_X"); DeletePVar(playerid, "DropOff_Y"); DeletePVar(playerid, "DropOff_Z"); DeletePVar(playerid, "DropOffing"); DeletePVar(playerid, "Decompos_X"); DeletePVar(playerid, "Decompos_Y"); DeletePVar(playerid, "Decompos_Z"); DeletePVar(playerid, "Decomping"); if(gDashCam{playerid} == 1) { KillTimer(gDashCamCheck[playerid]); gDashCam{playerid} = 0; } if(gAntiRadar{playerid} == 1) { KillTimer(gAntiRadarCheck[playerid]); gAntiRadar{playerid} = 0; } if(VehicleInfo[GetPVarInt(playerid, "RentKey")][vType] == VEHICLE_RENTAL) { DespawnVehicle(GetPVarInt(playerid, "RentKey")); DeletePVar(playerid, "RentKey"); } // 玩家登出后1个小时刷车 foreach(new v : Vehicle) /*{ if(PlayerOwnsVehicle(playerid, v)) { VehicleInfo[v][vDespawnTimer] = SetTimerEx("DespawnPlayerVehicle", 3600000, false, "i", v); } }*/ KillTimer(DeathTimer[playerid]); PlayerInfo[playerid][pOffReg] = 0; switch(GetPVarInt(playerid, "PlayerLogged")) { case 1: { format(query, sizeof(query), "UPDATE `accounts` SET `Online` = 0 WHERE `Name`='%s'", PlayerName(playerid)); mysql_tquery(handlesql, query); format(sendername, sizeof(sendername), "%s", PlayerName(playerid)); GiveNameSpace(sendername); switch(reason) { case 0: { format(string, sizeof(string), "(服务器): %s 离开了游戏, (原因): 崩溃.", sendername); SetPVarInt(playerid, "Crash", 1), SetPVarInt(playerid, "Crashes", GetPVarInt(playerid, "Crashes")+1); } case 1: { format(string, sizeof(string), "(服务器): %s 离开了游戏, (原因): 退出.", sendername); if(GetPVarInt(playerid, "Cuffed") == 0) { SetPVarInt(playerid, "SpawnLocation", 1); } } case 2: format(string, sizeof(string), "(服务器): %s 离开了游戏, (原因): 踢出/封禁.", sendername); } if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) ProxDetector(20.0, playerid, string, COLOR_LIGHTRED); //==========// TextDrawDestroy(MoneyDraw[playerid]); TextDrawDestroy(LocationDraw[playerid]); PlayerTextDrawDestroy(playerid, PayTDraw[playerid]); //==========// if(GetPVarInt(playerid, "VD") == 1) { forEx(new i; i < 5; i++) { TextDrawHideForPlayer(playerid, VehicleDraw[i]); } forEx(new i; i < 2; i++) { TextDrawHideForPlayer(playerid, VehicleIDraw[i][playerid]); TextDrawDestroy(VehicleIDraw[i][playerid]); } DeletePVar(playerid, "VD"); } //==========despawn govcar// new member = GetPVarInt(playerid, "Member"); if(member == 1 || member== 2 || member == 3 || member == 4 || member == 5 || member == 6 || member == 8) { if(reason == 1) { foreach(new car : Vehicle) { //delete carsign if(IsPlayerCarHadLabel[playerid][car] = true){ new getcar = GetPlayerVehicleID(playerid); DestroyDynamic3DTextLabel(VehicleInfo[getcar][vCText]); VehicleInfo[getcar][vUText] = 0; IsPlayerCarHadLabel[playerid][car] = false; } if(CopInfo[car][Created] == 1) { if(strcmp(CopInfo[car][Owner], PlayerName(playerid), true) == 0) { VehicleInfo[car][vType] = VEHICLE_NONE; CopInfo[car][Created] = 0; DespawnVehicle(car); forEx(new i = 0; i < 2; i++) { CopInfo[car][Gun_Rack_Weapon][i] = 0; CopInfo[car][Gun_Rack_Ammo][i] = 0; CopInfo[car][Gun_Rack_E][i] = 0; CopInfo[car][Gun_Rack_Serial][i] = 0; } return 1; } } } } } //==========// DisconnectSet(playerid); CallRemoteFunction("OnPlayerDataSave", "i", playerid); } case 2: { DestroyIntoTextDraws(playerid); } } //ADDED BY DEVELOPER Asomething I motherfucking forgot. if(GetPVarInt(playerid, "labeltxt") == 1) { SetPVarInt(playerid, "labeltxt", 0); } foreach(new getcar : Vehicle) { if(IsPlayerCarHadLabel[playerid][getcar] == true) { DestroyDynamic3DTextLabel(VehicleInfo[getcar][vCText]); } } foreach(new jku : Player) { CarSignTextLabel(jku); } return 1; }
What is the usage of that /carsign? what should it do??
And have you got any warnings within the lines of the cmds? |
Hi, thank you for answering, no warnings at all.
And, the /carsign useage is /carsign TEXT. After doing so, one 3DTextLabel will be created and attached on ur car |
Then you need to remove the "//" from before Attach3DTextToVehicle from the cmd and from the carsigntextlabel also remove the "//" from beforeIsPlayerCarHadLabel in cmd removecarsign and removeallcarsign also remove "//" from before new getcar
|