Guardar armas.
#1

Hola buenos dias a tod@s.

He estado tratando de buscar funciones que me puedan ayudar a resolver mi problema, pero no se como hacerlo, el problema es que quiero que cuando el jugador salga se guarde en su archivo, ".ini" las armas que llevaba junto a su municiуn, asн tambiйn lo podre usa la misma funciуn para cuando muera y vuelva a hacer Spawn.

El archivo .ini creado con "Dini" ya tengo varias funciones, de vida, de skin, etc.

Bueno gracias y espero que puedan ayudarme.
Reply
#2

esto va en pedidos.
Reply
#3

Quote:
Originally Posted by Ztx
Посмотреть сообщение
Hola buenos dias a tod@s.

He estado tratando de buscar funciones que me puedan ayudar a resolver mi problema, pero no se como hacerlo, el problema es que quiero que cuando el jugador salga se guarde en su archivo, ".ini" las armas que llevaba junto a su municiуn, asн tambiйn lo podre usa la misma funciуn para cuando muera y vuelva a hacer Spawn.

El archivo .ini creado con "Dini" ya tengo varias funciones, de vida, de skin, etc.

Bueno gracias y espero que puedan ayudarme.
Quote:
Originally Posted by WHEELMANDTS
Посмотреть сообщение
esto va en pedidos.
Tan solo pide ayuda D:

Bueno, yo no tengo esa funciуn, lo que hago en mi sv es que cada vez qe spawnee le de ciertas armas y cierta municiуn

Saludos
Reply
#4

Quote:
Originally Posted by Lunnatiicz
Посмотреть сообщение
Tan solo pide ayuda D:
Si, yo no estoy pidiendo que me hagan nada como dijo Lunnatiicz, solo quiero saber como hacer para que se guarden como ya dije, por que lo que usted dice de que cada vez que mueran se les pongan unas armas sirbe para servidores DM, pero para RP y otros no, igual gracias y haber si alguien mas se ofrece a ayudar.
Reply
#5

Quote:
Originally Posted by Ztx
Посмотреть сообщение
Si, yo no estoy pidiendo que me hagan nada como dijo Lunnatiicz, solo quiero saber como hacer para que se guarden como ya dije, por que lo que usted dice de que cada vez que mueran se les pongan unas armas sirbe para servidores DM, pero para RP y otros no, igual gracias y haber si alguien mas se ofrece a ayudar.
Pues el script que tengo yo te lo muestro xD Es de mi GM De Freeroam D:

Код:
public OnPlayerSpawn(playerid)
{
        if(IsPlayerNPC(playerid)) return 1;
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,272.6040,1989.7307,17.6406);
        TogglePlayerClock(playerid,0);
        ResetPlayerMoney(playerid);
        GivePlayerMoney(playerid, 1000);
        //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
        SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,200);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,200);
    GivePlayerWeapon(playerid,WEAPON_COLT45,500);
    GivePlayerWeapon(playerid,WEAPON_MP5,500);
	GivePlayerWeapon(playerid, WEAPON_M4,500);
	TogglePlayerClock(playerid, 1);
        return 1;
}

//----------------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)//Si mal no le entiendo al morir la funciуn de abajo le resetea el dinero, puedes cambiarlo nose como haha
{
    new playercash;

        if(killerid == INVALID_PLAYER_ID) {
        ResetPlayerMoney(playerid);
        } else {
                playercash = GetPlayerMoney(playerid);
                if(playercash > 0)  {
                        GivePlayerMoney(killerid, playercash);
                        ResetPlayerMoney(playerid);
                }
        }
        return 1;
}
Reply
#6

busca en la seccion de lanzamientos, por ahi creo que hay uno.
Reply
#7

pawn Код:
new armas[MAX_PLAYERS][13], ammo[MAX_PLAYERS][13];

