GTA-Center.com » Forum
http://www.gta-center.com/forums/

[RISOLTO][HELP] Bug distanza
http://www.gta-center.com/forums/viewtopic.php?f=41&t=1230
Pagina 1 di 1

Autore:  Guk [ 18/06/2011, 11:31 ]
Oggetto del messaggio:  [RISOLTO][HELP] Bug distanza

Scusatemi, sono nuovo e sono anche un principiante....comunque mi sapete dire come faccio a fixare queto bug della GM di Monte Carlo:
Il comando /paga funge anche a distanza, anche se l'altro player sta lontano il comando /paga funge, come faccio a sistemare, voglio che solo se il player è vicino il comando /paga dovrebbe funzionare...
Codice:
dcmd_paga(playerid, params[])
{
   new id, amount, s[128];
   if (sscanf(params, "dd", id, amount)) SendClientMessage(playerid, COLOR_ALERT, "Usa: /paga [playerid] [quantità]");
   else if (!IsPlayerConnected(id)) SendClientMessage(playerid, COLOR_ALERT, "Player non trovato");
   else if(amount<=0 || amount>GetPlayerMoney(playerid)) SendClientMessage(playerid, COLOR_NO, "Importo invalido");
   else
   {
       GivePlayerMoney(id,amount);
       GivePlayerMoney(playerid,-amount);
       format(s,sizeof(s),"* %s  da dei soldi a %s *",PlayerInfo[playerid][pname],PlayerInfo[id][pname]);
       SendRangedMessage(playerid,COLOR_SERVERME,s);
       format(s,sizeof(s),"Hai ricevuto %d$ da %s",amount,PlayerInfo[playerid][pname]);
      SendClientMessage(id,COLOR_INFO,s);
   }
   return 1;
}

Autore:  mitosking [ 18/06/2011, 16:00 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Cancella il comando e metti questo:

Codice:
dcmd_paga(playerid, params[])
{
   new id, amount, s[128], Float: Pos[3];
   if (sscanf(params, "dd", id, amount)) SendClientMessage(playerid, COLOR_ALERT, "Usa: /paga [playerid] [quantità]");
   else if (!IsPlayerConnected(id)) SendClientMessage(playerid, COLOR_ALERT, "Player non trovato");
GetPlayerPos(id, Pos[0], Pos[1], Pos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 1.5, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid, COLOR_ALERT, "Non sei vicino al Player");
   else if(amount<=0 || amount>GetPlayerMoney(playerid)) SendClientMessage(playerid, COLOR_NO, "Importo invalido");
   else
   {
       GivePlayerMoney(id,amount);
       GivePlayerMoney(playerid,-amount);
       format(s,sizeof(s),"* %s  da dei soldi a %s *",PlayerInfo[playerid][pname],PlayerInfo[id][pname]);
       SendRangedMessage(playerid,COLOR_SERVERME,s);
       format(s,sizeof(s),"Hai ricevuto %d$ da %s",amount,PlayerInfo[playerid][pname]);
      SendClientMessage(id,COLOR_INFO,s);
   }
   return 1;
}

Autore:  Guk [ 18/06/2011, 18:10 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Ho sostituito questo comando ma ora non fa mai pagare anche se il giocatore è vicino non fa pagare...

Autore:  mitosking [ 19/06/2011, 1:06 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Scusa errore mio. Ti avrà sicuramente dato un Warning... Avevo dimenticato un parametro (il raggio). Ricopia il comando.

Autore:  Guk [ 20/06/2011, 10:07 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

mitosking ha scritto:
Scusa errore mio. Ti avrà sicuramente dato un Warning... Avevo dimenticato un parametro (il raggio). Ricopia il comando.


Grazie risolto...Vorrei sapere, per quanto riguarda i cancelli e gli oggetti che si muovono come faccio a sistemare che a un tot distanza si deve aprire.
Codice:
else if (!strcmp("/abox", cmdtext, true, 10))
{
if (PlayerInfo[playerid][pfaction]==-1) return 1;
if (PlayerInfo[playerid][pfaction]==0) return 1;
   if (PlayerInfo[playerid][pfaction]==2) return 1;
     if (PlayerInfo[playerid][pfaction]==3) return 1;
     if (PlayerInfo[playerid][pfaction]==4) return 1;
     if (PlayerInfo[playerid][pfaction]==5) return 1;
    if (PlayerInfo[playerid][pfaction]==6) return 1;
    if (PlayerInfo[playerid][pfaction]==7) return 1;
   if (PlayerInfo[playerid][pfaction]==8) return 1;
   if (PlayerInfo[playerid][pfaction]==9) return 0;
    if (PlayerInfo[playerid][pfaction]==10) return 0;
MoveObject(boxpd,1589.4139404297, -1637.8864746094, 9.659386634827,1.5);
SetTimer("chiudi",10000,0);
SendClientMessage(playerid,COLOR_INFO,"Hai aperto il box del PD, si chiuderà automaticamente tra 10 secondi.");
return 1;
}

Autore:  Francesco_Ronaldo [ 21/06/2011, 12:36 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Te lo faccio io, ma per essere più preciso, devi incollarmi l'oggetto di OnGamemodeInit a cui è assegnata la variabile "boxpd".
Se io utilizzassi le coordinate in cui si muove l'oggetto (presenti nel comando che hai postato) funzionerebbe male, perchè credo che l'altezza in cui viene trasportato l'oggetto (tramite la funzione MoveObject) sia diversa da quella in cui sta il giocatore e IsPlayerInRangeOfPoint calcola anche l'altezza.

Autore:  Guk [ 24/06/2011, 17:20 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

E' questo:
Codice:
boxpd = CreateObject(3037, 1589.4139404297, -1637.8864746094, 14.659386634827, 0, 0, 270);

Autore:  Angelo [ 02/07/2011, 21:09 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Cancella il comando: /abox, tanto non ti servirà più, se non vuoi cancellarlo dimmelo che te lo modifico

In Cima:

new bool:Aperto;

In OnPlayerUpdate:

Codice:
if(IsPlayerInRangeOfPoint(playerid, 6.0, 1589.41, -1637.88, 14.65))
{
    if (-1 <= PlayerInfo[playerid][pfaction] <= 8) return 1;
    else if (PlayerInfo[playerid][pfaction] == 9 || PlayerInfo[playerid][pfaction] == 10) return 0;
    MoveObject(boxpd, 1589.4139404297, -1637.8864746094, 9.659386634827, 1.5);
    SetTimer("chiudi",10000,0);
    SendClientMessage(playerid,COLOR_INFO,"Hai aperto il box del PD, si chiuderà automaticamente tra 10 secondi.");
    Aperto = true;
}


nel callback richiamato col timer (ovvero "public chiudi();") metti in fondo:
Codice:
Aperto = false

Autore:  Guk [ 04/07/2011, 17:20 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Non si apre il cancello :S

Autore:  Angelo [ 04/07/2011, 17:39 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

prova a cambiare con questo:

Codice:
if(IsPlayerInRangeOfPoint(playerid, 20.0, 1589.41, -1637.88, 14.65))
{
    if (PlayerInfo[playerid][pfaction] < -1 || PlayerInfo[playerid][pfaction] > 10)
    {
        MoveObject(boxpd, 1589.4139404297, -1637.8864746094, 9.659386634827, 1.5);
        SetTimer("chiudi",10000,0);
        SendClientMessage(playerid,COLOR_INFO,"Hai aperto il box del PD, si chiuderà automaticamente tra 10 secondi.");
        Aperto = true;
    }
}

Autore:  Guk [ 08/07/2011, 9:46 ]
Oggetto del messaggio:  Re: [HELP] Bug distanza

Grazie, risolto.

Pagina 1 di 1 Tutti gli orari sono UTC + 1 ora [ ora legale ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/