PDA

View Full Version : [WarGods Tutorials Nr.10] Setarea echipelor



lAsuStarl
31-10-2015, 10:16 AM
Salutare,acesta este al 10-lea WarGods Tutorial,iar astazi vom rezolva un bug din engine-ul GoldSrc,iar acesta se numeste spec bug,manifestarea lui este in felul urmator,daca eu ma pun la spectator,si primesc respawn,voi putea juca,dar la echipa voi aparea ca fiind spectator.

1)Functiile de care o sa avem nevoie apartin unor 2 biblioteci:fun si cstrike,functiile arata cam asa:

cs_set_user_team(parametru,parametru)

cs_get_user_team(parametru) == Echipa,echipele sunt CS_TEAM_T,CS_TEAM_CT,CS_TEAM_SPECTATOR

cs_get_user_team(parametru) == CS_TEAM_SPECTATOR,va afla daca cineva se afla la spectator

2)Dupa cum bine vedeti prima functiie are 2 parametri:
*)"La cine sa-i setez echipa ?"
*)"La ce echipa sa-l pun ?"
-Acestia sunt ce-i 2 parametri,iar la cea de-a 2-a functie,exista un singur parametru,"La cine sa-i aflu echipa ?"

3)Cum am spus la inceput,vom verfica daca jucatorul primeste respawn la spectator,asta include biblioteca hamsandwich,iar codul este exact la fel ca si in tutorialul anterior,doar ca vom folosi si functiile invatate azi.

4)Codul nostru ar arata cam asa:

#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Spec Bug Fix"
#define VERSION "0.1"
#define AUTHOR "WarGods Tutorial"

public plugin_init()
{
RegisterHam(Ham_Spawn,"player","cmd_spawn")
}

public cmd_spam(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
user_silentkill(id)
cs_set_user_team(id,CS_TEAM_CT)
}
}

5)Daca vedeti am pus conditia if,deoarece eu gandesc in felu urmator:doar daca un jucator de la echipa spectator primeste respawn,doar atunci sa fie transferat la conter - terorists

6)Avem o functie noua user_silentkill(parametru),aceasta functie apartine biblioteci amxmodx,si e ca si cum,i da jucatorului kill in consola,are un singur parametru,"Pe cine sa omor?",si cu toate acestea am rezolvat un bug din engine-ul GoldSrc,felicitari :)

Acesta a fost al 10-lea WarGods Tutorials,pana data viitoare,numai bafta :P.