Introdução:
Este fs serve para carregar as armas e balas de um Jogador por Nome.
Na proxima versão ele vai ser com Senha para o Player carregar as armas/ballas Sómente quando Logar
Informação:
Crie este fs sem nenhum algoritimo ou exemplo, e tenho certeza que não esta pronto, Mas a éssa altura ele esta funcionando.
PS:
Testei 1 vez sómente.
Qualquer Bug me Avisar/Identificar
Créditos:
iShock
Double-of-seven
ChangeLog:
11/04/2013
- Removido Bug's
- Otimizações no script
07/04/2013
- Criação do FilterScript.
- Adicionado funções para Salvar/Carregar as armas e balas.
Este fs serve para carregar as armas e balas de um Jogador por Nome.
Na proxima versão ele vai ser com Senha para o Player carregar as armas/ballas Sómente quando Logar
Informação:
Crie este fs sem nenhum algoritimo ou exemplo, e tenho certeza que não esta pronto, Mas a éssa altura ele esta funcionando.
PS:
Testei 1 vez sómente.
Qualquer Bug me Avisar/Identificar
Créditos:
iShock
Double-of-seven
ChangeLog:
11/04/2013
- Removido Bug's
- Otimizações no script
07/04/2013
- Criação do FilterScript.
- Adicionado funções para Salvar/Carregar as armas e balas.
pawn Code:
#include <a_samp> #include <DOF2> forward OnPlayerSaveWeapon( playerid ); forward OnPlayerLoadWeapon( playerid ); #define MAX_WEAPONS ( 13 ) #define MAX_AMMO ( 99999 ) new g_sGetAmmoWeapon [ MAX_AMMO ], g_sGetWeapon [ MAX_WEAPONS ], g_sStrTemp2 [ 128 ], g_sStringW [ 128 ], g_sStrTemp [ 128 ] ; public OnFilterScriptInit() { print(#\n--------------------------------------); print(# Sistema de Weapon's Save/Load Carregado\n ); print(# SysWeapon's By iShock" ); print(# SysWeapon's Version: 0.2 ); print(#--------------------------------------\n); return 1; } public OnFilterScriptExit() { DOF2_Exit(); return 1; } public OnPlayerSaveWeapon( playerid ) { format( g_sStringW, sizeof( g_sStringW ), "Contas/%s.ini", PlayerName( playerid ) ); if( !DOF2::FileExists( g_sStringW ) ) { DOF2::CreateFile( g_sStringW ); for( new w = 0; w < MAX_WEAPONS; w++ ) { GetPlayerWeaponData( playerid, w, g_sGetWeapon[ w ], g_sGetAmmoWeapon[ w ] ); format( g_sStrTemp, 16, "WeaponID_%d", w ); format( g_sStrTemp2, 16, "WeaponAmmo_%d", w ); DOF2::SetInt( g_sStringW, g_sStrTemp, g_sGetWeapon[ w ] ); DOF2::SetInt( g_sStringW, g_sStrTemp2, g_sGetAmmoWeapon[ w ] ); } DOF2::SaveFile(); } for( new i = 0; i < MAX_WEAPONS; i++ ) { GetPlayerWeaponData( playerid, i, g_sGetWeapon[ i ], g_sGetAmmoWeapon[ i ] ); format( g_sStrTemp, 16, "WeaponID_%d", i ); format( g_sStrTemp2, 16, "WeaponAmmo_%d", i ); DOF2::SetInt( g_sStringW, g_sStrTemp, g_sGetWeapon[ i ] ); DOF2::SetInt( g_sStringW, g_sStrTemp2, g_sGetAmmoWeapon[ i ]); } DOF2::SaveFile(); SendClientMessage( playerid, -1, #Suas armas foram salvadas ); return 1; } public OnPlayerLoadWeapon( playerid ) { format( g_sStringW, sizeof( g_sStringW ), "Contas/%s.ini", PlayerName( playerid ) ); ResetPlayerWeapons( playerid ); if( !fexist( g_sStringW ) ) return false; for( new i = 0; i < 12; i++ ) { format( g_sStrTemp, 16, "WeaponID_%d", i ); format( g_sStrTemp2, 16, "WeaponAmmo_%d", i ); g_sGetWeapon[ i ] = DOF2::GetInt( g_sStringW, g_sStrTemp ); g_sGetAmmoWeapon[ i ] = DOF2::GetInt( g_sStringW, g_sStrTemp2 ); GivePlayerWeapon( playerid, g_sGetWeapon[ i ], g_sGetAmmoWeapon[ i ] ); } SendClientMessage( playerid, -1, #Suas armas estão Carregadas ); return 1; } public OnPlayerDisconnect(playerid, reason) { OnPlayerSaveWeapon( playerid ); DOF2::SaveFile(); return 1; } public OnPlayerSpawn(playerid) { OnPlayerLoadWeapon( playerid ); return 1; } public OnPlayerDeath(playerid, killerid, reason) { OnPlayerSaveWeapon( playerid ); return 1; } stock PlayerName( playerid ) { new Name[MAX_PLAYER_NAME]; GetPlayerName( playerid, Name, MAX_PLAYER_NAME); return Name; }
0 comentários:
Postar um comentário