Witam ![]()
posiadam tą ruletkę i nie potrafię tam dodać dodatkowych 2 skoków do losowania, mógłby mi to ktoś wytłumaczyć ?
zależy mi na tym żeby dodatkowe skoki były pobierane z cvaru. (po proszę przykładowy plugin)
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
jak dodac 2 skoki do ruletki ?
#1
Napisano 01.09.2014 17:52
Aktualny projekt: Dokumentacja Offline || [ 10% ]
#2
Napisano 01.09.2014 18:17
new ilosc_skokow
register_forward(FM_CmdStart, "CmdStart");
ilosc_skokow = register_cvar("amx_iloscskokow", "2");
public CmdStart(id, uc_handle)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = get_pcvar_num(ilosc_skokow);
return FMRES_IGNORED;
}
Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !
#3
Napisano 01.09.2014 18:19
new Skoki[33], DodatkoweSkoki[33]
new pCvarSkoki, maxpl
public plugin_init() {
register_forward(FM_CmdStart, "RealStartCMD")
register_logevent("KoniecRundy", 2, "1=Round_End")
register_event("TextMsg", "RestartContin", "a", "2&#Game_C")
pCvarSkoki = register_cvar("jb_ruletka_skoki", "4")
maxpl = get_maxplayers();
}
public RestartContin() usun()
public KoniecRundy() usun()
public usun() {
for(new i = 1; i <= maxpl; i ++) {
if(is_user_connected(i)) {
Skoki[i] = 1
DodatkoweSkoki[i] = false
}
}
}
public RealStartCMD(id, uc_handle, seed) {
if(DodatkoweSkoki[id]) {
new flagi = pev(id, pev_flags)
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flagi & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && Skoki[id]) {
Skoki[id]--
new Float:velocity[3]
pev(id, pev_velocity,velocity)
velocity[2] = random_float(265.0, 285.0)
set_pev(id, pev_velocity, velocity)
}
else if(flagi & FL_ONGROUND) Skoki[id] = get_pcvar_num(pCvarSkoki)
}
return 0
}
case iles_tam: {
ShowSyncHudMsg(0, hud[0], "[%s] %s wygral DODATKOWE SKOKI", TAG, nick)
ColorChat(id, GREEN, "[%s]^x01 Wylosowales %i dodatkowe skoki w powietrzu.", TAG, get_pcvar_num(pCvarSkoki))
Skoki[id] = get_pcvar_num(pCvarSkoki)
DodatkoweSkoki[id] = true
}
#4
Napisano 01.09.2014 18:31
new Skoki[33], DodatkoweSkoki[33] new pCvarSkoki, maxpl public plugin_init() { register_forward(FM_CmdStart, "RealStartCMD") register_logevent("KoniecRundy", 2, "1=Round_End") register_event("TextMsg", "RestartContin", "a", "2&#Game_C") pCvarSkoki = register_cvar("jb_ruletka_skoki", "4") maxpl = get_maxplayers(); } public RestartContin() usun() public KoniecRundy() usun() public usun() { for(new i = 1; i <= maxpl; i ++) { if(is_user_connected(i)) { Skoki[i] = 1 DodatkoweSkoki[i] = false } } } public RealStartCMD(id, uc_handle, seed) { if(DodatkoweSkoki[id]) { new flagi = pev(id, pev_flags) if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flagi & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && Skoki[id]) { Skoki[id]-- new Float:velocity[3] pev(id, pev_velocity,velocity) velocity[2] = random_float(265.0, 285.0) set_pev(id, pev_velocity, velocity) } else if(flagi & FL_ONGROUND) Skoki[id] = get_pcvar_num(pCvarSkoki) } return 0 } case iles_tam: { ShowSyncHudMsg(0, hud[0], "[%s] %s wygral DODATKOWE SKOKI", TAG, nick) ColorChat(id, GREEN, "[%s]^x01 Wylosowales %i dodatkowe skoki w powietrzu.", TAG, get_pcvar_num(pCvarSkoki)) Skoki[id] = get_pcvar_num(pCvarSkoki) DodatkoweSkoki[id] = true }
a co jeśli mam takie coś:
public Poczatek_Rundy()
{
for (new i=0; i<33; ++i)
if (is_user_connected(i))
set_user_footsteps(i, 0)
DodatkoweSkoki(i) = false
}
to wyżej jest zamiast tego:
public usun()
i jak teraz powinien wyglądać mój kod ?
Aktualny projekt: Dokumentacja Offline || [ 10% ]
#5
Napisano 01.09.2014 18:39
public Poczatek_Rundy()
{
for (new i=0; i<33; ++i)
if (is_user_connected(i))
set_user_footsteps(i, 0)
Skoki[i] = 1
DodatkoweSkoki[i] = false
}
albo
public Poczatek_Rundy() usun()
public usun() {
for(new i = 1; i <= maxpl; i ++) {
if(is_user_connected(i)) {
Skoki[i] = 1
DodatkoweSkoki[i] = false
}
}
}
#6
Napisano 01.09.2014 18:43
opcja 1:
rangi.sma(64) : error 017: undefined symbol "i" rangi.sma(64 -- 65) : warning 215: expression has no effect rangi.sma(65) : error 017: undefined symbol "i" rangi.sma(65 -- 67) : warning 215: expression has no effect
Opcja 2:
rangi.sma(62) : error 017: undefined symbol "maxpl"
ps.
nie dodawałem tego bo po co to? ![]()
Aktualny projekt: Dokumentacja Offline || [ 10% ]
#7
Napisano 01.09.2014 18:45
public Poczatek_Rundy() usun()
public usun() {
for(new i = 1; i <= get_maxplayers(); i ++) {
if(is_user_connected(i)) {
Skoki[i] = 1
DodatkoweSkoki[i] = false
}
}
}
lub dodaj new maxpl i maxpl = get_maxplayers()
Użytkownik k4x4z5 edytował ten post 01.09.2014 18:47
#8
Napisano 01.09.2014 18:53
skompilowałem ale teraz w ogóle nie działa plugin, tzn. nie działa komenda /test (komenda wywołuję funkcje ruletki)
Aktualny projekt: Dokumentacja Offline || [ 10% ]
#10
Napisano 01.09.2014 19:25
mogę podać na pw?
nie chce udostępniać pliku
Aktualny projekt: Dokumentacja Offline || [ 10% ]
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod













