-
Posts
2,200 -
Joined
-
Last visited
-
Days Won
118
Community Answers
-
WopsS's post in Problemă Pawno was marked as the answer
Unde scrie "Welcome!" pune ghilimele (" "), acelea nu sunt ghilimele...
-
WopsS's post in Problema Mysql was marked as the answer
1. Nu ai nevoie de un string asa de mare (256), merge si 128.
2. La mysql_query poti sa scoti acel true pentru ca nu iti trebuie.
3. Tu acolo ai un SetTimer("Vehicles", 100, 0); care cheama functia Vehicles care are parametru vehicleid, tu trebuie sa ii pasezi si ei un parametru, pentru asta foloseste SetTimerEx.
-
WopsS's post in Mysql Import Cars was marked as the answer
Asa este bine.
Pune la mysql_tquery si celalalt primul parametru sql in loc de 1.
-
WopsS's post in Problema Pornire Server. was marked as the answer
Scoti acel cod de la mine.
maddinat0r mi-a raspuns. A zis sa instalezi VC++ 2012 redistributables x86, daca ai x64 sa il pui pentru VC++ 2012 redistributables x64 si x86. Iar despre Preprocessor Definitions a zis ca deja le-a inclus mai de mult.
Dar vad ca ai zis ca il ai instalat. Astept sa ma anunti daca ai Windows-ul pe 64-bit.
-
WopsS's post in Intrebare was marked as the answer
Asa trebuie sa arate comanda ta
[pawn]if(!strcmp(cmd, "/engine", true))
{
if(IsPlayerConnected(playerid))
{
new name[21];
GetPlayerName(playerid, name, sizeof(name));
if(IsPlayerInAnyVehicle(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(Bicicleta(idcar)||IsAHarvest(idcar))
{
return 1;
}
if(IsAnOwnableCar(idcar))
{
if(PlayerInfo[playerid][pPcarkey1] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey4] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey5] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey6] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey7] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey8] == idcar) { }
else { return 1; }
}
new Float:health;
new playerveh = GetPlayerVehicleID(playerid);
GetVehicleHealth(playerveh,health);
if(health <= 450.0)
{
SendClientMessage(playerid,COLOR_LIGHTRED,"Masina este prea avariata,contacteaza un mecanic!");
// RemovePlayerFromVehicle(playerid);
return 1;
}
if(Gas[idcar] <= 0)
{
SendClientMessage(playerid,COLOR_GRAD1,"Nu ai benzina pentru a porni motorul.");
return 1;
}
if(gEngine[playerid] == 1) { return 1; }
PutPlayerInVehicle(playerid, playerveh, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s rasuceste cheia in contact pentru a porni motorul.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",3500,0,"i",playerid);
GameTextForPlayer(playerid, "~w~Porneste vehiculul...",3500,3);
gEngine[playerid] = 1;
return 1;
}
if(engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(Bicicleta(idcar)||IsAHarvest(idcar))
{
return 1;
}
if(IsAnOwnableCar(idcar))
{
if(PlayerInfo[playerid][pPcarkey1] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey2] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey3] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey4] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey5] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey6] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey7] == idcar) { }
else if(PlayerInfo[playerid][pPcarkey8] == idcar) { }
else { return 1; }
}
engineOn[GetPlayerVehicleID(playerid)] = false;
//RemovePlayerFromVehicle(playerid);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), 0, -1, -1, -1, -1, -1, -1);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s opreste motorul si ia cheia din contact.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
gEngine[playerid] = 0;
return 1;
}
}
}
return 1;
}[/pawn]
-
WopsS's post in Problemă Robatm was marked as the answer
Ah, am uitat.
Dupa ce jucatorul primeste banii si zice "Scapa de copoi" sau cum ii ai tu acolo pune si.
[pawn]
ATMAFostJefuit = 1;
[/pawn]
Vezi ca variabila asta sa fie globala, adica adaugi undeva in gamemode
[pawn]new ATMAFostJefuit;[/pawn]
-
WopsS's post in Cand Un Politist Omoara Pe Cineva, Ii Da Wanted was marked as the answer
Tu ai mai multe chestii acolo, Am mai vazut si [pawn]if (gTeam[killerid] >= 3)
{[/pawn]
Vad ca asta zice ca trebuie s-o modifici.
[pawn](gTeam[killerid]) == 2[/pawn]
Numai ca in loc de != pui ==.
-
WopsS's post in O intrebare. was marked as the answer
Uite aici,
http://forum.sa-mp.com/showthread.php?t=429881
-
WopsS's post in Problema masini was marked as the answer
Uita-te aici.
http://wiki.sa-mp.com/wiki/AddStaticVehicleEx ultimul parametru este timpul de respawn. Penultimele doua sunt culorile. Culoarea negru este 0.
-
WopsS's post in Problema /clear was marked as the answer
Cum ai asta?
[pawn]if(gTeam[playerid] == 2)
{[/pawn]
Poti sa schimbi aia in PlayerInfo[playerid][pMember] == 1 sau cum ai tu in gamemode.
-
WopsS's post in Problema masini incuiate was marked as the answer
Nu se scriu datele in fisierul cu masinile personale.
-
WopsS's post in Ajutor script Poker was marked as the answer
Folosesti prea multe resurse, optimizeaza codul. Redu marimea variabilelor locale.
-
WopsS's post in Probleme car was marked as the answer
Incearca asta.
http://wiki.sa-mp.com/wiki/SetVehicleParamsForPlayer
-
WopsS's post in Eroare compilare FS was marked as the answer
Sterge [pawn]#if defined FILTERSCRIPT[/pawn] si [pawn]#endif[/pawn]
-
WopsS's post in Problema /buycar was marked as the answer
Vezi ca aici
[pawn]if(dialogid == DIALOG_CATEGORY)
{
if(response)
{
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid,112,DIALOG_STYLE_LIST ,"Masini ieftine","Sunrise 100.000$nPerenial 50.000$n","Buy","Cancel");
case 1:
{
ShowPlayerDialog(playerid,113,DIALOG_STYLE_LIST ,"Masini cu tractiune","SandKing 1.000.000$n","Buy","Cancel");
}
case 2:
{
ShowPlayerDialog(playerid,114,DIALOG_STYLE_LIST ,"Camionete","Burrito 100.000$nn","Buy","Cancel");
}
case 3:
{
ShowPlayerDialog(playerid,115,DIALOG_STYLE_LIST ,"Tiruri","RoadTrain 300.000$n","Buy","Cancel");
}
case 4:
{
ShowPlayerDialog(playerid,116,DIALOG_STYLE_LIST ,"Masini sport","Super GT 1.000.000$n","Buy","Cancel");
}
case 5:
{
ShowPlayerDialog(playerid,117,DIALOG_STYLE_LIST ,"Masini OFF Road","Mesa 1.000.000$n","Buy","Cancel");
}
case 6:
{
ShowPlayerDialog(playerid,118,DIALOG_STYLE_LIST ,"Masini de donator","Maverick 1.000.000$n","Buy","Cancel");
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Ai anulat")
}
}[/pawn]
Ai o paranteza de la case 0 care se inchide ultima din case-uri.
Trebuie sa arate asa
[pawn]if(dialogid == DIALOG_CATEGORY)
{
if(response)
{
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid,112,DIALOG_STYLE_LIST ,"Masini ieftine","Sunrise 100.000$nPerenial 50.000$n","Buy","Cancel");
}
case 1:
{
ShowPlayerDialog(playerid,113,DIALOG_STYLE_LIST ,"Masini cu tractiune","SandKing 1.000.000$n","Buy","Cancel");
}
case 2:
{
ShowPlayerDialog(playerid,114,DIALOG_STYLE_LIST ,"Camionete","Burrito 100.000$nn","Buy","Cancel");
}
case 3:
{
ShowPlayerDialog(playerid,115,DIALOG_STYLE_LIST ,"Tiruri","RoadTrain 300.000$n","Buy","Cancel");
}
case 4:
{
ShowPlayerDialog(playerid,116,DIALOG_STYLE_LIST ,"Masini sport","Super GT 1.000.000$n","Buy","Cancel");
}
case 5:
{
ShowPlayerDialog(playerid,117,DIALOG_STYLE_LIST ,"Masini OFF Road","Mesa 1.000.000$n","Buy","Cancel");
}
case 6:
{
ShowPlayerDialog(playerid,118,DIALOG_STYLE_LIST ,"Masini de donator","Maverick 1.000.000$n","Buy","Cancel");
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Ai anulat")
}
}[/pawn]
-
WopsS's post in Money reset was marked as the answer
GivePlayerCash este functia. El nu doar iti adauga banii in "money bar" dar ii si actualizeaza in baza de date.
-
WopsS's post in Slot masina. was marked as the answer
La PlayerData adaugi pPcarkey4.
Iar la verificari adaugi [pawn]PlayerData[playerid][pPcarkey4] != 999[/pawn]
Tot asa faci peste tot pe unde ai [pawn]PlayerData[playerid][pPcarkey3][/pawn] dar aici nu adaugi si != adaugi ce este si la pPcarkey3.
-
WopsS's post in Problema comanda /ban was marked as the answer
Problema e aici
[pawn]if (sscanf,(params, "us[30]", , reason) )[/pawn]
trebuie sa ai ceva intre ", ,". Cred ca acolo ai vrut sa pui player dupa cum vad formatorul "u".
-
WopsS's post in Parola criptata was marked as the answer
Cauta in gamemode [pawn]MD5[/pawn] sau [pawn]MD5('%s')[/pawn] si sterge acel MD5()
-
WopsS's post in Problema restart was marked as the answer
Schimba [pawn]SendRconCommand("exit");[/pawn] in [pawn]SendRconCommand("gmx");[/pawn]
-
WopsS's post in Cerere tutorial textdraw ioin / leave was marked as the answer
In primul rand adaugi asta undeva in gamemode. Pe la inceput.
[pawn]new Text:PlayerJoinedServerTextDraw;[/pawn]
Cu asta facem o variabila in care o sa stocam ID-ul textdraw-ului.
Dupa ce am facut asta la OnGameModeInit adaugam
[pawn]PlayerJoinedServerTextDraw = TextDrawCreate(250.0, 426.0, " ");
TextDrawAlignment(PlayerJoinedServerTextDraw, 2);
TextDrawUseBox(PlayerJoinedServerTextDraw, 1);
TextDrawBoxColor(PlayerJoinedServerTextDraw, 0x00000066);
TextDrawFont(PlayerJoinedServerTextDraw, 1);
TextDrawSetShadow(PlayerJoinedServerTextDraw, 1);[/pawn]
Aici, creem textdraw-ul si ii setam proprietatiile.
Dupa care la OnPlayerConnect si OnPlayerDisconnect adaugam
[pawn]new String[64], PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
format(String, sizeof(String), "%s a intrat pe server", PlayerName);
TextDrawSetString(PlayerJoinedServerTextDraw, String);
TextDrawShowForAll(PlayerJoinedServerTextDraw);
SetTimer("HideTextDraw",5000,false);[/pawn]
[pawn]new String[64], PlayerName[MAX_PLAYER_NAME];[/pawn] aici facem doua variabile in care o sa tinem minte textul pe care il afisem si numele jucatorului.
[pawn]GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);[/pawn] aici luam numele jucatorului si il punem in variabila PlayerName.
[pawn]TextDrawSetString(PlayerJoinedServerTextDraw, String);
TextDrawShowForAll(PlayerJoinedServerTextDraw);[/pawn] aici setam textul textdraw-ului si il afisem la toti jucatorii online.
[pawn]SetTimer("HideTextDraw", 5000, false);[/pawn] facem sa dispara textdraw-ul dupa 5 secunde.
Si ultimul pas adaugam
[pawn]forward HideTextDraw();
public HideTextDraw()
{
TextDrawHideForAll(PlayerJoinedServerTextDraw);
return 1;
}[/pawn]
Care o sa faca ca textdraw-ul cu ID-ul stocat in variabila PlayerJoinedServerTextDraw sa fie ascuns pentru toti jucatorii.
-
WopsS's post in Problema textdraw join/leave was marked as the answer
L-ai definit, dar trebuie sa fie ori in enum ori il faci variabila. Si trebuie sa aiba prefixul Text:
Acolo doar ai creeat textdraw-ul. Ca sa si afisezi e mai mult de facut. Trebuie sa ii setezi si text-ul, etc..
Topic inchis a fost creat un tutorial pentru asta!
-
WopsS's post in De aici adaug masina personala noua? was marked as the answer
La toate dialog-urile tale, 141, 142, 143, 144 sunt aceeasi chestie.
[pawn]case 0:
{
VehDSmod[playerid]=401;
VehDSpret[playerid]=1500000;
}[/pawn]
inseamna ca asta e prima masina, de la dialog-ul 141. Adica Bravura si costa $1.500.000. Ca sa adaugi inca una pui la sfarsit in dialog nMasina noua-pret si adaugi un alt case. De exemplu ultimul tau case la "Masini Normale" este 12. Dupa el adaugi alt case, ultimul case + 1.
[pawn]case 13:
{
VehDSmod[playerid]=Model Masina;
VehDSpret[playerid]=Pret;
}[/pawn]
Asta e deja alta problema.
-
WopsS's post in Ajutor lumini. was marked as the answer
http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange
-
WopsS's post in Erori compilare was marked as the answer
Gata, am rezolvat-o. Nu era grea problema, era de atentie.
Gireada cand a facut tutorialul a uitat ca atunci cand te dai jos din masina, VehicleID o sa fie 0.
Asa ca adauga [pawn]new LastCar[MAX_PLAYERS];[/pawn] undeva la inceput.
Dupa la OnPlayerStateChange adauga (la inceput)
[pawn]new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
LastCar[playerid] = GetPlayerVehicleID(playerid);
}[/pawn]
Acum, sa modificam putin script-ul lui Gireada. Asta
[pawn]timerkm[GetPlayerVehicleID(playerid)] = SetTimerEx("km_counter", 1000, 1, "d", GetPlayerVehicleID(playerid));//pornim acel timer care masoara kilometrii parcursi[/pawn]
inlocuieste-o cu
[pawn]timerkm[vehicleid] = SetTimerEx("km_counter", 1000, 1, "d", vehicleid);//pornim acel timer care masoara kilometrii parcursi[/pawn]
Iar aceste linii
[pawn]format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi",VehicleKM[vehicleid]);//afisam cati kilometrii are parcursi
SendClientMessage(playerid, -1, string);
KillTimer(timerkm[GetPlayerVehicleID(playerid)]);//omoram acel timer care masoara kilometrii deoarece nu mai e nici un sofer in ea[/pawn]
le inlocuiesti cu
[pawn]KillTimer(timerkm[LastCar[playerid]]);
format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi", floatround(VehicleKM[LastCar[playerid]], floatround_ceil));//afisam cati kilometrii are parcursi
SendClientMessage(playerid, -1, string);[/pawn]