Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Rotcod poslato Septembar 12, 2010, 19:40:54 POSLE PODNE

Naslov: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 19:40:54 POSLE PODNE
Ovako ja sad zelim napraviti npr kad dodjem na jedan odredjeno mesto da mi se pojavi text onaj http://wiki.sa-mp.com/wiki/GameTextStyle (http://wiki.sa-mp.com/wiki/GameTextStyle) i kad odem sa te pozicije da nestane ili da stoji kratko i nestane ? Molim vas pomozite mi ...
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LordShigi poslato Septembar 12, 2010, 19:47:25 POSLE PODNE
Pa imas parametar u kojem odredujes kolko dugo da stoji.
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 20:01:34 POSLE PODNE
Pa u kom smislu da napravim sve to sa tekstom daj mi neki primer
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: NO.1 L3O poslato Septembar 12, 2010, 20:06:54 POSLE PODNE
kolko ja znam ima

SetGameModeText(playerid, "ovo je taj text", 5000);
ovo "5000" bi trebo biti tvoj broj koji mjenjaš ako hoces da ostane duže izražen je u milisekundama kao i sve ostalo
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 20:09:27 POSLE PODNE
da ali gde se stavlja to kako range of point
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Pika Mika poslato Septembar 12, 2010, 20:12:31 POSLE PODNE
pronadji tut za isplayerinarea funkciju, te ce ti tu, sve dok si na jednom mjestu, stojati taj tekst, a kada odes odatle, tekst ce nestat ;)....
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 21:09:56 POSLE PODNE
Dajte mi napravite neku najprostiju molim vas ...
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Pika Mika poslato Septembar 12, 2010, 21:11:48 POSLE PODNE
Citat: .::David Skrbic::. poslato Septembar 12, 2010, 21:09:56 POSLE PODNE
Dajte mi napravite neku najprostiju molim vas ...

samo da te pitam. Da li ti zelis da npr. ako je neko u podrucju npr. citavog aera, da mu pise npr. Na aeur ste ili nesto sl.?? Ako to oces, reci da ti objasnim, odnosno uputim :D
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 21:28:55 POSLE PODNE
evo recimo ovako ja dodjem na jedan pickup koji napravim recimo za enter i pojavi mi se text styl 4 ovako Baza GPF i tako nes i kad odem nestane
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Pika Mika poslato Septembar 12, 2010, 21:33:51 POSLE PODNE
pa jednostano stavis, da ti se pokaze 5-10 sekundi :D
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 21:45:08 POSLE PODNE
JEBOTE jer nekontas ja pitam da li moze neko da mi stavi primer znam i ja da postavim na 10 sec i to ali meni treba primer gde sta stavim kako to izgleda? u PAWNU
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: SlicK poslato Septembar 12, 2010, 21:50:59 POSLE PODNE
ispod "public CustomPickups" stavis:
if(PlayerToPoint(2.0,i,x,y,z))
{
      SetGameModeText(playerid, "text koj zelis", 5000);
}

ako vec imas nesto ispod dodaj ispred "if" = "else if"
i to je to...Ako sam te dobro razumio   ;)
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 12, 2010, 22:04:38 POSLE PODNE
Da pojasnim na sta mislim ...

1. Dodjem do ulaza baze na pickup kod entera
2. Pojavi mi se tekst na ovu foru http://wiki.sa-mp.com/wroot/images2/1/13/Game-text-type3.jpg (http://wiki.sa-mp.com/wroot/images2/1/13/Game-text-type3.jpg)
3. Kad odem sa pickupa ili kad prodje pet sec ono da nestane ...

Nadam se da sam dobro pojasnio...
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: SlicK poslato Septembar 12, 2010, 22:05:22 POSLE PODNE
Citat: .::David Skrbic::. poslato Septembar 12, 2010, 22:04:38 POSLE PODNE
Da pojasnim na sta mislim ...

