Редакция на Money Rewards Modifier(награда при убийство)
-
sianbg
Извън линия - Потребител
- Мнения: 232
- Регистриран на: 13 Ное 2017, 12:18
- Получена благодарност: 1 път
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Искам редакция на този плъгин viewtopic.php?f=18&t=1762
Ако може някой да ми даде код в, който има само 1 функция в, която подавам id на играча и колко пари да получава при убийство. Трябва ми само 1 такава функция с която да задавам на всеки играч различна сума, която да получава при убийство. Трябва ми само кода за да го вградя в мой плъгин. Малко се затрудних с редакцията. Благодаря предварително.
Ако може някой да ми даде код в, който има само 1 функция в, която подавам id на играча и колко пари да получава при убийство. Трябва ми само 1 такава функция с която да задавам на всеки играч различна сума, която да получава при убийство. Трябва ми само кода за да го вградя в мой плъгин. Малко се затрудних с редакцията. Благодаря предварително.
-
WaLkZ
Извън линия - Администратор
- Мнения: 799
- Регистриран на: 05 Окт 2016, 21:13
- Местоположение: Варна
- Се отблагодари: 75 пъти
- Получена благодарност: 227 пъти
- Обратна връзка:
-
sianbg
Извън линия - Потребител
- Мнения: 232
- Регистриран на: 13 Ное 2017, 12:18
- Получена благодарност: 1 път
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Еми по принцип да. Не знам каква е и колко голяма е разликата.
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Не разбрах какво точно искаш. Добавих натив set_kill_money(id, amount) с който можеш да променяш парите при убийство на играча. Ако е сложено на -1, ще дава обикновено.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#define PLUGIN_VERSION "1.1"
enum _:PlayerRewards
{
RewardType:Type,
Math[16],
Round[16],
Flags
}
new const g_szAll[] = "#all"
new Array:g_aPlayerRewards,
g_szMap[32],
g_iKillMoney[33],
g_iCurrentRound,
g_iTotalPlayerRewards
public plugin_init()
{
register_plugin("Money Rewards Modifier", PLUGIN_VERSION, "OciXCrom")
register_cvar("CRXMoneyModifier", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
RegisterHookChain(RG_CSGameRules_OnRoundFreezeEnd, "ReAPI_HC_OnRoundFreezeEnd")
RegisterHookChain(RG_CBasePlayer_AddAccount, "ReAPI_HC_AddAccount_Pre")
get_mapname(g_szMap, charsmax(g_szMap))
g_aPlayerRewards = ArrayCreate(PlayerRewards)
ReadFile()
}
public plugin_end()
ArrayDestroy(g_aPlayerRewards)
ReadFile()
{
new szConfigsName[256], szFilename[256]
get_configsdir(szConfigsName, charsmax(szConfigsName))
formatex(szFilename, charsmax(szFilename), "%s/MoneyModifier.ini", szConfigsName)
new iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
new szData[96], szValue[64], szKey[32], bool:bRead = true, iSize
new eReward[PlayerRewards], szFlags[32]
while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)
switch(szData[0])
{
case EOS, '#', ';': continue
case '[':
{
iSize = strlen(szData)
if(szData[iSize - 1] == ']')
{
szData[0] = ' '
szData[iSize - 1] = ' '
trim(szData)
if(contain(szData, "*") != -1)
{
strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '*')
copy(szValue, strlen(szKey), g_szMap)
bRead = equal(szValue, szKey) ? true : false
}
else
bRead = equal(szData, g_szAll) || equali(szData, g_szMap)
}
else continue
}
default:
{
if(!bRead)
continue
strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '=')
trim(szKey); trim(szValue)
switch(szKey[1])
{
case 'T':
{
if(equali(szKey, "RT_ROUND_BONUS"))
eReward[Type] = RT_ROUND_BONUS
else if(equali(szKey, "RT_PLAYER_RESET"))
eReward[Type] = RT_PLAYER_RESET
else if(equali(szKey, "RT_PLAYER_JOIN"))
eReward[Type] = RT_PLAYER_JOIN
else if(equali(szKey, "RT_PLAYER_SPEC_JOIN"))
eReward[Type] = RT_PLAYER_SPEC_JOIN
else if(equali(szKey, "RT_PLAYER_BOUGHT_SOMETHING"))
eReward[Type] = RT_PLAYER_BOUGHT_SOMETHING
else if(equali(szKey, "RT_HOSTAGE_TOOK"))
eReward[Type] = RT_HOSTAGE_TOOK
else if(equali(szKey, "RT_HOSTAGE_RESCUED"))
eReward[Type] = RT_HOSTAGE_RESCUED
else if(equali(szKey, "RT_HOSTAGE_DAMAGED"))
eReward[Type] = RT_HOSTAGE_DAMAGED
else if(equali(szKey, "RT_HOSTAGE_KILLED"))
eReward[Type] = RT_HOSTAGE_KILLED
else if(equali(szKey, "RT_TEAMMATES_KILLED"))
eReward[Type] = RT_TEAMMATES_KILLED
else if(equali(szKey, "RT_ENEMY_KILLED"))
eReward[Type] = RT_ENEMY_KILLED
else if(equali(szKey, "RT_INTO_GAME"))
eReward[Type] = RT_INTO_GAME
else if(equali(szKey, "RT_VIP_KILLED"))
eReward[Type] = RT_VIP_KILLED
else if(equali(szKey, "RT_VIP_RESCUED_MYSELF"))
eReward[Type] = RT_VIP_RESCUED_MYSELF
else continue
szFlags[0] = EOS
eReward[Round][0] = EOS
parse(szValue, eReward[Math], charsmax(eReward[Math]), eReward[Round], charsmax(eReward[Round]), szFlags, charsmax(szFlags))
eReward[Flags] = szFlags[0] ? read_flags(szFlags) : ADMIN_ALL
ArrayPushArray(g_aPlayerRewards, eReward)
g_iTotalPlayerRewards++
}
case 'R':
{
if(equal(szKey, "RR_CTS_WIN"))
rg_set_account_rules(RR_CTS_WIN, math_add(rg_get_account_rules(RR_CTS_WIN), szValue))
else if(equal(szKey, "RR_TERRORISTS_WIN"))
rg_set_account_rules(RR_TERRORISTS_WIN, math_add(rg_get_account_rules(RR_TERRORISTS_WIN), szValue))
else if(equal(szKey, "RR_TARGET_BOMB"))
rg_set_account_rules(RR_TARGET_BOMB, math_add(rg_get_account_rules(RR_TARGET_BOMB), szValue))
else if(equal(szKey, "RR_VIP_ESCAPED"))
rg_set_account_rules(RR_VIP_ESCAPED, math_add(rg_get_account_rules(RR_VIP_ESCAPED), szValue))
else if(equal(szKey, "RR_VIP_ASSASSINATED"))
rg_set_account_rules(RR_VIP_ASSASSINATED, math_add(rg_get_account_rules(RR_VIP_ASSASSINATED), szValue))
else if(equal(szKey, "RR_TERRORISTS_ESCAPED"))
rg_set_account_rules(RR_TERRORISTS_ESCAPED, math_add(rg_get_account_rules(RR_TERRORISTS_ESCAPED), szValue))
else if(equal(szKey, "RR_CTS_PREVENT_ESCAPE"))
rg_set_account_rules(RR_CTS_PREVENT_ESCAPE, math_add(rg_get_account_rules(RR_CTS_PREVENT_ESCAPE), szValue))
else if(equal(szKey, "RR_ESCAPING_TERRORISTS_NEUTRALIZED"))
rg_set_account_rules(RR_ESCAPING_TERRORISTS_NEUTRALIZED, math_add(rg_get_account_rules(RR_ESCAPING_TERRORISTS_NEUTRALIZED), szValue))
else if(equal(szKey, "RR_BOMB_DEFUSED"))
rg_set_account_rules(RR_BOMB_DEFUSED, math_add(rg_get_account_rules(RR_BOMB_DEFUSED), szValue))
else if(equal(szKey, "RR_BOMB_PLANTED"))
rg_set_account_rules(RR_BOMB_PLANTED, math_add(rg_get_account_rules(RR_BOMB_PLANTED), szValue))
else if(equal(szKey, "RR_BOMB_EXPLODED"))
rg_set_account_rules(RR_BOMB_EXPLODED, math_add(rg_get_account_rules(RR_BOMB_EXPLODED), szValue))
else if(equal(szKey, "RR_ALL_HOSTAGES_RESCUED"))
rg_set_account_rules(RR_ALL_HOSTAGES_RESCUED, math_add(rg_get_account_rules(RR_ALL_HOSTAGES_RESCUED), szValue))
else if(equal(szKey, "RR_TARGET_BOMB_SAVED"))
rg_set_account_rules(RR_TARGET_BOMB_SAVED, math_add(rg_get_account_rules(RR_TARGET_BOMB_SAVED), szValue))
else if(equal(szKey, "RR_HOSTAGE_NOT_RESCUED"))
rg_set_account_rules(RR_HOSTAGE_NOT_RESCUED, math_add(rg_get_account_rules(RR_HOSTAGE_NOT_RESCUED), szValue))
else if(equal(szKey, "RR_VIP_NOT_ESCAPED"))
rg_set_account_rules(RR_VIP_NOT_ESCAPED, math_add(rg_get_account_rules(RR_VIP_NOT_ESCAPED), szValue))
else if(equal(szKey, "RR_LOSER_BONUS_DEFAULT"))
rg_set_account_rules(RR_LOSER_BONUS_DEFAULT, math_add(rg_get_account_rules(RR_LOSER_BONUS_DEFAULT), szValue))
else if(equal(szKey, "RR_LOSER_BONUS_MIN"))
rg_set_account_rules(RR_LOSER_BONUS_MIN, math_add(rg_get_account_rules(RR_LOSER_BONUS_MIN), szValue))
else if(equal(szKey, "RR_LOSER_BONUS_MAX"))
rg_set_account_rules(RR_LOSER_BONUS_MAX, math_add(rg_get_account_rules(RR_LOSER_BONUS_MAX), szValue))
else if(equal(szKey, "RR_LOSER_BONUS_ADD"))
rg_set_account_rules(RR_LOSER_BONUS_ADD, math_add(rg_get_account_rules(RR_LOSER_BONUS_ADD), szValue))
else if(equal(szKey, "RR_RESCUED_HOSTAGE"))
rg_set_account_rules(RR_RESCUED_HOSTAGE, math_add(rg_get_account_rules(RR_RESCUED_HOSTAGE), szValue))
else if(equal(szKey, "RR_TOOK_HOSTAGE_ACC"))
rg_set_account_rules(RR_TOOK_HOSTAGE_ACC, math_add(rg_get_account_rules(RR_TOOK_HOSTAGE_ACC), szValue))
else if(equal(szKey, "RR_TOOK_HOSTAGE"))
rg_set_account_rules(RR_TOOK_HOSTAGE, math_add(rg_get_account_rules(RR_TOOK_HOSTAGE), szValue))
else if(equal(szKey, "RR_END"))
rg_set_account_rules(RR_END, math_add(rg_get_account_rules(RR_END), szValue))
}
}
}
}
}
fclose(iFilePointer)
}
}
public client_putinserver(id)
g_iKillMoney[id] = -1
public ReAPI_HC_OnRoundFreezeEnd()
g_iCurrentRound = get_member_game(m_iTotalRoundsPlayed) + 1
public ReAPI_HC_AddAccount_Pre(id, iAmount, RewardType:iType, bool:bChange)
{
if(iType == RT_ENEMY_KILLED && g_iKillMoney[id] != -1)
{
SetHookChainArg(2, ATYPE_INTEGER, g_iKillMoney[id])
return
}
static eReward[PlayerRewards]
new bool:bMatch
for(new i, iFlags = get_user_flags(id); i < g_iTotalPlayerRewards; i++)
{
ArrayGetArray(g_aPlayerRewards, i, eReward)
if(eReward[Type] == iType && is_valid_round(eReward[Round]) && iFlags & eReward[Flags] == eReward[Flags])
{
bMatch = true
iAmount = math_add(iAmount, eReward[Math])
}
}
if(bMatch)
SetHookChainArg(2, ATYPE_INTEGER, iAmount)
}
bool:is_valid_round(const szRound[])
{
if(!szRound[0] || szRound[0] == '0')
return true
if(contain(szRound, "-") != -1)
{
static szMin[4], szMax[4]
strtok(szRound, szMin, charsmax(szMin), szMax, charsmax(szMax), '-')
trim(szMin); trim(szMax)
return str_to_num(szMin) <= g_iCurrentRound <= str_to_num(szMax)
}
else if(isdigit(szRound[0]))
return g_iCurrentRound == str_to_num(szRound)
static szNewRound[16], cOperator, iNum
copy(szNewRound, charsmax(szNewRound), szRound)
replace_all(szNewRound, charsmax(szNewRound), " ", "")
cOperator = szRound[0]
szNewRound[0] = ' '
trim(szNewRound)
iNum = str_to_num(szNewRound)
switch(cOperator)
{
case '>': return g_iCurrentRound > iNum
case '<': return g_iCurrentRound < iNum
}
return false
}
math_add(iNum, const szMath[])
{
static szNewMath[16], bool:bPercent, cOperator, iMath
copy(szNewMath, charsmax(szNewMath), szMath)
bPercent = szNewMath[strlen(szNewMath) - 1] == '%'
cOperator = szNewMath[0]
if(!isdigit(cOperator))
szNewMath[0] = ' '
if(bPercent)
replace(szNewMath, charsmax(szNewMath), "%", "")
trim(szNewMath)
iMath = str_to_num(szNewMath)
if(bPercent)
iMath *= iNum / 100
switch(cOperator)
{
case '+': iNum += iMath
case '-': iNum -= iMath
case '/': iNum /= iMath
case '*': iNum *= iMath
default: iNum = iMath
}
return iNum
}
public plugin_natives()
register_native("set_kill_money", "_set_kill_money")
public _set_kill_money(iPlugin, iParams)
g_iKillMoney[get_param(1)] = get_param(2)
-
sianbg
Извън линия - Потребител
- Мнения: 232
- Регистриран на: 13 Ное 2017, 12:18
- Получена благодарност: 1 път
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Благодаря, работи Само да попитам защо максимума е 999 ? Ако сложа 1000 става на 100.
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
-
sianbg
Извън линия - Потребител
- Мнения: 232
- Регистриран на: 13 Ное 2017, 12:18
- Получена благодарност: 1 път
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Еми то ми се случва в няколко плъгина, но грешката е моя. Декларирам си променливата с new money = 1000; примерно. Подавам я като стойност и не се получава 1000, а 100. Мисля, че излизам от лимита, но дори не знам колко е. Получава ми се също, когато set_user_health. Там случая е следния:
Още ми е прекалено странен този език
Код за потвърждение: Избери целия код
new health[33];
health[id] = 1000;
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
То няма лимит или е прекалено голям. Правилно си е зададена стойността. Някъде другаде грешиш явно. Би ли предоставил целия код за да тествам?
-
sianbg
Извън линия - Потребител
- Мнения: 232
- Регистриран на: 13 Ное 2017, 12:18
- Получена благодарност: 1 път
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Редактирам 1 мод и да ти дам целия код само ще ти загубя времето. Голямо мазало е още.
Ето нещата през, които минават данните. Това е админ команда и се вика тази функция.
Така слагам сумата на играча.
Другият вариант за грешка е зареждането на първоначалните данни от mysql.
Махнах от твоя код, когато влезе играч да се зададе на -1. Проблема с кръвта е същият. През същият код минава.
Едит: Сега видях, че new Arg2[4], но все пак 1000 са 4 числа.
Ето нещата през, които минават данните. Това е админ команда и се вика тази функция.
Код за потвърждение: Избери целия код
public setmoney(id, level, cid)
{
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED
new Arg1[24];
new Arg2[4];
read_argv(1, Arg1, charsmax(Arg1));
read_argv(2, Arg2, charsmax(Arg2));
//finds a player id that matches the partial name given
//the 1 means that it will not target the player if he
// has immunity access
new player = str_to_num(Arg1);
new Health = str_to_num(Arg2);
if (!is_user_connected(player))
{
console_print(id, "Sorry, player %s could not be found or targetted!", Arg1);
return PLUGIN_HANDLED;
} else {
set_kill_money(player,Health);
}
return PLUGIN_HANDLED;
}
Другият вариант за грешка е зареждането на първоначалните данни от mysql.
Код за потвърждение: Избери целия код
LoadLevel(id)
{
new szAuth[33];
new szKey[40];
if ( get_pcvar_num(savexp) == 0 )
{
get_user_ip( id, szAuth , charsmax(szAuth), 1);
formatex( szKey , 63 , "%s-IP" , szAuth);
}
else if ( get_pcvar_num(savexp) == 1 )
{
get_user_authid( id , szAuth , charsmax(szAuth) );
formatex( szKey , 63 , "%s-ID" , szAuth);
}
else if ( get_pcvar_num(savexp) == 2 )
{
get_user_name( id, szAuth , charsmax(szAuth) );
formatex( szKey , 63 , "%s-NAME" , szAuth);
}
if ( !get_pcvar_num(save_type) )
{
new szData[256];
formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])
nvault_get(g_Vault, szKey, szData, 255)
replace_all(szData , 255, "#", " ")
new xp[32], level[32]
parse(szData, level, 31, xp, 31)
PlayerLevel[id] = str_to_num(level)
PlayerXp[id] = str_to_num(xp)
}
else
{
static szQuery[ 250 ], iData[ 1 ];
formatex( szQuery, 250, "SELECT t1.`player_level`, t1.`player_xp`, t2.armor, t2.health, t2.speed, t2.gravity, t2.money FROM `mytable` as t1 INNER JOIN upgrades as t2 ON t1.player_id=t2.player_id WHERE ( t1.`player_id` = '%s' );", szAuth );
iData[ 0 ] = id;
SQL_ThreadQuery( g_hTuple, "QuerySelectData", szQuery, iData, 1 );
}
}
public QuerySelectData( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime )
{
if( iFailState == TQUERY_CONNECT_FAILED
|| iFailState == TQUERY_QUERY_FAILED )
{
log_amx( "%s", szError );
return;
}
else
{
new id = iData[ 0 ];
new szAuth[33];
new szKey[40];
if ( get_pcvar_num(savexp) == 0 )
{
get_user_ip( id, szAuth , charsmax(szAuth), 1);
formatex( szKey , 63 , "%s-IP" , szAuth);
}
else if ( get_pcvar_num(savexp) == 1 )
{
get_user_authid( id , szAuth , charsmax(szAuth) );
formatex( szKey , 63 , "%s-ID" , szAuth);
}
else if ( get_pcvar_num(savexp) == 2 )
{
get_user_name( id, szAuth , charsmax(szAuth) );
formatex( szKey , 63 , "%s-NAME" , szAuth);
}
new ColLevel = SQL_FieldNameToNum(hQuery, "player_level")
new ColXp = SQL_FieldNameToNum(hQuery, "player_xp")
new ColHealth = SQL_FieldNameToNum(hQuery, "health")
new ColArmor = SQL_FieldNameToNum(hQuery, "armor")
new ColSpeed = SQL_FieldNameToNum(hQuery, "speed")
new ColGravity = SQL_FieldNameToNum(hQuery, "gravity")
new ColMoney = SQL_FieldNameToNum(hQuery, "money")
if(SQL_NumResults(hQuery) > 0 ) {
while (SQL_MoreResults(hQuery))
{
PlayerLevel[id] = SQL_ReadResult(hQuery, ColLevel);
PlayerXp[id] = SQL_ReadResult(hQuery, ColXp);
c_armor[id] = SQL_ReadResult(hQuery, ColArmor);
c_health[id] = SQL_ReadResult(hQuery, ColHealth);
c_speed[id] = SQL_ReadResult(hQuery, ColSpeed);
c_gravity[id] = SQL_ReadResult(hQuery, ColGravity);
new money = SQL_ReadResult(hQuery, ColMoney);
set_kill_money(id, money);
SQL_NextRow(hQuery)
}
static szQuery2[ 128 ];
formatex( szQuery2, 127, "UPDATE `mytable` SET `online`='%d' WHERE ( `player_id` = '%s' );",id, szAuth );
SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery2);
} else {
static szQuery[ 228 ];
formatex( szQuery, 228, "REPLACE INTO `mytable` (`player_id`, `player_level`, `player_xp`, `rank`, `online`) VALUES ('%s', '%d', '%d', '%s', '%d');", szAuth , PlayerLevel[id], PlayerXp[id], RANKLEVELS[PlayerLevel[id]], id );
SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery)
static szQuery2[ 120 ];
formatex( szQuery2, 120, "INSERT INTO `upgrades` SET `player_id`='%s'", szAuth);
SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery2)
}
}
}
public QuerySetData( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime )
{
if( iFailState == TQUERY_CONNECT_FAILED
|| iFailState == TQUERY_QUERY_FAILED )
{
log_amx( "%s", szError );
return;
}
}
Едит: Сега видях, че new Arg2[4], но все пак 1000 са 4 числа.
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Редакция на Money Rewards Modifier(награда при убийство)
Проблемът е в Arg2[4]. Увеличи го.
Добавено преди 17 минути 38 секунди:
Въпреки факта, че 1000 има само 4 символа, при създаване string последният "слот" в buffera е резервиран за числото 0, съответно плъгинът ще прочете 100.
Пример - ако искаш да сложиш текста "test" в Arg[4], то ще изглежда така:
Arg[0] = 't'
Arg[1] = 'e'
Arg[2] = 's'
Arg[3] = 0
И ще се запази като "tes". Обаче ако го направиш Arg[5]:
Arg[0] = 't'
Arg[1] = 'e'
Arg[2] = 's'
Arg[3] = 't'
Arg[4] = 0
Иначе това player = str_to_num(Arg) и проверката дали е в сървъра не е правилен начин за таргетиране на играч. Ползвай cmd_target. Ще работи и така, обаче не е правилно.
Добавено преди 17 минути 38 секунди:
Въпреки факта, че 1000 има само 4 символа, при създаване string последният "слот" в buffera е резервиран за числото 0, съответно плъгинът ще прочете 100.
Пример - ако искаш да сложиш текста "test" в Arg[4], то ще изглежда така:
Arg[0] = 't'
Arg[1] = 'e'
Arg[2] = 's'
Arg[3] = 0
И ще се запази като "tes". Обаче ако го направиш Arg[5]:
Arg[0] = 't'
Arg[1] = 'e'
Arg[2] = 's'
Arg[3] = 't'
Arg[4] = 0
Иначе това player = str_to_num(Arg) и проверката дали е в сървъра не е правилен начин за таргетиране на играч. Ползвай cmd_target. Ще работи и така, обаче не е правилно.
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 10 Отговори
- 3227 Преглеждания
-
Последно мнение от JackEyedJones
-
- 0 Отговори
- 1311 Преглеждания
-
Последно мнение от jumby1990
-
- 4 Отговори
- 2091 Преглеждания
-
Последно мнение от OciXCrom
-
- 2 Отговори
- 1418 Преглеждания
-
Последно мнение от FPS-Gam3r
-
- 4 Отговори
- 2305 Преглеждания
-
Последно мнение от cant be killed
-
- 5 Отговори
- 4310 Преглеждания
-
Последно мнение от wildbiker
-
- 1 Отговори
- 1110 Преглеждания
-
Последно мнение от rago12
Кой е на линия
Потребители разглеждащи този форум: Bing [Bot] и 11 госта