Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - Robi222

Oldalak: 1 2 [3] 4 5 ... 14
31
Szkript kérések / Jármû lementés MySQL
« Dátum: 2014. Szeptember 28. - 18:20:18 »
Idézetet írta: rayle date=1411907681\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50744\" data-ipsquote-contentclass=\"forums_Topic
mysql_log.txt mit ír ki?
 
mysql_log.txt fájlom nincs,ezek szerint rendbe megy minden,szerintem itt ID kavarodási gondok lehetnek,leghamarabb,tehát hogy nem tudja hova lementeni.

32
RP/RPG kérések / Jármû lementés gondok
« Dátum: 2014. Szeptember 26. - 11:00:51 »
Idézetet írta: Kovacs_Richard date=1411721946\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50740\" data-ipsquote-contentclass=\"forums_Topic
jarmuID globális változó lett? sehol nem látom, hogy változtatnád az értékét...és nem értem miért globális változó
 
Igen,globális,bár most már nem nagyon értem hogy akkor hogy csináljam.
És hogyha így csinálnám ?
/vehicles parancsal meghívom a \"SaveVehicleAll\" -t,és akkor elég lenne csak egy stock ?
 

CMD:vehicles(playerid, params[])
{
VehicleSaveAll();
return 1;
}
stock VehicleSaveAll()
{
new query[1024];
    //for(new i = 0; i < MAX_VEHICLES ; i++) // Loop through the maximum amount of vehicles allowed by sa-mp.
for(new i=0; i < jarmuID+1; i++)
{
GetVehiclePos(jarmuID,cInfo[vPosX],cInfo[vPosY],cInfo[vPosZ]);
GetVehicleZAngle(jarmuID, cInfo[vRot]);
format(query,sizeof(query),\"UPDATE sveh SET VehX=\'%f\',VehY=\'%f\',VehZ=\'%f\',VehRot=\'%f\' WHERE ID=\'%d\'\",cInfo[vPosX],cInfo[vPosY],cInfo[vPosZ],cInfo[vRot],jarmuID);
mysql_function_query(dbhandle,query,true,\"\",\"\");
//VehicleGet();
        //VehicleSave(jarmuID);
    }
    printf(\"Jarmuvek mentve: %d\", jarmuID); // Print out how many vehicles has been saved.
return 1;
}

 
Tehát így?

33
RP/RPG kérések / Jármû lementés gondok
« Dátum: 2014. Szeptember 26. - 10:42:50 »
Idézetet írta: Kovacs_Richard date=1411717053\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50740\" data-ipsquote-contentclass=\"forums_Topic
ide nem kell  még egy változó az indexeléshez:
 
for(new i = 0; i < MAX_VEHICLES ; i++)
{
    VehicleGet(i);
    VehicleSave(i);
}

 
ja látom, miért volt külön index...de úgy is MAX_VEHICLES-1-ig fut a ciklus...az ciklus változót (i) is létrehozhatod kívül és akkor így néz ki:
 
new i = 0;
for(; i < MAX_VEHICLES ; i++)

 
A VehicleSave alatt ez a 2 sor miatt 2000-szer (MAX_VEHICLE) fogja írni az üzeneteket:
 
printf(\"Jarmuvek elmentve!\");
SendClientMessageToAll(COLOR_WHITE,\"(( Jármûvek elmentve! ))\");

 
írasd ki ennek az értékét:
 
cInfo[jarmuID][vID]

 
és nézd meg, hogy nem e ugyanaz mindenhol...
amúgy amikor lefuttatod ezt a parancsot milyen üzenetek jönnek a chatben?
 
Köszi a segítséget,még nem teljesen megy,most úgy van, hogy van 3 jármû,3 különbözõ helyen,ha /vehicles -t írok akkor mind a 3 jármûnek ugyanazt a pozíciót menti le,ami az egyik kocsié.
Betölteni betölt rendesen.
Most kicsit átírtam,tehát most így néz ki:
Mód eleje:
 

new jarmuID;
enum carInfo
{
vID,
vModel,
Float:vPosX,
Float:vPosY,
Float:vPosZ,
Float:vRot,
vCol1,
vCol2
};
new cInfo[MAX_VEHICLES][carInfo];

 


CMD:vehicles(playerid, params[])
{
VehicleSaveAll();
printf(\"Jarmuvek elmentve!\");
return 1;
}
 
stock VehicleSaveAll()
{
    //for(new i = 0; i < MAX_VEHICLES ; i++) // Loop through the maximum amount of vehicles allowed by sa-mp.
    for(; cInfo[jarmuID][vID]< sizeof(cInfo);cInfo[jarmuID][vID]++)
{
VehicleGet();
        VehicleSave();
    }
    printf(\"Jarmuvek mentve: %d\", cInfo[jarmuID][vID]); // Print out how many vehicles has been saved.
return 1;
}
 
stock VehicleGet()
{
    GetVehiclePos(jarmuID,cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ]);
    // Get the current position of that vehicle and assign it to our system\'s vehicle information.
    GetVehicleZAngle(jarmuID, cInfo[jarmuID][vRot]);
    // Get the current rotation of that vehicle and assign it to our system\'s vehicle information.
return 1;
}
stock VehicleSave()
{
new query[1024];
format(query,sizeof(query),\"UPDATE sveh SET VehX=\'%f\',VehY=\'%f\',VehZ=\'%f\',VehRot=\'%f\' WHERE ID=\'%d\'\",cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ],cInfo[jarmuID][vRot],cInfo[jarmuID][vID]);
mysql_function_query(dbhandle,query,true,\"\",\"\");
return 1;
}

 
Szerver logban pedig ezt írja,indításkor mikor betölt: \"Jarmuvek betoltve: 3\"
Mivel 3 jármû van,  /vehicles parancsot ha beírom pedig 1 sort ír csak ennyit \"Jarmuvek elmentve: 2000\"
Mi lehet a gond ?

34
Szkript kérések / Jármû lementés MySQL
« Dátum: 2014. Szeptember 26. - 08:06:12 »
Hali!
Már tegnap óta ezt próbálom megcsinálni,de sehogy se bírok rájönni,ezért inkább azt kérném hogy valaki lenne oly szíves,hogy megírja helyettem.
Szóval jármûveket akarok lementeni MySQL -be de valahogy nem ment el semmit.
Szóval egy parancs meg hívja a \'VehicleSaveAll\' -t:
 

CMD:vehicles(playerid, params[])
{
VehicleSaveAll();
printf(\"Jarmuvek elmentve!\");
return 1;
}

 
itt a \'VehicleSaveAll\' stock rész:
 

stock VehicleSaveAll()
{
new vehicles = 0;
    //for(new i = 0; i < MAX_VEHICLES ; i++) // Loop through the maximum amount of vehicles allowed by sa-mp.
    for(new jarmuID = 1;jarmuID<500;jarmuID++)
{
VehicleGet(jarmuID);
        VehicleSave();
vehicles++;
    }
    printf(\"Jarmuvek mentve: %d\", vehicles); // Print out how many vehicles has been saved.
return 1;
}

 
Ez meghívja ugye a VehicleGet és VehicleSave -t
 

stock VehicleGet(jarmuID)
{
    GetVehiclePos(jarmuID,cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ]);
    // Get the current position of that vehicle and assign it to our system\'s vehicle information.
    GetVehicleZAngle(jarmuID, cInfo[jarmuID][vRot]);
    // Get the current rotation of that vehicle and assign it to our system\'s vehicle information.
return 1;
}
stock VehicleSave()
{
new query[1024];
for(new jarmuID = 1;jarmuID<500;jarmuID++)
    {
format(query,sizeof(query),\"UPDATE sveh SET VehX=\'%f\',VehY=\'%f\',VehZ=\'%f\',VehRot=\'%f\' WHERE ID=\'%d\'\",cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ],cInfo[jarmuID][vRot],cInfo[jarmuID][vID]);
mysql_function_query(dbhandle,query,true,\"\",\"\");
printf(\"Jarmuvek elmentve!\");
SendClientMessageToAll(COLOR_WHITE,\"(( Jármûvek elmentve! ))\");
}
return 1;
}

 
Majd ezzel töltöm be az autókat a mysqlbõl,ez meghívódik mikor elindul a játékmód:
 

public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
new num_rows, num_fields;
if(resultid != THREAD_NO_RESULT)
{
cache_get_data(num_rows, num_fields);
}
switch(resultid)
{
    case THREAD_LOAD_VEHICLES:
    {
   new vehicles = 0;
        if(num_rows)
        {
            for(new i = 0; i < num_rows; i++)
             {
         new jarmuID;
         cInfo[jarmuID][vID] = cache_get_field_content_int(i,\"ID\",dbhandle);
         cInfo[jarmuID][vModel] = cache_get_field_content_int(i,\"VehModel\",dbhandle);
         cInfo[jarmuID][vPosX] = cache_get_field_content_float(i,\"VehX\",dbhandle);
         cInfo[jarmuID][vPosY] = cache_get_field_content_float(i,\"VehY\",dbhandle);
         cInfo[jarmuID][vPosZ] = cache_get_field_content_float(i,\"VehZ\",dbhandle);
         cInfo[jarmuID][vRot] = cache_get_field_content_float(i,\"VehRot\",dbhandle);
         cInfo[jarmuID][vCol1] = cache_get_field_content_int(i,\"VehCol1\",dbhandle);
         cInfo[jarmuID][vCol2] = cache_get_field_content_int(i,\"VehCol2\",dbhandle);
         CreateVehicle(cInfo[jarmuID][vModel],cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ],cInfo[jarmuID][vRot],cInfo[jarmuID][vCol1],cInfo[jarmuID][vCol2],-1);
         vehicles++;
      }
   }
   printf(\"Jarmuvek betoltve: %d\", vehicles);
}
}
return 1;
}

 
Ez pedig az a parancs amivel tudok lerakni autót (teszt végett a parancsot majd kiszedem):
 

CMD:jarmu(playerid, params[])
{
new Float:pPosX;
new Float:pPosY;
new Float:pPosZ;
new query[512];
new jarmuID;
GetPlayerPos(playerid, pPosX,pPosY,pPosZ);
format(query,sizeof(query),\"INSERT INTO sveh (VehModel,Tulaj,Rendszam,VehX,VehY,VehZ,VehRot,VehCol1,VehCol2,KmSzamlalo,VehHP) VALUES (\'420\',\'Állam\',\'SA-789AO\',\'%f\',\'%f\',\'%f\',\'0\',\'6\',\'6\',\'0\',\'1000\')\",pPosX,pPosY,pPosZ);
mysql_function_query(dbhandle,query,false,\"\",\"\");
CreateVehicle(420,pPosX,pPosY,pPosZ,0,6,6,-1);
cInfo[jarmuID][vID]++;
return 1;
}

 
Aki segít annak megy a plusz,mert nagyon fontos lenne nekem,elõre is köszönöm szépen. :)

35
RP/RPG kérések / Jármû lementés gondok
« Dátum: 2014. Szeptember 25. - 19:32:57 »
Hali!
Úgy akarom megcsinálni a szerveremre,hogy MySQL táblába mentsen minden jármûvet és onnan is töltse be,a betöltés meg van,csak a mentés valahogy nem megy,a koórdinátát nem menti le,de szerintem azzal lesz a gond,hogy nem tudja hogy hova mentse le.
Tehát így néz ki:
itt az enum:
 

enum carInfo
{
vID,
vModel,
Float:vPosX,
Float:vPosY,
Float:vPosZ,
Float:vRot,
vCol1,
vCol2
};
new cInfo[MAX_VEHICLES][carInfo];

 


CMD:vehicles(playerid, params[])
{
VehicleSaveAll();
printf(\"Jarmuvek elmentve!\");
return 1;
}

 
Ezzel meghívom a \'VehicleSaveAll\' -t
Ez meg hívja a VehicleGet és VehicleSave -t:
 

stock VehicleSaveAll()
{
    new index = 0;
    for(new i = 0; i < MAX_VEHICLES ; i++)
    {
VehicleGet(index);
        VehicleSave(index);
index++;
    }
    printf(\"Jarmuvek mentve: %d\", index);
return 1;
}

 
Itt pedig a VehicleSave és VehicleGet:
 

stock VehicleGet(jarmuID)
{
    GetVehiclePos(cInfo[jarmuID][vID],cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ]);
    GetVehicleZAngle(cInfo[jarmuID][vID], cInfo[jarmuID][vRot]);
   
return 1;
}
stock VehicleSave(jarmuID)
{
new query[1024];
format(query,sizeof(query),\"UPDATE sveh SET VehX=\'%f\',VehY=\'%f\',VehZ=\'%f\',VehRot=\'%f\' WHERE ID=\'%d\'\",cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ],cInfo[jarmuID][vRot],cInfo[jarmuID][vID]);
mysql_function_query(dbhandle,query,true,\"\",\"\");
printf(\"Jarmuvek elmentve!\");
SendClientMessageToAll(COLOR_WHITE,\"(( Jármûvek elmentve! ))\");
return 1;
}

 
VehicleGet lekéri a koórdinátát és a forgást (Rotationt),VehicleSave egy jármûvet ment csak le,a VehicleSaveAll -nál pedig for ciklussal lementem az összes jármûvet.
Mi lehet itt a gond ? Elõre is köszi annak aki segít.
EDIT: Azt elfelejtettem hozzá tenni,hogy az elsõ autót amit lerakok egy parancsal,annak a koórdinátáját már elmenti,viszont a többit nem,mintha nem jó ID -re mentené le a többi kocsikat.

36
Segítségkérés / Kisebb kérdések
« Dátum: 2014. Szeptember 25. - 11:00:43 »
Hali!
Olyan lekérdezést hogy tudok,hogy ha saját magam autóban vagyok és ha az autóban az utasok száma több mint 0 akkor végrehajtsa azt amit akarok ?
Tehát nekem is a \'taxicar1\' -ben kell lennem illetve az utasoknak is.
Próbáltam ezzel,,de ezzel nem megy,mert ha az \'id\' nincs a taxiban akkor is lefut,és végrehajtódik a dolog.
 

if(IsPlayerInVehicle(playerid, taxicar1) && IsPlayerInVehicle(id, taxicar1))

 
Elõre is köszi!

37
Segítségkérés / Taxi hívókódszám bug
« Dátum: 2014. Szeptember 25. - 10:13:10 »
Idézetet írta: JustaCube date=1411630243\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50733\" data-ipsquote-contentclass=\"forums_Topic


 
if(hivasidinput == hivasid)

 
most 1 hívást lehet csak elfogadni...
 
az jól van írva....mivel a hívásnál mindig változik...
 
[/quote]
Igen-igen jó is lett,koszi szépen mindenkinek csak a \"hivasid = id;\" -t kellet kivenni. :)

38
Segítségkérés / Taxi hívókódszám bug
« Dátum: 2014. Szeptember 24. - 22:33:02 »
Idézetet írta: Nukerdog date=1411590346\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50733\" data-ipsquote-contentclass=\"forums_Topic

hivasid = id;

 
Ez mit csinál? Vagyis mire állítja be?
Egyébként szerintem sokkal egyszerûbb lenne playeridket használni egyszerûen :)
 
Azt ki lehet törölni,azt még elfelejtettem kiszedni. Playerid pedig nem a legjobb,mert van már egy fajta telefonrendszer,ott ha tárcsázzuk a számot akkor minden taxisnak küld egy ilyen \"értesítõt\" hogy valaki taxit hívott és fogadják a hívást. Azért szerintem nem a legjobb lenne playerid-vel. Vagy akkor hogy csináljam ?

39
Segítségkérés / Taxi hívókódszám bug
« Dátum: 2014. Szeptember 24. - 22:15:13 »
Hali!
Olyat csináltam,hogy ha kihívom a taxisok kapnak egy üzenetet hogy \"Valaki taxit hívott,híváskód száma: 1\" és akkor /taxielfogad 1 ,viszont ha a szerveren valaki megint hív taxit akkor a szám már 2 lesz,és azt tudják elfogadni.
A Kiírás,hívás minden megy,csak a /taxielfogad [híváskódszám] parancs bugos,tehát mikor valaki taxit hív akkor:
 

hivasid++;

 
Itt pedig a /taxielfogad parancs:
 

CMD:taxielfogad(playerid, params[])
{
if(pInfo[playerid][pFrakcio] == 4)
{
if(pInfo[playerid][pSzolgalatban] == 1)
{
new str[128],hivasidinput;
new vehicleid = GetPlayerVehicleID(playerid);
hivasid = id;
if(GetVehicleModel(vehicleid) == 438 || GetVehicleModel(vehicleid) == 420)
{
if(sscanf(params,\"d\",hivasidinput)) return SendClientMessage(playerid,COLOR_WHITE,\"(( Használat: /taxielfogad [Hívás kódszáma] ))\");
if(hivasidinput == hivasid)
{
SendClientMessage(hivasid,COLOR_WHITE,\"(( A Taxisok fogadták a hívásod! Maradj a pozíciódon! ))\");
SetPlayerMapIcon( playerid, 0, TaxiHivasPosX, TaxiHivasPosY, TaxiHivasPosZ, 0, COLOR_ULTRARED, MAPICON_GLOBAL );
format(str, sizeof(str), \"(( Sikeresen elfogadtad %d számú hívást! Pozíció jelölve a térképen! ))\",hivasid);
SendClientMessage(playerid,COLOR_WHITE,str);
micon[playerid] = true;
}
else
{
SendClientMessage(playerid,COLOR_WHITE,\"(( Érvénytelen hívókód szám! ))\");
}
}
else
{
SendClientMessage(playerid,COLOR_WHITE,\"(( Nem ülsz taxiban! ))\");
}
}
else
{
SendClientMessage(playerid,COLOR_WHITE,\"(( Nem vagy szolgálatban! ))\");
}
}
else
{
SendClientMessage(playerid,COLOR_WHITE,\"(( Nem vagy taxis! ))\");
}
return 1;
}

 
Ebbe mi lehet a hiba ? elõre is köszi a választ.

40
Segítségkérés / Random szám generátor,ugyanaz a szám
« Dátum: 2014. Szeptember 24. - 19:07:40 »
Idézetet írta: BackUP date=1411575913\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50719\" data-ipsquote-contentclass=\"forums_Topic

new elozoszam; // mód teteje
stock randomEx(min, max)
{   
    //Credits to y_less   
    new msz, rand;
    do
    {
        rand = random(max-min)+min;   
        msz= rand;
    } while(msz == elozoszam);
    elozoszam = msz;
    return rand;
}

 
Szerintem mûködni fog, egymás után nem generálja ugyanazt a számot. Kicsit bonyolultabb, ha azt szeretnéd, hogy többet soha ne legyen ugyanaz a szám.
Edit: Javítottam.




 

Ha meg egy listából szeretnéd, akkor nem nagyon lehet mást csinálni, mint végignézni a lista összes elemét, hogy egyezik-e a generált értékkel.
 

[/quote]
Ennek nem volt sok értelme, csak HSZ hunterkedés. Egyszer valaki leírta, szerintem elég érthetõen.
 

[/quote]
Köszi,akkor jól tudtam hogy \'while\' -al kell megoldani. :D Egyenlõre átrakom \'megoldva\' csak mert ezt úgy tudom rendesen letesztelni,ha véletlen tényleg le generál egy olyan számot ami már létezik,szóval egyenlõre köszi. :) BackUP ha tudok akkor adok + t.

41
Segítségkérés / Dialog bug
« Dátum: 2014. Szeptember 24. - 15:19:52 »
Idézetet írta: costaricahd date=1411564466\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50728\" data-ipsquote-contentclass=\"forums_Topic
Sziasztok egy rövid kérdésem lenne:Miért így mutatja a dialogot?Úgy érzem hogy valami hihetetlenül egyszerû a megoldás.Na mindegy a válaszokat köszönöm.
\"sa-mp-001_www.kepfeltoltes.hu_.png\"
Itt a kódja:
if (strcmp(\"/jármûvek\", cmdtext, true, 10) == 0)
{
    ShowPlayerDialog(playerid,DIALOG_STYLE_LIST,6,\"autók:/infernus /sentinel /infernus /pony\\nbiciklik:/bmx\", \"Bezár\", \"Jármûvek\");
   return 1;
 }
 
Próbáld így:
 

if (strcmp(\"/jármûvek\", cmdtext, true, 10) == 0)
{
    ShowPlayerDialog(playerid,6,DIALOG_STYLE_LIST,\"Jármûvek\",\"autók:/infernus /sentinel /infernus /pony\\nbiciklik:/bmx\", \"Bezár\", \"Jármûvek\");
      return 1;
}

 
Tehát fordítva,elõször a DIALOG_ID aztán a típus. Illetve kihagytál egy captiont azaz: \"\"
Az is lehet gond még hogy túl hosszú a szöveg,amire sajnos nincs megoldás.

42
RP/RPG kérések / Telefon rendszer bug
« Dátum: 2014. Szeptember 24. - 11:32:00 »
Hali!
Csinálgatom a telefon rendszeremet,ami már majdnem kész csak még pár bug van benne,ezeket szeretném kijavítani.
Az elsõ bug: tegyük fel van két játékos,mind a kettõnek van telefonja,ha \'A\' játékossal felhívom a \'B\' játékost,akkor aki felvette azaz a \'B\' játékos ha õ vele írok a chatbe,akkor az \'A\' játékos nem látja azt amit írok,helyette a \'B\' játékos kétszer látja a chatben egymás után azt amit írok,például: \"[Telefonban] XY Mondja: asd\"
Azt szeretném megtudni, hogy mi lehet a hiba oka,ha kicsit értelmetlenül írtam le akkor kérdezzetek,így tudtam csak leírni.
OnPlayerText rész:
 

public OnPlayerText(playerid, text[])
{
    new icchat[128];
new telefonchat[128];
    if(!pInfo[playerid][pLoggedin]) return SendClientMessage(playerid, COLOR_ULTRARED,\"(( Nem írhatsz a chatbe míg be nem jelentkezel! ))\");
    if (CallerLine[playerid] != INVALID_PLAYER_ID)
{
format(telefonchat, sizeof(telefonchat), \"[Telefonban] %s mondja: %s\", GetName(playerid), text);
SendClientMessage(CallerLine[playerid], COLOR_YELLOW, telefonchat); //elküldjük a szöveget annak a játékosnak akivel beszélünk
ProxDetector(20.0, playerid, telefonchat, COLOR_WHITE); //annak a körzetében elküldjük a szöveget aki telefonál
SetPlayerChatBubble(playerid, telefonchat, COLOR_WHITE, 20.0, 6000);
}
else
{
    format(icchat, sizeof(icchat), \"%s mondja: %s\", GetName(playerid), text);
ProxDetector(20.0, playerid, icchat, COLOR_WHITE);
    SetPlayerChatBubble(playerid, icchat, COLOR_WHITE, 20.0, 10000);
}
    return 0;
}

 
Stock rész ami meghívódik akkor amikor az egyik játékos felhívja a másikat:
 

stock HivoSzam(playerid,number)
{
id = INVALID_PLAYER_ID;
foreach(Player, i)
{
    if (pInfo[pLoggedin] && pInfo[pHivoszamElotag] && pInfo[pTelefonSzam] == number)
    {
        id = i;
        break;
}
}
if (id != INVALID_PLAYER_ID)
{
    new string[128];
SendClientMessage(playerid,COLOR_WHITE,\"(( Kicsöng... ))\");
SendClientMessage(playerid,COLOR_WHITE,\"(( Ha leakarod tenni: /telefonlerak ))\");
format(string, sizeof(string), \"(( Csörög a telefonod! Ha felakarod venni: /telefonfelvesz [Hívó: %s] ))\", GetName(playerid));
SendClientMessage(id, COLOR_WHITE, string);
        format(string, sizeof(string), \"* Valakinek csörög a telefonja.\");
ProxDetector(20.0,playerid, string, COLOR_PURPLE);
BeingCalled[id] = playerid;
SetPlayerAttachedObject(playerid, 6, 330, 6);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
return 1;
}
else SendClientMessage(playerid, COLOR_ULTRARED, \"(( Hívott számon az elõfizetõ nem kapcsolható! ))\");
return 1;
}

 
Itt pedig az a parancs amivel felvesszük a telefont:
 

CMD:telefonfelvesz(playerid, params[])
{
if (!pInfo[playerid][pTelefon])
{
SendClientMessage(playerid, COLOR_ULTRARED,\"(( Neked nincs telefonod! ))\");
return 1;
}
if (BeingCalled[playerid] == INVALID_PLAYER_ID)
{
    SendClientMessage(playerid, COLOR_ULTRARED,\"(( Nem csörög a telefonod! ))\");
    return 1;
}
if(pInfo[playerid][pTelefonBeKapcsolva] == 1)
{
BeingCalled[playerid] = playerid;
CallerLine[playerid] = BeingCalled[playerid];
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
BeingCalled[playerid] = INVALID_PLAYER_ID;
SetPlayerAttachedObject(playerid, 6, 330, 6);
}
else
{
SendClientMessage(playerid,COLOR_ULTRARED,\"(( A Telefonod ki van kapcsolva! ))\");
}
return 1;
}

 
Elõre is köszi,aki segít annak megy a +! :)
EDIT: Közben megoldottam,teljesen máshogy.

43
Segítségkérés / Random szám generátor,ugyanaz a szám
« Dátum: 2014. Szeptember 23. - 22:30:58 »
Idézetet írta: rayle date=1411499026\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50719\" data-ipsquote-contentclass=\"forums_Topic
Tehát olyat szeretnél hogy egymás után ne lehessen kétszer ugyanaz a szám?
 
new elozoszam;
stock randomEx(min, max)
{   
    //Credits to y_less   
    new rand;
    do
    {
        rand = random(max-min)+min;   
    }
    while(rand == elozoszam);
    elozoszam = rand;
    return rand;
}

 

Úgy szeretném,hogy például generál egy számot ami \"123456\",és azt szeretném, hogy ugyanezt a számot ne generálja le,tehát nem úgy szeretném hogy egymás mellet két ugyanolyan karaktert ne generáljon,hanem ezt,hogy teljesen ugyanazt a számot ne generáljon.

44
Segítségkérés / Random szám generátor,ugyanaz a szám
« Dátum: 2014. Szeptember 23. - 21:00:21 »
Hali!
Van egy random szám generátorom ami 6 számjegyet generál véletlenül,és olyat akarnák bele csinálni,hogy véletlenül ne hogy kétszer generálja le ugyanazt a számot,mert nem akarom hogy össze buggoljon. Azt hallottam hogy while ciklussal kéne megoldani valahogy,vagy hogy ? Aki segít annak elõre is köszi.
Ez generálja a számot:
 

stock randomEx(min, max)
{   
    //Credits to y_less   
    new rand = random(max-min)+min;   
    return rand;
}

45
Segítségkérés / Random 10 számjegy generálás
« Dátum: 2014. Szeptember 23. - 15:31:05 »
Idézetet írta: Kovacs_Richard date=1411471453\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50708\" data-ipsquote-contentclass=\"forums_Topic
[samp]new telSzam[128];[/samp]
nem kell 128 cella...
555+7 szám+szöveg végi \\0 = 11 karakter
legnagyobb int:   2147483647
általad generált:   5551234567
(pontosabban te 100 és 9999999 között generálsz számot szóval lehet 555100 is a szám...)
6 számjeggyel még kijön, de ha leveszed az 555-öt akkor kijön a 7...
ha mindenáron 7 számjegyet akarsz akkor így:
[samp]randomEx(1000000,8999999)[/samp]
lehetõségek:
- vagy külön tárolod a 7 számjegyet és tárcsázásnál kezeled az 555-öt
- kevesebb mint 7 számjegyet használsz
- nem 555-öt hanem mondjuk 111-et használsz (214 a legnagyobb alkalmazható \'prefix\' ebben az esetben)
 
Köszi,sikerült megoldani! :)

Oldalak: 1 2 [3] 4 5 ... 14
SimplePortal 2.3.7 © 2008-2024, SimplePortal