1. Dodjem do ulaza baze na pickup kod entera
2. Pojavi mi se tekst na ovu foru http://wiki.sa-mp.com/wroot/images2/1/13/Game-text-type3.jpg (http://wiki.sa-mp.com/wroot/images2/1/13/Game-text-type3.jpg)
3. Kad odem sa pickupa ili kad prodje pet sec ono da nestane ...

Nadam se da sam dobro pojasnio...


E pa tocno to sam ti sad i napisao  :-\

Edit: Ako zelis mjenjati boju texta dodas samo ispred teog texta naprimjer:
zuto:
SetGameModeText(playerid, "~y~ovo je taj text", 5000);
zeleno:
SetGameModeText(playerid, "~g~ovo je taj text", 5000);
plavo
SetGameModeText(playerid, "~b~ovo je taj text", 5000);
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Virus xD ☞ Weed is ✔ poslato Septembar 12, 2010, 22:21:35 POSLE PODNE
ovako treba ti rpvo kako napraviti text
http://wiki.sa-mp.com/wiki/TextDrawCreate (http://wiki.sa-mp.com/wiki/TextDrawCreate)

poslej toga napraviš areu
http://wiki.sa-mp.com/wiki/Areacheck (http://wiki.sa-mp.com/wiki/Areacheck)

ili ako zelis mozes i preko piskupa
http://wiki.sa-mp.com/wiki/Pickup_help (http://wiki.sa-mp.com/wiki/Pickup_help)
-http://wiki.sa-mp.com/wiki/OnPlayerPickUpPickup (http://wiki.sa-mp.com/wiki/OnPlayerPickUpPickup)
i kad plajer uđe u piskup startaš timer koji poziva funkciju
TextDrawHideForPlayer(playerid, Textdraw[playerid]); (http://wiki.sa-mp.com/wiki/TextDrawHideForPlayer)


ps. umjesto komande samo slozis timer koji bi refresao ako si u areji





evo primjera kako bi mogao napraviti
PS nisam stucan u pawnu nisam jako dugo skriptao

forward EndTextDraw();
new Text:PickupTextdraw;
public OnGameModeInit() {
    PickupTextdraw = TextDrawCreate(240.0,580.0,"Pickup Pokupljen");
    textpickup = CreatePickup(2894, 1, X, Y, Z, -1);
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid) {
    if(pickupid == textpickup)
    TextDrawShowForPlayer(playerid,PickupTextdraw);
    SetTimer("EndTextDraw",3000,false);
    return 1;
}
   
public EndTextDraw() {
    TextDrawHideForPlayer(playerid, PickupTextdraw);
}


Nadam se da sam pomogao





EDIT #3
aa evo naletio na ovo kad listao kroz viki
http://wiki.sa-mp.com/wiki/GameTextForPlayer (http://wiki.sa-mp.com/wiki/GameTextForPlayer)

sad ovo kaj sam bio zakoplicirao mozes laganije sloziti

npr:


public OnGameModeInit() {
    textpickup = CreatePickup(2894, 1, X, Y, Z, -1);
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid) {
    if(pickupid == textpickup) GameTextForPlayer(playerid, Pickup Pokupljen, 3000, 3);
    return 1;
}
   


al za ono tvoje kad odeš s njega da odma netsane malo ću posurfat po viki možda ima nekaj korisnok



EDIT #4

jbg mogao bi nekako složiti ali bi bilo jako sjebano i jako bi ti koćilo skriptu nad više playera
najednotavnije ti je da složš kao na ovom drugo primjeru
puno lakše ćeš napraviti, a i nije potrebno dodano koplicirati
nije to mta da imas puno Callbacks
ovo je samp i imas samo par komada osim ako nemaš volje raditi svoje
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 13, 2010, 09:47:03 PRE PODNE
Citat: â–º|Slick|Crack|â—,, poslato Septembar 12, 2010, 21:50:59 POSLE PODNE
ispod "public CustomPickups" stavis:
if(PlayerToPoint(2.0,i,x,y,z))
{
      SetGameModeText(playerid, "text koj zelis", 5000);
}

ako vec imas nesto ispod dodaj ispred "if" = "else if"
i to je to...Ako sam te dobro razumio   ;)

Kad sam to uradio ja complite i izadje eror i jedna greska...


D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(68640) : warning 213: tag mismatch
D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(68642) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.


evo ga to ...


else if(IsPlayerInRangeOfPoint(2.0,i,1462.1191,-1013.2958,26.8438))
                {
                SetGameModeText(playerid, "Banka da udjes klikni enter!", 5000);
                }


Za waring znam samo uklonim i ali ostane taj error?
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Virus xD ☞ Weed is ✔ poslato Septembar 13, 2010, 11:29:17 PRE PODNE
ovaj dodaj ta skripta najde playerovo ime :P i onda ubacis plajerovo ime funkciju

GetPlayerName(playerid, name, sizeof(name));




                playerid2 = GetPlayerName(playerid, name, sizeof(name));
else if(IsPlayerInRangeOfPoint(2.0,i,1462.1191,-1013.2958,26.8438))
                {
                     SetGameModeText(playerid2, "Banka da udjes klikni enter!", 5000);
                }


si probao sa time?
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 13, 2010, 11:37:37 PRE PODNE
Cek de to stavim get player name?
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LordShigi poslato Septembar 13, 2010, 12:27:45 POSLE PODNE
Koji k***c ti tu radis?????

1. Neznas koristiti funkciju IsPlayerInRangeOfPoint
2. Kakav SetGameModeText trebe lupa po glavi????????
3. I kako ces prikazati taj "text" koji nisi uspio napraviti "playerid"-u kad ga nemas definirano. Moras ga prikazati "i"-u
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 13:18:21 POSLE PODNE
A kakve sve [cenzura]osti ovdje na ovom forumu necu vidjet, haha, setgamemodetext -.-

Znaci ovako, slozis neki timer, i da u tom timeru, u tom callbacku da provjeri uvijek dali je igrac na tom i tom mjestu, ako je, onda mu prikaze text(npr. na 5 sec), ako nije, return..

znaci

SetTimer("nekitimer",1000,1);

forward nekitimer();
public nekitimer()
{
      foreach(Player,i)
      {
           if(IsPlayerInRangeOfPoint(i,10.0,x,y,z))
           {
                GameTextForPlayer(i, "Vi sada stojite tu!", 5000, 4);
                return 1;
           }
           return 1;
      }
}


Napomena: Ovo je samo PRIMJER, i trebas foreach funkciju od y_lessa za ovo
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: SlicK poslato Septembar 13, 2010, 15:58:09 POSLE PODNE
else if(IsPlayerInRangeOfPoint(2.0,i,1462.1191,-1013.2958,26.8438)) 

     SetGameModeText(i, "Banka da udjes klikni enter!", 5000); 


To stavi i radit ce!
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 16:17:59 POSLE PODNE
AAAAAAAAAAA opet ovaj SetGameModeText haha, ja sam mu dobro poslao, ne lupetaj ;)
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LordShigi poslato Septembar 13, 2010, 16:18:41 POSLE PODNE
Da slick ne lupetaj, opet ima ovaj SetGameModeText i jos nije ispravljena greska s IsPlayerInRangeOfPoint
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 13, 2010, 18:30:52 POSLE PODNE
Citat: LordShigi poslato Septembar 13, 2010, 16:18:41 POSLE PODNE
Da slick ne lupetaj, opet ima ovaj SetGameModeText i jos nije ispravljena greska s IsPlayerInRangeOfPoint

Ajde ti pametni uzmi lepo i stavi mi kako treba samo spamas nedajes primer igracima tebi treba skinuti smoda  :-\ I SAD MI RECITE STA DA ISKORISTIM I MOLIM VAS NELUPETAJTE PO TEMAMA!

EDIT KAD uradim po ovome :

else if(IsPlayerInRangeOfPoint(2.0,i,1462.1191,-1013.2958,26.8438)) 

     SetGameModeText(i, "Banka da udjes klikni enter!", 5000); 
}


izadje error i waring

D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(68374) : warning 213: tag mismatch
D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(68376) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Virus xD ☞ Weed is ✔ poslato Septembar 13, 2010, 18:47:31 POSLE PODNE
daj em add na MSN henix@Windowslive.com ili na x-f: hidrian ( 1 ti je mjesto x-fire a onda MSN :P nemoj na obadvoej dodavat )
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 18:49:28 POSLE PODNE
David a da radis mozda po mome pa ti nebi bilo errora?
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: John poslato Septembar 13, 2010, 19:08:40 POSLE PODNE
Citat: .::David Skrbic::. poslato Septembar 13, 2010, 18:30:52 POSLE PODNE
Citat: LordShigi poslato Septembar 13, 2010, 16:18:41 POSLE PODNE
Da slick ne lupetaj, opet ima ovaj SetGameModeText i jos nije ispravljena greska s IsPlayerInRangeOfPoint

Ajde ti pametni uzmi lepo i stavi mi kako treba samo spamas nedajes primer igracima tebi treba skinuti smoda  :-\ I SAD MI RECITE STA DA ISKORISTIM I MOLIM VAS NELUPETAJTE PO TEMAMA!

EDIT KAD uradim po ovome :

else if(IsPlayerInRangeOfPoint(2.0,i,1462.1191,-1013.2958,26.8438)) 

     SetGameModeText(i, "Banka da udjes klikni enter!", 5000); 
}


izadje error i waring

D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(68374) : warning 213: tag mismatch
D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(68376) : error 035: argument type mismatch (argument 1)
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


1 Error.



Dao ti je dobar primjer, a ti se i dalje pravis glup, kakav gamemodetext te sora, eto ti ako se pogubis quote od onog sto trebas napraviti



Citat: LuKsA poslato Septembar 13, 2010, 13:18:21 POSLE PODNE
A kakve sve [cenzura]osti ovdje na ovom forumu necu vidjet, haha, setgamemodetext -.-

Znaci ovako, slozis neki timer, i da u tom timeru, u tom callbacku da provjeri uvijek dali je igrac na tom i tom mjestu, ako je, onda mu prikaze text(npr. na 5 sec), ako nije, return..

znaci

SetTimer("nekitimer",1000,1);

forward nekitimer();
public nekitimer()
{
      foreach(Player,i)
      {
           if(IsPlayerInRangeOfPoint(i,10.0,x,y,z))
           {
                GameTextForPlayer(i, "Vi sada stojite tu!", 5000, 4);
                return 1;
           }
           return 1;
      }
}


Napomena: Ovo je samo PRIMJER, i trebas foreach funkciju od y_lessa za ovo
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 19:13:01 POSLE PODNE
Takoder, ako nemas foreach, skini ga jednostavno i includaj, ali ako to neznas zamjenis foreach sa

for(new i = 0; i < MAX_PLAYERS; i++)
{
     if(IsPlayerConnected(i))
     {

i dodas jos } na kraju
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 13, 2010, 19:21:20 POSLE PODNE
Citat: LuKsA poslato Septembar 13, 2010, 13:18:21 POSLE PODNE
A kakve sve [cenzura]osti ovdje na ovom forumu necu vidjet, haha, setgamemodetext -.-

Znaci ovako, slozis neki timer, i da u tom timeru, u tom callbacku da provjeri uvijek dali je igrac na tom i tom mjestu, ako je, onda mu prikaze text(npr. na 5 sec), ako nije, return..

znaci

SetTimer("nekitimer",1000,1);

forward nekitimer();
public nekitimer()
{
      foreach(Player,i)
      {
           if(IsPlayerInRangeOfPoint(i,10.0,x,y,z))
           {
                GameTextForPlayer(i, "Vi sada stojite tu!", 5000, 4);
                return 1;
           }
           return 1;
      }
}


Napomena: Ovo je samo PRIMJER, i trebas foreach funkciju od y_lessa za ovo

sa tvojim ovi errori

D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(76883) : error 017: undefined symbol "foreach"
D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(76885) : error 017: undefined symbol "i"
D:\Server BY David\BETA\SRP 3.0b (Najnoviji)\gamemodes\larp.pwn(76887) : error 017: undefined symbol "i"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 19:25:05 POSLE PODNE
Omfg, ti znas citat, si pohadao prvih 4 razreda? Citaj sta sam sve napisao, post po post :S
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 13, 2010, 19:29:31 POSLE PODNE
Jer mi mozes redom napraviti postupak gde sta ide ... I ja nisam pohado jesam pohadjao ...

recimo

na kraj skripte to public


public nekitimer()
{
      foreach(Player,i)
      {
           if(IsPlayerInRangeOfPoint(i,10.0,x,y,z))
           {
                GameTextForPlayer(i, "Vi sada stojite tu!", 5000, 4);
                return 1;
           }
           return 1;
      }
}


i tako nekako da mi objasnis de sta ide
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LordShigi poslato Septembar 13, 2010, 19:43:53 POSLE PODNE
Isuse jesi li ti mentalno izazvan. SVE ali bas SVE ti je dao. Samo bacis u skriptu i to je to.
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 19:45:30 POSLE PODNE
Opce ne citas moje postove a? Dok sam govorio da mozes zamjeniti sa for(new.....

Ajde ovako cu ti sad

SetTimer("nekitimer",1000,1);//TO IDE POD ONGAMEMODEINIT

forward nekitimer();//TO IDE NA KRAJ SKRIPTE
public nekitimer()//ISTO NA KRAJ SKRIPTE
{
     for(new i = 0; i < MAX_PLAYERS; i++)
    {
          if(IsPlayerConnected(i))
  {
               if(IsPlayerInRangeOfPoint(i,10.0,x,y,z))
               {
                    GameTextForPlayer(i, "Vi sada stojite tu!", 5000, 4);
                    return 1;
               }
          }
    }
    return 1;
}


Jasno je sad?.. ovo if(IsPlayerInRangeOfPoint(i,10.0,x,y,z)) to promjenis X Y i Z
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: Rotcod poslato Septembar 13, 2010, 20:04:23 POSLE PODNE
Citat: LuKsA poslato Septembar 13, 2010, 19:45:30 POSLE PODNE
Opce ne citas moje postove a? Dok sam govorio da mozes zamjeniti sa for(new.....

Ajde ovako cu ti sad

SetTimer("nekitimer",1000,1);//TO IDE POD ONGAMEMODEINIT

forward nekitimer();//TO IDE NA KRAJ SKRIPTE
public nekitimer()//ISTO NA KRAJ SKRIPTE
{
     for(new i = 0; i < MAX_PLAYERS; i++)
    {
          if(IsPlayerConnected(i))
  {
               if(IsPlayerInRangeOfPoint(i,10.0,x,y,z))
               {
                    GameTextForPlayer(i, "Vi sada stojite tu!", 5000, 4);
                    return 1;
               }
          }
    }
    return 1;
}


Jasno je sad?.. ovo if(IsPlayerInRangeOfPoint(i,10.0,x,y,z)) to promjenis X Y i Z

RESPECT ! Puno ti hvala to je to i sad ako recimo hocu belu boju teksta samo stavim ~w~ ili ~b~  ;D
Naslov: Odg: [Pomoc] Pozicija teksta
Poruka od: LuKsA poslato Septembar 13, 2010, 20:09:27 POSLE PODNE
Da, imas ~w~ ~b~ ~l~ - light(svjetlije), ~r~ ~y~...