public OnPlayerDissconect(playerid, reason)
{
dini_IntSet(file, "pArmas", GetPlayerWeaponData(playerid, armas[playerid], ammo[playerid]);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
dini_IntSet(file, "pArmas", GetPlayerWeaponData(playerid, armas[playerid], ammo[playerid]);
return 1;
}

public OnPlayerSpawn(playerid)
{
for (new i = 0; i < 13; i++)
{
GivePlayerWeapon(playerid, dini_Int(file, "pArmas");
}

return 1;
}
Fijate asн, capaz te sirva.
Reply
#8

Quote:
Originally Posted by leaNN!
Посмотреть сообщение
pawn Код:
new armas[MAX_PLAYERS][13], ammo[MAX_PLAYERS][13];

public OnPlayerDissconect(playerid, reason)
{
dini_IntSet(file, "pArmas", GetPlayerWeaponData(playerid, armas[playerid], ammo[playerid]);
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
dini_IntSet(file, "pArmas", GetPlayerWeaponData(playerid, armas[playerid], ammo[playerid]);
return 1;
}

public OnPlayerSpawn(playerid)
{
for (new i = 0; i < 13; i++)
{
GivePlayerWeapon(playerid, dini_Int(file, "pArmas");
}

return 1;
}
Fijate asн, capaz te sirva.
Quote:
Originally Posted by wiki.sa-mp.com
Посмотреть сообщение
(playerid, slot, &weapons, &ammo)
Y usted me lo marco como "(playerid, armas[playerid], ammo[playerid])" si no creo mal creo que le falta el apartado "slot". Gracias igualmente.
Reply
#9

Quote:
Originally Posted by Lunnatiicz
Посмотреть сообщение
Tan solo pide ayuda D:

Bueno, yo no tengo esa funciуn, lo que hago en mi sv es que cada vez qe spawnee le de ciertas armas y cierta municiуn

Saludos
Si no vas a contribuir en nada no comentes, a eso se le llama spam.

En cuanto a los que pides tienes que adjuntar la ID del arma con la que se desconecta el player OnPlayerDiscconect
con la variable en la que se guarda dentro del Dini, ejemplo:

pawn Код:
new weapons[13][2];// Valor 1 = slots de armas Valor 2 = slot de balas
for (new i = 0; i < 13; i++)
{
   GetPlayerWeaponData(playerid, slot, wep, ammo);//Obtiene la info de las armas que el player tiene.
  if(wep >= 1 && ammo >= 1)//Si el jugador tiene una arma y una bala guarda esa informacion dentro de la variable.
   {
       PlayerInfor[Playerid][pArma1] = wep; PlayerInfo[playerid][pBalas1] = ammo; //wep & ammo representan el valor obtenido de la cantidad de cada cosa.
       PlayerInfor[Playerid][pArma2] = wep; PlayerInfo[playerid][pBalas2] = ammo;
   }
}
Y asi hasta el maximo de slots que son 12 para las armas el segundo valor es el de las balas.

Ahora en OnPlayerSpawn pones lo siguiente.

pawn Код:
SafeGivePlayerWeapon(playerid, PlayerInfo[playerid][pArma1], PlayerInfo[playerid][pBalas1]); //Segun la informacion de la variable usa ese valor para dar las armas y balas correspondientes.
SafeGivePlayerWeapon(playerid, PlayerInfo[playerid][pArma2], PlayerInfo[playerid][pBalas2]);
Creo que eso te servira.


Reply
#10

Quote:
Originally Posted by SeQualX
Посмотреть сообщение
pawn Код:
new weapons[13][2];// Valor 1 = slots de armas Valor 2 = slot de balas
for (new i = 0; i < 13; i++)
{
   GetPlayerWeaponData(playerid, slot, wep, ammo);//Obtiene la info de las armas que el player tiene.
  if(wep >= 1 && ammo >= 1)//Si el jugador tiene una arma y una bala guarda esa informacion dentro de la variable.
   {
       PlayerInfor[Playerid][pArma1] = wep; PlayerInfo[playerid][pBalas1] = ammo; //wep & ammo representan el valor obtenido de la cantidad de cada cosa.
       PlayerInfor[Playerid][pArma2] = wep; PlayerInfo[playerid][pBalas2] = ammo;
   }
}

pawn Код:
SafeGivePlayerWeapon(playerid, PlayerInfo[playerid][pArma1], PlayerInfo[playerid][pBalas1]); //Segun la informacion de la variable usa ese valor para dar las armas y balas correspondientes.
SafeGivePlayerWeapon(playerid, PlayerInfo[playerid][pArma2], PlayerInfo[playerid][pBalas2]);
Hola, gracias por ayudar, mira ahora me tira algunos errores:

C:\Users\****\****\*****\****\****.pwn(100) : error 010: invalid function or declaration
C:\Users\****\****\*****\****\****.pwn(103) : error 010: invalid function or declaration
C:\Users\****\****\*****\****\****.pwn(2472) : error 017: undefined symbol "SafeGivePlayerWeapon"
C:\Users\****\****\*****\****\****.pwn(2473) : error 017: undefined symbol "SafeGivePlayerWeapon"
C:\Users\****\****\*****\****\****.pwn(8381) : warning 203: symbol is never used: "weapons"


Las linias son las siguientes:

pawn Код:
Linea 100: for (new i = 0; i < 13; i++)
{
   GetPlayerWeaponData(playerid, slot, wep, ammo);//Obtiene la info de las armas que el player tiene.
Linea 100:  if(wep >= 1 && ammo >= 1)//Si el jugador tiene una arma y una bala guarda esa informacion dentro de la variable.
   {
       PlayerInfor[Playerid][pArma1] = wep; PlayerInfo[playerid][pBalas1] = ammo; //wep & ammo representan el valor obtenido de la cantidad de cada cosa.
       PlayerInfor[Playerid][pArma2] = wep; PlayerInfo[playerid][pBalas2] = ammo;
   }
}
pawn Код:
Linea 2472: SafeGivePlayerWeapon(playerid, PlayerInfo[playerid][pArma1], PlayerInfo[playerid][pBalas1]); //Segun la   informacion de la variable usa ese valor para dar las armas y balas correspondientes.
Linea 2473: SafeGivePlayerWeapon(playerid, PlayerInfo[playerid][pArma2], PlayerInfo[playerid][pBalas2]);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)