Eu criei um sistema em determinados horários do jogos os veículos não utilizados dão spawn.
Mas quando entra no código o servidor trava por 15 segundos (para todos) e depois volta (normalmente)
eu estou usando o AddStaticVehicleEx para criar os veículos
e para respawnar eles estou usando o:
Código:
for(new v = 0; v < MAX_VEHICLES; v++)
{
if(!IsVehicleOccupied(v) && NotTrailerAtached(v)) SetVehicleToRespawn(v);
}
Será que estou usando o criar veículo certo? (AddStaticVehicleEx ) ou será que é problema na hora de dar spawn?
Estou com um problema na minha GM que está me incomodando muito. Os objetos criados após a inicialização do servidor, por exemplo, cones ou algo do tipo, somem após algum tempo. Já tentei atualizar o include streamer, mas não resolve. Já não sei qual é o problema, mas isso está me impedindo de criar diversos sistemas.
[08:22:05] Pawn.Regex plugin v1.1.1 by urShadow loaded
[08:22:05] Loaded.
[08:22:05] Loading plugin: discord-connector
[08:22:38] >> plugin.dc-connector: timeout while initializing data.
[08:22:38] plugin will proceed to retry connecting in the background.
[08:22:38] Loaded.
[08:22:38] Loaded 7 plugins.
[08:22:38]
[08:22:38] Ban list
[08:22:38] --------
[08:22:38] Loaded: samp.ban
[08:22:38]
[08:22:38]
[08:22:38] Filterscripts
[08:22:38] ---------------
[08:22:38] Loaded 0 filterscripts.
[08:22:38] *** Streamer Plugin: The plugin version (0x295) is older than the include file version (0x296) for this script. The plugin might need to be updated to the latest version.
[08:22:38] [sv:dbg:main:AmxLoad] : net game pointer (value:02279CA8) received
[08:22:38] [sv:dbg:network:bind] : voice server running on port 63599
BRAZUCA PLAY CITY
-----------------------------------
-> Crie Sua Familia ou Comande Sua Gangue!!
-----------------------------------
HostName: Brazuca Play City RPG
Nosso Discord:discord.gg/dTZrBhWf
-----------------------------------
IP: 104.167.222.158:4805
-----------------------------------
Players: 0 / 50 (Servidor começando)
-----------------------------------
Mode: RPG v1.0
-----------------------------------
Map: Brazuca v1.0
-----------------------------------
Sistema de concessionaria
-----------------------------------
Sistema de som JBL e Sistema De Som automotivo
-----------------------------------
26 ORGS
-----------------------------------
18 Profissoes
-----------------------------------
Sistema AntiCheat
-----------------------------------
Sistema Roubos/Caixas Eletronicos
------------------------------------
->ENTRE VIA SAMP LAUNCHER (PC/ANDROID) GRATUITAMENTE E GARANTA SUA VAGA DE LIDER
ultilizo um sistema de rodape que define oque vai pararecer na textdraw por uma string, estou tentando adicionar parar mostrar nessa string a data, mas apos a modificação o rodape some
(Obs o GM compila sem erros)
Código PHP:
public RodapeTxt2()// { foreach(Player, i) { new ano,mes,dia,; getdate(ano, mes, dia); new string[256]; format(string, sizeof(string), "~w~ discord.gg/zZZVxnc ~g~ %s ~g~ ~w~ID: %d Level: %d Servidor BvR ~w~ ~r~ %d %d %d ~r~ ",PlayerName(i), i, PlayerInfo[i][pLevel],(i), ano, mes, dia); TextDrawSetString(Rodape[i], string); TextDrawShowForPlayer(i, Rodape[i]); } }
ola pessoal criei um emprego de lixeiro mas meu intuito e quando o player usar o comando /lixeiro ele so poderar usar novamente se ele finalizar a missao caso contrario gostaria de que quando ele usar o comando ele so puder usar se terminar a missao
esse e o codigo que precisa ser corrigido por alguem q tenha mais conhecimento , obs estou aprendendo entao nao me julgue por isso nao estou compreendendo com fica a logica do codigo da maneira que eu quero
Código PHP:
new g_PlayerMission[MAX_PLAYERS];
CMD:lixeiro(playerid) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao id { lixeiro1[playerid] = 1; SetPlayerCheckpoint(playerid,2171.8494,-1979.3674,13.5547, 2.0); SendClientMessage(playerid,verde, "{FFFF00}[Trabalho]:{FFFFFF}Agora você e um Lixeiro."); } else { SendClientMessage(playerid,vermelho, "{FFFF00}[trabalho]:{FFFFFF}voce nao esta em um caminhao de lixo id 408 "); } if(g_PlayerMission[playerid]==1) { } else { SendClientMessage(playerid,vermelho, "{FFFF00}[trabalho]:{FFFFFF} conclua a missao primeiro antes de pegar outras missoes"); }
return 1; }
new lixeiro1[MAX_PLAYERS]; new lixeiro2[MAX_PLAYERS]; new lixeiro3[MAX_PLAYERS]; new lixeiro4[MAX_PLAYERS]; new lixeiro5[MAX_PLAYERS]; new lixeiro6[MAX_PLAYERS]; new lixeiro7[MAX_PLAYERS]; new lixeiro8[MAX_PLAYERS]; new lixeiro9[MAX_PLAYERS]; new lixeiro10[MAX_PLAYERS]; new lixeiro11[MAX_PLAYERS];
public OnPlayerEnterCheckpoint(playerid) { //------------------------------------------------------------------------------ if(lixeiro1[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....1/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro1[playerid] = 0; lixeiro2[playerid] = 1; SetPlayerCheckpoint(playerid,1828.5288,-1926.8643,13.3837, 4.0); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo. "); } return 1; } //------------------------------------------------------------------------------ if(lixeiro2[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408)//se estiver no caminhao { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....2/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro2[playerid] = 0; lixeiro3[playerid] = 1; SetPlayerCheckpoint(playerid,1856.5773,-1268.8737,13.3906, 4.0); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo. "); } return 1; } //------------------------------------------------------------------------------ if(lixeiro3[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....3/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro3[playerid] = 0; lixeiro4[playerid] = 1; SetPlayerCheckpoint(playerid,1973.9496,-1054.9626,24.3984, 5.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 6 pontos de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro4[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....4/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro4[playerid] = 0; lixeiro5[playerid] = 1; SetPlayerCheckpoint(playerid,2363.1702,-1159.0892,27.4513, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 5 pontos de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro5[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....5/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro5[playerid] = 0; lixeiro6[playerid] = 1; SetPlayerCheckpoint(playerid,2714.9253,-1188.3448,69.2288, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 4 pontos de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro6[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....6/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro6[playerid] = 0; lixeiro7[playerid] = 1; SetPlayerCheckpoint(playerid,2718.3643,-1520.4124,30.0480, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 3 ponto de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro7[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....7/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro7[playerid] = 0; lixeiro8[playerid] = 1; SetPlayerCheckpoint(playerid,2338.2581,-1576.3217,23.8032, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 2 pontso de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro8[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....8/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro8[playerid] = 0; lixeiro9[playerid] = 1; SetPlayerCheckpoint(playerid,2220.6677,-1761.7015,13.3650, 4.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Há ainda 1 ponto de coleta."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro9[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....9/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro9[playerid] = 0; lixeiro10[playerid] = 1; SetPlayerCheckpoint(playerid,2213.1135,-2053.4668,14.0966, 5.0); SendClientMessage(playerid,-1, "{FFFF00}[Trabalho]:{FFFFFF}Leve os lixo até o deposito."); } else { SendClientMessage(playerid, -1, "Você precisa do caminhão para coletar o lixo."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro10[playerid] == 1) { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 408) { SetTimerEx("tempu",10000,false,"i",playerid); TogglePlayerControllable(playerid,0); GameTextForPlayer(playerid, "recolhendo lixo....10/11", 10000, 4); DisablePlayerCheckpoint(playerid); lixeiro10[playerid] = 0; lixeiro11[playerid] = 1; SetPlayerCheckpoint(playerid,2199.1770,-1970.4202,13.7841, 2.0); SendClientMessage(playerid,-1, "{00FF00}Agora vá receber o Dinheiro."); } else { SendClientMessage(playerid, -1, "{FFFF00}[Trabalho]:{FFFFFF}Aqui não é o escritório."); } return 1; } //------------------------------------------------------------------------------ if(lixeiro11[playerid] == 1) { DisablePlayerCheckpoint(playerid); lixeiro11[playerid] = 0; SendClientMessage(playerid,-1, "Você conseguiu {FFFFFF}200$ pelo trabalho."); GameTextForPlayer(playerid,"~h~~g~+200$",5000,5); GivePlayerMoney(playerid, 200); g_PlayerMission[playerid]=1; } return 1; }
Tem como criar um spawn aleatório pelo mapa? Tipo, eu fiz uma coisa aqui porém ele cai debaixo da terra, e diversas vezes ele nasce no meio da água. Teria como verificar se ele está na água? Desde já, agradeço.