Jump to content
  • 0

Problema Spec Off


Rayan

Question

Salut, cateodata pe server cand dau ALT sa ma pun Spec OFF inloc sa ma dea in pozitia salvata (atunci cand dau /spec [id] inainte sa ma puna spec imi salveaza locatia) cateodata imi da spawn si nu ma mai teleporteaza in locatia salvata.

 

Si am facut sa mi se salveze Hp-ul si Armura, insa la fel, cand dau spec off nu imi pune HP-ul si Armura pe care i-am avut initial. (imi pune HP 1 si Armura 1)

 

OnPlayerSpawn: https://pastebin.com/47rPrz58

Cand salvez la /spec pozitia la jucator: https://pastebin.com/CmkLdhfL

Si Spec OFF de pe ALT: https://pastebin.com/71hYNUyu

Edited by Rayan
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Pentru ca tu incerci sa salvezi intr-o variabila o functie care de fapt intoarce o valoare prin referinta

http://wiki.sa-mp.com/wiki/GetPlayerHealth

Trebuie sa pui acel BeforeSpectacting in GetPlayerHealth pentru ca tu vei avea mereu 1 in acea variabila pentru ca functia intoarce  1 daca a putut lua viata...

Si nu ai la specoff SetPlayerPos si etc(ca sa seteze pozitia veche) sau nu vad la specoff ca dai (re)spawn la player ca sa fie chemata functia OnPlayerSpawn...

Link to comment
Share on other sites

  • 0
La 10/9/2017 la 16:25, Banditul a spus:

Pentru ca tu incerci sa salvezi intr-o variabila o functie care de fapt intoarce o valoare prin referinta

http://wiki.sa-mp.com/wiki/GetPlayerHealth

Trebuie sa pui acel BeforeSpectacting in GetPlayerHealth pentru ca tu vei avea mereu 1 in acea variabila pentru ca functia intoarce  1 daca a putut lua viata...

Si nu ai la specoff SetPlayerPos si etc(ca sa seteze pozitia veche) sau nu vad la specoff ca dai (re)spawn la player ca sa fie chemata functia OnPlayerSpawn...

adica ceva de genul?

GetPlayerHealth(playerid, BeforeSpectate[playerid][pHealth]);
    GetPlayerArmour(playerid, BeforeSpectate[playerid][pArmour]);

Link to comment
Share on other sites

  • 0

De ce incerci sa iti salvezi hp/armura ? tu esti o fantoma find spec nu este nevoie sa fie salvat hp/armura si la coordonate fa in DB sa ramana salvat coordonatele dupa ce dai spec altfel daca dai pe a doua persoana salveaza datele de la ultima persoana ... adica daca tu esti in fata la LSPD si prima persoana ce dai spec este in SF si dupa dai pe o alta ce este in LV tie iti ia coordonatele de la persoana din SF, si in asa fel cu crearea coordonatelor in DB atunci cand dai /spec se salveaza si cand dai /specoff sau pe butonul ALT iti da coordonatele ce le-ai avut de la bun inceput si se sterg cand dai specoff.

Ce inseamna cuvantul "Unic" este atunci cand Chestia / Obiectul / Idea / etc... nu exista in alta parte.

Copii, nu mai veniti cu vorbe de "Am gamemode unic", nu exista asa ceva, la ora actuala totul este pe net.

Aveti grija pe cine ajutati, majoritatea sunt caini.

Link to comment
Share on other sites

  • 0
Acum 15 ore, StR_Marian a spus:

De ce incerci sa iti salvezi hp/armura ? tu esti o fantoma find spec nu este nevoie sa fie salvat hp/armura si la coordonate fa in DB sa ramana salvat coordonatele dupa ce dai spec altfel daca dai pe a doua persoana salveaza datele de la ultima persoana ... adica daca tu esti in fata la LSPD si prima persoana ce dai spec este in SF si dupa dai pe o alta ce este in LV tie iti ia coordonatele de la persoana din SF, si in asa fel cu crearea coordonatelor in DB atunci cand dai /spec se salveaza si cand dai /specoff sau pe butonul ALT iti da coordonatele ce le-ai avut de la bun inceput si se sterg cand dai specoff.

Nu man, inainte sa ma puna spectator verifica daca sunt sau nu spectate pe cineva, daca nu sunt adica pSpectate[playerid] == -1 (nu sunt spec) imi salveaza coordonatele, ex: nu sunt Spectate, dau /spec 1 imi salveaza pozitia mea, nu la jucator, dupa daca nu ies din spec si dau spectate pe altcineva /spec 2 (cum am zis mai devreme, nu imi salveaza pozitia daca sunt deja spec pe cineva), si dupa cand dau ALT ma da la pozitia salvata din primul spec.

Sunt LSPD, dau /spec 1 el e la Paramedic SF, dau /spec 2 el e LV, dau ALT ma da LSPD (unde eram initial), insa problema e ca caotedata nu ma da la pozitia salvata, ma da la spawn.

Link to comment
Share on other sites

  • 0
  1. BeforeSpectate[playerid][pHealth] = GetPlayerHealth(playerid, s_def[0]);
  2.     BeforeSpectate[playerid][pArmour] = GetPlayerArmour(playerid, s_def[1]);
Liniile astea 2 sunt gresite(fac parte din codul de la /spec). Corect sunt asa:
  1. GetPlayerHealth(playerid, s_def[0]BeforeSpectate[playerid][pHealth]);
  2.  GetPlayerArmour(playerid, s_def[1]BeforeSpectate[playerid][pArmour]);
si la spec off
pui setplayerhealt si setplayerarmour, setplayerpos si setplayervirtualworld.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.