[AJUDA] respawn
#1

galera nao й sempre ke pesso ajuda aki mais realmente eu nao sei faser o /respawn em zcmd e sscanf pro meu gm tou criando 1 sistema de adminitraзao + gm pah criei alguns comando mais agora ia faser o respawn pra dar respawn "all carros" mais nao tenho ideia de como faser alguem poderia me ajudar

OBRIGADO desde ja
Reply
#2

pawn Код:
CMD:respawn(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й admin.");
    for(new i = 0; i < MAX_VEHICLES; i++){ SetVehicleToRespawn(i); }
    SendClientMessage(playerid, -1, "Vocк deu respawn em todos os veнculos.");
    return 1;
}
Nгo й necessбrio sscanf por nгo utilizar parвmetros.
Reply
#3

UEHUEUHE, eu tava clicando em post agora. ._.
NIMJA -QQ UHEUEHEUHEUHE
Reply
#4

Acho que esse comando vai dar 'unknown command' pq ele vai dar respaw em id n correspondente a um carro, pq o MAX_VEHICLES й uma define do a_samp, c vc n usar um sistema de criar/deletar veiculos no GM pra n ficar brechas de IDs no GM, basta colocar um break; q resolve... e outra, ele vai spawncar carros q tem gnt dentro tb, portanto eu faria assim...

pawn Код:
stock IsVehicleOccupied(vehicleid)
{
    for (new i = 0; i < MAXPLAYERS; i ++)
    {
        if (GetPlayerVehicleID(i) == vehicleid) return true;
    }
    return false;
}

CMD:respawn( playerid, params[] )
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й admin.");
    for(new i=0;i<MAX_VEHICLES;i++)
    {
        if(i == INVALID_VEHICLE_ID);
            break;
        else if(!IsVehicleOccupied(i))
            SetVehicleToRespawn(i);
    }
    SendClientMessage(playerid, -1, "Vocк deu respawn em todos os veнculos.");
    return 1;
}
c for dar estrelinha da pro primeiro q respondeu.
Reply
#5

Quote:
Originally Posted by Pharrel
Посмотреть сообщение
Acho que esse comando vai dar 'unknown command' pq ele vai dar respaw em id n correspondente a um carro, pq o MAX_VEHICLES й uma define do a_samp
Ah, nгo nгo, o comando nгo darб mensagem de erro, os veнculos inexistentes apenas serгo ignorados pela funзгo.
Mas, com certeza й aconselhбvel colocar o valor correto no loop. (Mas praticamente nгo afetarб o desempenho.)
Reply
#6

Hum... й q no meu GM dava essa msg mas eu nem lembro pq dava... ai achei q poderia ser isso, mas ta ok entao ^^
Reply
#7

vlw ai Pharrel vou testa era assim msm keria ke o carro ke tivese gente nao fosse respawn e oque nao tivese fosse vou testa jaja dou 1 edit vlw novamente

OBS: se nao for pedir muito ou for te atrapalha tme como dar uma explicada no comando? por que nao vou pegar ctrl c ctrl v tou fasendo aki ai kero entende as funзao e faser..
Reply
#8

pawn Код:
stock IsVehicleOccupied(vehicleid) //stock й uma variavel que guarda uma funзгo, ela pode retornar varios valores (essa stock eu peguei daqiui fo forum msm)
{
    for (new i = 0; i < MAXPLAYERS; i ++)// for new i vc ja deve saber que й uma funзгo que testa do numero q vc por primeiro ate o numero q vc por no meio
    {
        if (GetPlayerVehicleID(i) == vehicleid) return true;//ele vai testar todos os players entao se tiver alguem dentro do carro vai retornar 1
    }
    return false;//se nao tiver vai retornar 0
}

CMD:respawn( playerid, params[] )
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo й admin.");//se nao estiver logado na rcon retornara esta mensagem
    for(new i=0;i<MAX_VEHICLES;i++)//faz o mesmo q o for la em cima a diferenзa й q aqui й MAX_VEHICLES ou seja o numero final й a definiзгo do a_samp para MAX_VEHICLES
    {
        if(i == INVALID_VEHICLE_ID);//INVALID_VEHICLE_ID й a definiзгo que a include a_samp faz para um veiculo q nao existe, portanto aqui testa se o veiculo existe
            break;//break cancela o for(...) entao se chegar a um numero que nгo й um carro valido ele vai parar o for e pular pro SendClientMessage..
        else if(!IsVehicleOccupied(i))//atravez da stock ele testa c tem alguem dentro do veiculo, ja que eu neguei a funзгo "if(!<-...)" entao й o mesmo q dizer (SE RETORNAR 0 ENTAO RESPAWNA)
            SetVehicleToRespawn(i);//respawna o veiculo
    }
    SendClientMessage(playerid, -1, "Vocк deu respawn em todos os veнculos.");
    return 1;
}
ps: n sou mto bom em explicaзгo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)