[Duda]Setplayerspawn se repite
#1

Hola vengo a preguntar que puede estar pasando,paso a explicar.

Estoy editando larp y edite el setplayerspawn,el problema es que ahora todo lo que esta en setplayerspawn se repite

Por ejemplo :

"Bienvenido a los Angeles Roleplay ,acontinuacion se le pedira unos datos.");
"Bienvenido a los Angeles Roleplay ,acontinuacion se le pedira unos datos.");

asн.. Todo lo que sea texto se repite dos veces(supongo que lo que no es texto tambiйn se repetirб pero la verdad no lo probй)

Dejo el callback no se si tendrй mal los return o que .
pawn Код:
public SetPlayerSpawn(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        SetPlayerSkin(playerid, Informacion[playerid][pRopa]);
        if(Informacion[playerid][pTutorial] == 0)
        {
            gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
            SetPlayerInterior(playerid, 3);
            Informacion[playerid][pInt] = 3;
            SetPlayerPos(playerid, 330.6825,163.6688,1014.1875);
            SetPlayerFacingAngle(playerid, 280);
            TogglePlayerControllable(playerid, 0);
            RegistrationStep[playerid] = 1;
            Message(playerid, COLOR_YELLOW, "Bienvenido a los Angeles Roleplay ,acontinuacion se le pedira unos datos.");
            Message(playerid, COLOR_LIGHTRED, "Primera pregunta: Hombre o Mujer?");
            ShowPlayerDialog(playerid,SSEXO, DIALOG_STYLE_LIST, "Seleccione Su Sexo: їUsted es masculino o Femenino?", "Masculino\nFemenino", "Aceptar", "");
            return 1;
         }
         if(TutTime[playerid] == 0 && Informacion[playerid][pTutorial] == 1 && DeathPlayer[playerid] == 0)
         {
         new string2[64],playername2[MAX_PLAYER_NAME],playernamesplit[3][MAX_PLAYER_NAME];
         GetPlayerName(playerid, playername2, sizeof(playername2));
         split(playername2, playernamesplit, '_');
        //SetPosEx(playerid, Informacion[playerid][pPos_x], Informacion[playerid][pPos_y], Informacion[playerid][pPos_z] + 1, 0, Informacion[playerid][pInt], Informacion[playerid][pVirWorld]);
         SetPlayerPos( playerid,Informacion[playerid][pPos_x], Informacion[playerid][pPos_y], Informacion[playerid][pPos_z]+1);
         SetPlayerWeapons(playerid);
         Message(playerid, COLOR_GREEN, "=============================================");
         format(string2, sizeof(string2), "Bienvenido a Los Angeles Roleplay, %s.",playernamesplit[0]);
         Message(playerid, COLOR_WHITE,string2);
         Message(playerid, COLOR_WHITE, "El servidor esta basado en LARP");
         Message(playerid, COLOR_WHITE, "El Scripter actual es [R]hysi.-");
         Message(playerid, COLOR_WHITE, "IP TS3");
         Message(playerid, COLOR_WHITE, "Foro:");
         format(string2, sizeof(string2), "Actualmente estamos en la version %s.",SCRIPT_VERSION);
         Message(playerid, COLOR_WHITE, string2);
         Message(playerid, COLOR_GREEN, "=============================================");
        //Pause(playerid);
        return 1;
         }
         if(AdminSpec[playerid] == 1)
         {
         return 1;
         }

        new rand;
        if(InPaintballDM[playerid] != 0)
        {
            ResetPlayerWeapons(playerid);
            ArmarPaintBall(playerid);
            rand = random(sizeof(PaintballDMSpawns));
            SetPosEx(playerid, PaintballDMSpawns[rand][0], PaintballDMSpawns[rand][1], PaintballDMSpawns[rand][2],0,14,0);
            return 1;
        }
        if(InPaintballTvT[playerid] != 0)
        {
            if(InTvTNaranja[playerid] != 0)
            {
                ResetPlayerWeapons(playerid);
                ArmarPaintBall(playerid);
                SetPosEx(playerid, -973.1844,1061.3037,1345.6699,0,10,0);
                SetPlayerColor(playerid, ORANGE_ADMIN);
                return 1;
            }
            if(InTvTVerde[playerid] != 0)
            {
                ResetPlayerWeapons(playerid);
                ArmarPaintBall(playerid);
                SetPosEx(playerid, -1131.2336,1057.7888,1346.4170,0,10,0);
                SetPlayerColor(playerid, VERDE_ADMIN);
                return 1;
            }
        }
        if(InPaintPvP[playerid] !=0)
        {
            ResetPlayerWeapons(playerid);
            ArmarPaintBall(playerid);
            rand = random(sizeof(PaintPvPSpawns));
            SetPosEx(playerid, PaintPvPSpawns[rand][0], PaintPvPSpawns[rand][1], PaintPvPSpawns[rand][2],0,0,0);
            return 1;
        }

        if(Informacion[playerid][pJailed] == 1)
        {
            SetPosEx(playerid, 2767.8936,445.4332,3.7747,163.2555,1,0);
            SendClientMessage(playerid, COLOR_LIGHTRED, "No has cumplido tu condena, estas denuevo en la carcel.");
            return 1;
        }
        if(Informacion[playerid][pJailed] == 2)
        {
            SetPlayerInterior(playerid, 0);
            Informacion[playerid][pInt] = 0;
            SetPlayerPos(playerid,268.5777,1857.9351,9.8133);
            return 1;
        }
        if(Informacion[playerid][pJailed] == 3)
        {
            SetPosEx(playerid, 263.4922,77.0915,1001.0391,322.1463,6,0);
            SendClientMessage(playerid, COLOR_LIGHTRED, "Has tenido un accidente en prisiуn.");
            SendClientMessage(playerid, COLOR_LIGHTRED, "Te hemos transladado a la ultima celda.");
            return 1;
        }
        if(Informacion[playerid][pJailed] == 4)
        {
            SetPosEx(playerid, 194.3425,158.1145,1003.0234,272.9291,3,0);
            SendClientMessage(playerid, COLOR_LIGHTRED, "Has tenido un accidente en prisiуn.");
            SendClientMessage(playerid, COLOR_LIGHTRED, "Te hemos transladado de celda.");
            return 1;
        }
        if(Informacion[playerid][pJailed] == 5)
        {
            SetPosEx(playerid, 1553.4100,-1665.9277,1718.9019,273.6029,0,0);
            SendClientMessage(playerid, COLOR_LIGHTRED, "Has tenido un accidente en prisiуn.");
            SendClientMessage(playerid, COLOR_LIGHTRED, "Te hemos transladado de celda.");
            return 1;
        }
        if(DeathPlayer[playerid] == 1 && Informacion[playerid][pJailed] == 0)
        {
            Message(playerid, TEAM_CYAN_COLOR, "Te has recuperado exsitуsamente de tu accidente.");
            Message(playerid, TEAM_CYAN_COLOR, "Te hemos transladado al hospital.");
            Message(playerid, TEAM_CYAN_COLOR, "Desafortunadamente tienes amnesia, no recuerdas nada.");

            if(Informacion[playerid][pSeguro] == 0) { SetPlayerPos(playerid, 1185.6406,-1325.7014,13.5721); Bought(playerid, 250); Message(playerid, COLOR_GREEN, "* No tienes seguro, te cobramos 250$. Compre uno en el hospital para que no gastes mas dinero."); }
            if(Informacion[playerid][pSeguro] == 1) { SetPlayerPos(playerid, 1185.6406,-1325.7014,13.5721); }
            DeathPlayer[playerid] = 0;
            SetPlayerInterior(playerid,0);
            SetPlayerVirtualWorld(playerid, 0);
            return 1;
        }
    }
    return 1;
}
Gracias de antemano
Reply
#2

coloca todos los lugares donde uses esto --->> SetPlayerSpawn(playerid) incluyendo timers
Reply
#3

Lo utilizo en:

Onplayerspawn

OnPlayerStateChange(mirando el codigo creo que es aqui"creo")

pawn Код:
if(newstate == PLAYER_STATE_SPAWNED)
    {
        new Float: lwx, Float:lwy, Float:lwz;
        GetPlayerPos(playerid, lwx, lwy, lwz);
        if((lwz > 530.0 && Informacion[playerid][pInt] == 0) || PlayerToPoint(1000.0, playerid, -1041.9,-1868.4,79.1)) //the highest land point in sa = 526.8
        {
            SetPlayerSpawn(playerid);
        }

Edit:Borre el setplayerspawn de onplayerstatechange y ya no se repite

En SetPlayerUnjail(la parte donde esta el final del tutorial)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)