Õpetuste kogumik
#1
Ma olen keskmise oskusega skriptija (enda arvates). Saan kuidagi midagi kokku kirjutatud, aga on palju asju millest päris hästi aru ei saa.

Sellepärast mõtlesin et teen postituse (loodan et keegi ei pahanda ja tegin õige teema alla) kuhu siis võiks koguda kõik seletused mingitest asjadest ja õpetuse, et hiljem teha üks õpetuste kogumik kus oleks teemade kaupa kõik olemas kus saaksid kõik vaadata ja algajad õppida.

Lisage ise siia juurde õpetusi, tähendusi jne mis pähe tuleb.

Küsimused mis mul hetkel pähe tuleb:

1. Keegi võiks seletada ära mis vahe on kui ma teen funktsioone( või kuidas õigem oleks)
Code:
stock Funktsioon() = Ei näita funktsiooni erroreid, kui seal peaks midagi valesti olema
forward Funktsioon()
või siis lihtsalt
Funktsioon()

Ise esialgu lisan siis väikse õpetuse/tähenduse mida siis mulle õpetatud on (Vent poolt):

1. Mis täht on millegi jaoks:
%s = Tähed (Kasutada kuupäeva puhul)
%d = Numbrid
%i = Suur kogus numbreid
%0.f = Float

Hakkan seda teemat koguaeg uuendama kui midagi pähe tuleb.
Reply
#2
Tegelt on Funktsioon vist? mitte funksioon, just sayin'
Reply
#3
kasutades stock'i, ei näita funktsiooni erroreid, kui seal peaks midagi valesti olema. kuupäeva jaoks ma kasutaks %s kuna seal on ka punktid sees.
jõu kuttit!!!!!!
Reply
#4
Hmm aga milleks see siis hea on kui ta ei näita neid? Ja mis on forward-iga erinevust või selle mõte? Või seda saab siis lihtsalt Timeril kastutada?

Ja parandan ära selle kuupäeva värgi.
Reply
#5
stocki jaoks ei olnud minuarust forwardi vaja, muud midagi.
jõu kuttit!!!!!!
Reply
#6
Stock lisatakse amx-i ainult siis, kui seda on kuskil skriptis kasutatud ja seega ei pruugita näidata erroreid. %d-l ja %i-l ei tohiks mingit vahet olla ja %s kuupäeva jaoks oleneb täiesti skriptist.

Kahe esimese puhul 100% kindlat vastust muidugi ei anna.

Edit:
Public oleks mõtekas kasutada ainult siis, kui funktsiooni kutsutakse välja timerina või CallLocalFunction/CallRemoteFunction kaudu, sest see salvestatakse nime järgi, mis lisab veidi amxile suurust.
Sex, Drums and Rock'n'Roll
Reply
#7
Kohe küsin vastu (loodan et väga loll ei paista) aga mis on amx , mis on CallLocalFunction/CallRemoteFunction, ehk seletaksid väheke lahti seda et paremini aru saaksin.
Reply
#8
Amx on *.amx fail, mis genereeritakse compilemisel. CallLocalFunction ja CallRemoteFunction on funktsioonid, millega saab funktsioone nimepidi välja kutsuda. Neid kasutatakse näiteks ZCMDis jt command processorites (CallLocalFunction) ja kui on vaja mõnest teisest scriptist (FSist või siis GMist) funktsiooni välja kutsuda (CallRemoteFunction).
Sex, Drums and Rock'n'Roll
Reply
#9
Omg Big Grin kus mu mõistus on Big Grin nüüd jah tuli meelde mis amx on Big Grin
Ja nüüd sain vist pihta mis on CallLocalFunction ja CallRemoteFunction

CallLocalFunction = Tähendab kui on tegu samast GM-ist funktsiooniga
CallRemoteFunctio = Tähendab kui on tegu mõnest muust GM-ist / SF-ist funktsiooniga

Aga oskad sa näiteid ka tuua nende kohta?
Reply
#10
CallRemoteFunctioni kohta:
Filterscriptis näiteks:
    PAWN Programming
  1. // Filterscriptis näiteks: (saad kasutada getPlayerGroup nagu GMis
  2. getPlayerGroup(playerid) return CallRemoteFunction("getPlayerGroup", "d", playerid);
  3.  
  4. // Gamemodes:
  5. forward getPlayerGroup(playerid);
  6. public getPlayerGroup(playerid) return pInfo[playerid][pGroup];



CallLocalFunctioni kasutatakse üldjuhul natuke teisel põhimõttel. Näiteks võttes ZCMD includest sellise define:
    PAWN Programming
  1. #define COMMAND:%1(%2) \
  2. forward cmd_%1(%2); \
  3. public cmd_%1(%2)


See tähendab, et näiteks COMMAND:abi(playerid, params) tehakse ümber selleks:
    PAWN Programming
  1. forward cmd_abi(playerid, params);
  2. public cmd_abi(playerid, params)



Nüüd, OnPlayerCommandText callbackis tehakse näiteks command /abi ümber cmd_abi-ks (formatiga) ja saab kutsuda CallLocalFunctioniga selle välja.
Aga miks seda niisama teha ei saa? Seda ei saa niisama välja kutsuda seepärast, et sa ei tea, mis commandi kasutaja võib kirjutada ja väga tülikas oleks koguaeg commandeid nimekirjas uuendada (if ja strcmp - kiiruse poolest vahet ei oleks).

Nüüd läks vist veel segasemaks, aga küsi ainult! Smile
Sex, Drums and Rock'n'Roll
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)