-
Posts
2,688 -
Joined
-
Last visited
-
Days Won
25
Content Type
Profiles
Forums
News
Documentation
Posts posted by Gireada
-
-
new string[256]; format(string,sizeof(string),"UPDATE `users` SET `fieldname` = '%s' WHERE `username` = '%s'",string to update); mysql_query(string);
-
Imi poti spune, pe ce sistem este(dini/mysql/sql), sa-mi arati comanda stat si functia care updateaza variabilele?
-
if(strcmp(cmd, "/editmodelcar", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] < 4) { SendClientMessage(playerid, COLOR_GRAD2, " Nu esti Admin !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /editcarmodel [modelid]"); return 1; } new proplev = strval(tmp); if(IsPlayerInAnyVehicle(playerid) == false ) return SendClientMessage(playerid, 0xFFFFFFFF, "Trebuie sa fii intr-un vehicul"); new idcar = GetPlayerVehicleID(playerid); if(IsAnOwnableCar(idcar) == false) return SendClientMessage(playerid, 0xFFFFFFFF, "Trebuei sa fii intr-un vehicul personal") CarInfo[idcar][cModel] = proplev; format(string, sizeof(string), "Car: %d is now %d",idcar,CarInfo[idcar][cModel]); SendClientMessage(playerid, COLOR_GRAD2, string); OnPropUpdate(); } } return 1; }
Acuma trebuie sa te urci in vehiculul respectiv pentru a schimba modelul. Sa-mi spui daca merge.
- 2
-
Vezi atunci cand face update la baza de date, e posibil sa nu fie scris cum trebuie comanda.
-
Aratane functia
Turfss
-
Scriptul nu este complet. Sa il creezi
-
La sfasitul callback-ului OnGameModeInit pui
LoadVehModels();
si iti va merge.
-
La OnPlayerSpawn pui SetPlayerPos(playerid, x,y,z); // x, y, z sa fie coordonatele lui.
-
Eu nu vad nici un obiect ca se creeaza in ce ne-ai dat acolo. Scriptul nu e complet.
-
Foarte buna, il aveam si eu acuma un an pe un server. Dar bravo ca l-ai postat si editat.
-
Cum e definita variabila ?
Corleone
-
if(IsAnOwnableCar(vehicleid) && CarInfo[vehicleid][cLock] == 1 && CarInfo[vehicleid][cOwned] == 1) { if(PlayerInfo[playerid][pAdmin] 5 && AdminDuty[playerid] == ) return 1; if(!(IsATccMember(playerid)) && tduty[playerid] == && !(IsInTCCZone(playerid))) return 1; new Float:cx, Float:cy, Float:cz; GetPlayerPos(playerid, cx, cy, cz); SetPlayerPos(playerid, cx, cy, cz); }
Am facut cum am inteles, sper sa iti mearga. Daca nu iti merge te rog explica mai bine.
- 1
-
Poti creea o noua coloana unde sa stochezi id-ul misiunilor. Aceea coloana va fi de tip caracter si ca sa scoti numerele folosesti sscanf.
-
Te rog sa ma ierti,sunt incepator ,imi poti da un link te rog..eu nu gasesc numai pe mysql ..?
https://www.sa-mp.ro/forums/topic/20525-dynamic-vehicle-system-h-dealership-03z/
-
-
Deci dupa ce a raspuns la dialogul DIALOG_TRUCKER, creezi o variabila prin care arati daca a inceput misiunea. De exemplu: new startjob[MAX_PLAYERS];
Iar la OnPlayerConnect pui
startjob[playerid] = 0;
Iar la OnTRailerHooked
public OnTrailerHooked(playerid, vehicleid, trailerid) { if(PlayerInfo[playerid][pJob] == 10 && startjob[playerid] == 0) { ShowPlayerDialog(playerid, DIALOG_TRUCKER, DIALOG_STYLE_LIST, "Mission Selection","Ocean Dock's (LS)\nDillimore (LS)\nLas Colinas (LS)\nSpinybed (LV)\nLVA Freight Depot (LV)\nRedsands West (LV)","Chose",""); } return 1; }
Iar la dialogul DIALOG_TRUCLER pui startjob[playerid] = 1; si la sfarsitul misiunii pui startjob[playerid] = 0;
-
Te duci la OnPlayerSpawn si pui SetPlayerPos(playerid, x, y ,z);// x, y, z fiind coordonatele unde vrei sa il spawnezi.
-
In loc de
InvitedGang[Player] = PlayerInfo[playerid][GangID];
Pui
InvitedGang[Player] = playerid;
- 1
-
Tot nu merge. Ma fac lider la un gang, ii dau invite. Da accept, si il baga in gang.
Daca ies si intru in alt gang, ii dau dinnou invite si nu il mai adauga in niciun clan.
A incercat sa ma ajute si un tip, si mi-a modificat asta:
format(eQuery, sizeof(eQuery), "UPDATE `Gangs` SET `GangMembers` = '%d' WHERE `ID` = %d", GangInfo[PlayerInfo[inviter_id][GangID]][TotalMembers] , PlayerInfo[playerid][GangID] ); mysql_tquery(DB_Connect, eQuery, "", "" );
A iesit din vechiul clan, ca sa intre in altu?
-
Iar la inceputul gamemode-ului definesti o noua variabila
new InvitedGang[MAX_PLAYERS];
Citeste tot ce ti-am scris
-
ID-ul gang-ului se stoca foarte prost pe
PlayerInfo[playerid][Invite] = Player;
Ti l-am facut eu
CMD:invite(playerid, params[]) { eQuery[0] = EOS; eString[0] = EOS; //-------------------------------------------------------------------------- if(PlayerInfo[playerid][GangID] != 0) { if(PlayerInfo[playerid][g_Rank] > 2) { new Player; //------------------------------------------------------------------ if(sscanf(params, "u", Player)) return SendUsage(playerid, "/Invite [PlayerID]"); if(!IsPlayerConnected(Player)) return SendError(playerid, "Player not connected."); //if(PlayerInfo[Player][ClanID] != 0) return SendError(playerid, "Player is in a clan!"); if(PlayerInfo[Player][GangID] != 0) return SendError(playerid, "The user is in other gang!"); if(GangInfo[PlayerInfo[playerid][GangID]][TotalMembers] >= GangInfo[PlayerInfo[playerid][GangID]][MaxMembers]) return SendError(playerid, "Your gang way reached your maximum limit for members."); //-------------------------------------------------------------------------- PlayerInfo[playerid][Invite] = Player; InvitedGang[Player] = PlayerInfo[playerid][GangID]; //-------------------------------------------------------------------------- format(eString, sizeof(eString), "{FFFFFF}You have been invited in {FF0000}%s {FFFFFF}gang, by {FF0000}%s.\n\ \n\ {33AA33}- Members: {FF0000}%d\n", GangInfo[PlayerInfo[playerid][GangID]][GangName], PlayerName(playerid),GangInfo[PlayerInfo[playerid][GangID]][TotalMembers]); format(eString, sizeof(eString), "%s{33AA33}- Captures: {FF0000}%d\n\ {33AA33}- Gang Points: {FF0000}%d\n\ \n\ {FFFFFF}Click on '{FF0000}Accept{FFFFFF}' button if you accept, or '{FF0000}Decline{FFFFFF}' if you decline invitation", eString, GangInfo[PlayerInfo[playerid][GangID]][Captures], GangInfo[PlayerInfo[playerid][GangID]][Points]); //-------------------------------------------------------------------------- return ShowPlayerDialog(Player, DIALOG_GANGINVITE, DIALOG_STYLE_MSGBOX, "Gang Invite", eString, "Accept", "Decline"); } else return SendError(playerid, "You need to be rank 2 to use this command"); }
case DIALOG_GANGINVITE: { if(response) { new inviter_id = InvitedGang[playerid]; eString[0] = EOS; //-------------------------------------------------------------- PlayerInfo[playerid][GangID] = PlayerInfo[inviter_id][GangID], PlayerInfo[playerid][g_Rank] = 1, SetupPlayerForGang(playerid, PlayerInfo[playerid][GangID]); //-------------------------------------------------------------- format(eString, sizeof(eString), "{FF0000}%s {FFFF00}has joined your gang!", PlayerName(playerid)), SendGangMessage(PlayerInfo[playerid][GangID], eString); //-------------------------------------------------------------- format(eString, sizeof(eString), "~w~You have joined ~g~~h~%s ~w~gang!", GangInfo[PlayerInfo[playerid][GangID]][GangName]); Announce(playerid, eString, 3000, 4), GangInfo[PlayerInfo[inviter_id][GangID]][TotalMembers]++, OnUpdate(); format(eQuery, sizeof(eQuery), "UPDATE `Gangs` SET `GangMembers` = `GangMembers` WHERE `ID` = %d", PlayerInfo[playerid][GangID], GangInfo[PlayerInfo[playerid][GangID]][GangName]); mysql_tquery(DB_Connect, eQuery, "", "" ); } return 1; }
Iar la inceputul gamemode-ului definesti o noua variabila
new InvitedGang[MAX_PLAYERS];
Iar la OnPlayerConnect pui
InviteGang[playerid] = -1;
-
Deci, trebuie sa stochezi in niste variabile cine este liderul la o factiunea anume si sa o salvezi intr-un tabel mysql. Din acel tabel extragi toate factiunile si le arati liderii.
-
Arata-mi comanda /fare.
-
Cel mai bine e asa, cauti modelul placii de baza pe net si vezi daca are doua sloturi pentru placa video
Comanda /find
in Discuţii scripting
Posted
if(PlayerInfo[playerid][pMember] != 1) || PlayerInfo[playerid][pJob] ! = 1)