MAC1
Membru-
Posts
66 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
News
Documentation
Everything posted by MAC1
-
public OnPlayerSpawn(playerid) { switch (GetPlayerSkin(playerid)) { case 6, 44, 47: SetPlayerColor(playerid, 0xFF0000AA); // pentru astia, rosu case 280, 281, 282: SetPlayerColor(playerid, 0x0000FFAA); // pentru astia, albastru default: SetPlayerColor(playerid, 0xFFFFFFAA); // iar pentru restul, alb } return 1; }
-
Dupa ce se logheaza pe server (cel mai bine, in public-ul OnPlayerLogin(params) sau cum il ai tu definit): switch (GetPlayerSkin(playerid)) { // sau daca ai skin-ul salvat intr-o variabila, pui switch(PlayerVar[playerid][pSkin]) case 1: { // 1 fiind skin-ul jucatorului SetPlayerColor(playerid, 0xFFFFFFAA); // ... eventual poti sa mai bagi tu ceva pe-aici, tot in functie de skin } case 2: { // la fel } ... // tot asa default: { ... // asta e pentru un caz de baza, adica daca nu se incadreaza in nicio conditie de mai sus } }
-
Intra pe messenger si te ajut acolo.
-
Ti-am aratat prin TV cum se face, dar mai aveai 6 erori pentru ca erau niste comenzi in afara callback-ului "OnPlayerCommandText(params)" si nu stiu de ce ai inchis conexiunea. Tu ai vrut sa folosesti pAdmin intr-un filterscript, el fiind definit in gamemode, ceea ce nu se poate. Asa ca ti-am inlocuit cu PVars, ca sa fie compatibil cu ambele scripturi. Ca sa rezolvi si erorile alea 6, trebuie sa pui comenzile alea de jos in callback-ul "OnPlayerCommandText(params)".
-
Din .amx nu ai cum sa stergi pentru ca nu ai acces la editarea lui. Poate din .pwn vrei sa zici. Atata timp cat inca-ti apare: Error: Function not registered: 'CreateDummyBot' inseamna ca nu ai sters tot ce tine de 'CreateDummyBot'. Posteaza in continuare server-log.txt, dar pune-l si tu intre [ code ] [ /code ]
-
Pune chestia asta in gamemode: [pawn] public OnVehicleSpawn(vehicleid) { if(IsOwnableCar(vehicleid)) { // sau cum are sistemul asta definita functia care verifica daca e masina personala SetVehiclePos(vehicleid, VehInfo[vehicleid][Locatiex], VehInfo[vehicleid][Locatiey], VehInfo[vehicleid][Locatiez]); SetVehicleZAngle(vehicleid, VehInfo[vehicleid][Rotatie]); } return 1; } [/pawn] Dar vezi care-i functia care verifica daca o masina e personala...ca eu nu am de unde sa stiu, nu am vazut sistemul lui Gireada. // ti-am explicat prin TV cum.
-
Asta iti spune ceva? [19:33:29] Error: Function not registered: 'CreateDummyBot' Ti-am spus: scoate tot ce tine de DummyBot din gamemode-ul tau (.pwn) si din server.cfg
-
In pawno nu ai cum sa schimbi culoarea fontului pentru ca SyntaxHighlighter-ul e acelasi ca la C++ (dovada fiind "caracterul" OOP al programului, adica in momentul in care scrii in pawno public/private/struct/class/etc ti le coloreaza in albastru, desi in pawn exista doar public, pentru ca nu-i un limbaj de programare orientat pe obiecte). Eventual, poti mari fontul, sau sa-l schimbi. Uita-te in settings.ini si o sa vezi tu singur ce poti face si ce nu. #later edit: culoarea fontului am vrut sa zic, m-am grabit cand am scris, dar ai inteles tu.
-
E aceeasi problema ca aici: http://www.sa-mp.ro/forum/index.php?topic=27510.msg145739#msg145739 Ti-am mai aratat rezolvarea.
-
Incearca acum: if (strcmp(cmdtext, "/gungame", true) == 0) { if(gungame == 1) { if(PlayerInfo[playerid][pAdmin] >= 4) { GetPlayerName(playerid, sendername, sizeof(sendername)); SendClientMessageToAll(0xFFD700AA, "{99FF00}=========================== GunGame Event ==========================="); SendClientMessageToAll(0xFFD700AA, "{CCCCCC}Eventul {99FF00}GunGame {CCCCCC}este pe cale sa inceapa!"); SendClientMessageToAll(0xFFD700AA, "{CCCCCC}Acesta v-a incepe in {99FF00}30 de secunde{CCCCCC}, grabeste-te sa te inscri -> [/participa]"); SendClientMessageToAll(0xFFD700AA, "{99FF00}=========================== GunGame Event ==========================="); SetTimer("StartGunGame", 30000, 0); gungame = 0; } else { SendClientMessage(playerid, 0xFFFFFFAA, "Tu nu ai acces la aceasta comanda!"); } } else { SendClientMessage(playerid, COLOR_WHITE, "Un event GunGame e deja pornit , nu mai poti porni altul!"); } return 1; }
-
#acum am vazut ca ai pus si inc-ul. Eu am zis sa inlocuiesti cu enum-ul pe care-l ai tu acolo... stock SetPlayerMoney(playerid,howmuch) { PRIVATE_Last_Money[playerid]=howmuch; GivePlayerMoney(playerid,howmuch-GetPlayerMoney(playerid)); } pune iar chestia asta, cum era inainte si da-i un compile.
-
Pai iti poti schimba singur setarile din settings.ini (din folderul pawno). Verifica si asta: http://wiki.sa-mp.ro/index.php/Editoare_Scripting Sau poti scripta in orice editor de text mai avansat (ex: NotePad++) si ii schimbi tu setarile editorului, background color, font size, etc.
-
Pune si cateva linii de langa...sau mai bine pune toata comanda.
-
Eroarea de la linia 196 - in functia ta, forward-ul difera de public (ca si parametrii) + ca ai definit deja JB_SetPlayerMoney, sterge-l de-acolo! Eroarea de la linia 200 - Nu ai definit functia SetPlayerMoney. stock SetPlayerMoney(playerid, val) { ResetPlayerMoney(playerid); GivePlayerMoney(playerid, val); // eventual poti pune si un PData[playerid][pMoney] = val; sau cum ai tu enum-ul la jucatori return 1; }
-
Esti sigur ca ai sters tot ce tine de 'CreateDummyBot' din gamemode/server.cfg? Din cate stiu pluginul ala exista doar pentru 0.3c Posteaza server_log.txt iar.
-
Pune in callback-ul OnGameModeInit(), mysql_debug(1); apoi porneste serverul, intra de cateva ori pe el si copiaza aici tot ce apare in fisierul debug.txt. Adica sa vina cam asa: public OnGameModeInit() { ... // conexiunea la baza de date (daca o ai in main() nu e nicio problema, las-o acolo) mysql_debug(1); ... // alte chestii pe care le mai ai tu pe-aici } Daca e prea lung textul din debug.txt, pune-l pe pastebin si posteaza link-ul aici.
-
Poti fi putin mai explicit? Ce anume nu merge? Esti sigur ca ai toate table-urile create?
-
[SQLite] Crearea unui sistem de inregistrare/logare.
MAC1 replied to DarkyTheAngel's topic in Tutoriale
De fapt, "DB_Escape" e o functie care filtreaza un string, pentru a feri scriptul de SQL injection, nu e pus acolo doar "ca sa nu dea erori la compilare". E cam acelasi lucru cu mysql_real_escape_string(params), doar ca stock-ul asta e mult mai slab. In al doilea rand, tu salvezi datele jucatorului la OnPlayerDisconnect cu GetPlayerMoney(params) si GetPlayerScore(params) ceea ce nu-i indicat deloc pentru ca datele astea sunt luate din memoria calculatorului fiecarui jucator. Si e foarte usor sa gasesti o adresa de memorie si sa-i schimbi valoarea. Cam aiurea indentarea, dar asta nu conteaza...fiecare cu gusturile lui in programare. In rest, e destul de ok. -
[pawn] ReactionCash = 500 + random(500); [/pawn]
-
Uite tutorial zcmd: http://wiki.sa-mp.ro/index.php/Cum_folosim_Zcmd_si_Sscanf Tu in comanda ta, nu pui parametru pentru playerid, ci folosesti un loop prin care dai bani tuturor de pe server: ... for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) { GivePlayerMoney(i, 12345); SetPlayerScore(i, 5); } ...
-
Mai intai incearca sa-ti dai seama care-i diferenta intre un program si un limbaj de programare. Dupa ce faci asta, poti sa te intrebi linistit ce e LUA.
-
Cu un timer si cu o variabila boolean. Straduieste-te si tu putin si-o sa-ti iasa. Data viitoare incarca codul pe pastebin.
-
Lasa doar return 1; la OnPlayerCommandText(params) sa ai ceva de genul public OnPlayerCommandText(params) { ... comenzile tale return 1; }
-
Nu ai inteles prea bine la ce ma refeream. Ce ai facut tu acolo e ca si cum un om bolnav de cancer si-ar schimba numele ca sa scape de boala. Adica pur si simplu redenumesti o variabila, nu schimbi absolut nimic in functionalitatea algoritmului. Poti sa schimbi numele variabilelor ani intregi, ca problema va exista in continuare.
-
Realizezi ca tu i-ai spus acolo doar sa modifice numele unei variabile? In plus, o sa-i dea erori pentru ca variabila "spawns" nu o sa mai existe, iar el o foloseste putin mai jos. @KinNg -> Cate elemente are tabloul bidimensional numit "spawn"? Sau mai bine pune aici liniile in care l-ai declarat.
