Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CS:GO

Przesłanie kilku zmiennych do CreateTimer oraz wywołanie go kilka razy

cs:go

Najlepsza odpowiedź plx211, 17.02.2015 23:34

Masz tam wszystko, od ilości wywołań timera po przekazywanie większej ilości danych (data packs)
https://wiki.alliedm...eMod_Scripting) Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 17.02.2015 22:48

Witam.

 

Mam pytanie i problem: Jak wywołać timer określoną liczbę razy np. 5?

 

A problem jest taki że nie udaje mi się wysłać do funkcji CreateTimer 2 zmiennych. Robię to tak:

public SpawnEnt(client)
{
    decl Float:Location[3];
    decl Float:Angles[3];
    decl Float:PlayerOrigin[3];

    GetClientAbsOrigin(client, PlayerOrigin);
    GetClientEyeAngles(client, Angles);

    Location[0] = (PlayerOrigin[0] + (10 * Cosine(DegToRad(Angles[1]))));
    Location[1] = (PlayerOrigin[1] + (10 * Sine(DegToRad(Angles[1]))));
    Location[2] = (PlayerOrigin[2] + 20);
    
    decl ent;
    ent = CreateEntityByName("prop_dynamic_override");
    
    DispatchKeyValue(ent, "model", MEDKIT_MODEL);
    
    DispatchSpawn(ent);
    
    TeleportEntity(ent, Location, NULL_VECTOR, NULL_VECTOR);
    
    new Handle:kv = CreateKeyValues("data")
    KvSetNum(kv, "client", client);
    KvSetNum(kv, "ent", ent);
    
    CreateTimer(1.5, Lecz, kv);
    CloseHandle(kv);
    
    

    return 0;
}

public Action:Lecz(Handle:timer, any:data)
{
    new Handle:kv = Handle:data;
    new client = KvGetNum(kv, "client", -1); //tu jest błąd
    new ent = KvGetNum(kv, "ent", -1);
    
    new Float: locationEnt[3], Float:locationPlayer[3], Float:locationOwner[3];
    GetClientAbsOrigin(ent, locationEnt);
    GetClientAbsOrigin(client, locationOwner);
    
    
    //rozchodzace sie kolo
    new ringColor[4]={0,255,0,0};
    TE_SetupBeamRingPoint(locationEnt,20.0,200.0,g_sprite,0,0,15,1.0,15.0,0.0,ringColor,1,0);
    TE_SendToAll();
    
    for(new i = 1; i <= MaxClients; i++)
    {
        if(!IsClientConnected(i) || i == client || GetClientTeam(client) == GetClientTeam(i))
            continue;
        if(!IsPlayerAlive(i))
            continue;
        
        GetClientAbsOrigin(i, locationPlayer);
            
        if(GetVectorDistance(locationEnt, locationPlayer) <= 200.0)
        {
            //code here
        }
    }
}

I w linijce  new client = KvGetNum(kv, "client", -1) wyświetla błąd:

L 02/17/2015 - 22:42:15: [SM] Native "KvGetNum" reported: Invalid key value handle 242017a (error 3)
L 02/17/2015 - 22:42:15: [SM] Displaying call stack trace for plugin "0.medyk.smx":
L 02/17/2015 - 22:42:15: [SM]   [0]  Line 97, 0.medyk.sp::Lecz()

Wie ktoś jak to poprawnie przesłać?


  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#2 plx211

    Wszechpomocny

  • Użytkownik

Reputacja: 231
Wszechwidzący

  • Postów:397
  • Lokalizacja:Polska
Offline

Napisano 17.02.2015 23:34   Najlepsza odpowiedź

Masz tam wszystko, od ilości wywołań timera po przekazywanie większej ilości danych (data packs)
https://wiki.alliedm...eMod_Scripting)
  • +
  • -
  • 0

#3 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 176
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 18.02.2015 11:28

Dzięki, działa :D


  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.






Również z jednym lub większą ilością słów kluczowych: cs:go

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych