Szerző Téma: code fordítás zcmd->strcmp(cmd-re  (Megtekintve 897 alkalommal)

code fordítás zcmd->strcmp(cmd-re
« Dátum: 2013. augusztus 24. - 14:49:06 »
0 Show voters

#include a_samp
#include zcmd
#include sscanf
#define MAX_TRAFI 200
//----------------------------------------SZÍNEK----------------------------------------//
#define ZOLD 0x03b01aAA
#define SARGA 0xeefa00AA
#define NARANCSS 0xf0a400AA
#define PIROS 0xe60000AA
enum tInfo
{
Van,
Object,
Birsag,
Maxsebesseg,
Gyorshajtasok,
Float: PosX,
Float: PosY,
Float: PosZ,
Float: Fordulas
};
new TrafiInfo[MAX_TRAFI][tInfo];
forward TrafiEllenor();
public OnFilterScriptInit()
{
SetTimer(\"TrafiEllenor\", 2000, true);
return 1;
}
CMD:tlerak(playerid, params[])
{
new string[128];
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, PIROS, \"Kocsiból nem rakhatod le.\");
if(sscanf(params, \"dd\", TrafiInfo[tInfo][Maxsebesseg], TrafiInfo[tInfo][birsag])) return SendClientMessage(playerid, PIROS, \"Használat: /tlerak [max sebesség] [bírság]\");
for(new trafi; trafi < MAX_TRAFI; trafi++)
{
    if(TrafiInfo[trafi][Van] == 0)
    {
    GetPlayerPos(playerid, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]);
    GetPlayerFacingAngle(playerid, TrafiInfo[tInfo][Fordulas]);
TrafiInfo[tInfo][Object] = CreateObject(2600, TrafiInfo[tInfo][PosX], TrafiInfo[tInfo][PosY], TrafiInfo[tInfo][PosZ]-1, 0.0, 0.0, TrafiInfo[trafi][Fordulas]);
    TrafiInfo[tInfo][Van] = 1;
    TrafiInfo[tInfo][Gyorshajtasok] = 0;
   format(string, sizeof(string), \"Max sebesség: %d | Bírság: %d\", TrafiInfo[tInfo][Maxsebesseg], TrafiInfo[tInfo][birsag]);
    SendClientMessage(playerid, SARGA, \"Leraktál egy trafipaxot.\");
    SendClientMessage(playerid, ZOLD, string);
    break;
    }
}
return 1;
}
CMD:tfelszed(playerid)
{
new string[128], Float:x, Float:y, Float:z;
for(new trafi; trafi < MAX_TRAFI; trafi++)
{
    if(TrafiInfo[trafi][Van] == 1)
    {
   GetObjectPos(TrafiInfo[tInfo][Object], x, y, z);
        if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
        {
        DestroyObject(TrafiInfo[trafi][Object]);
      format(string, sizeof(string), \"ID: %d | Gyorshajtások: %d | Bírságok összege: $%d\", trafi, TrafiInfo[trafi][Gyorshajtasok], TrafiInfo[trafi][Gyorshajtasok]*TrafiInfo[trafi][birsag]);
   TrafiInfo[trafi][Van] = 0;
   TrafiInfo[trafi][PosX] = 0;
   TrafiInfo[trafi][PosY] = 0;
   TrafiInfo[trafi][PosZ] = 0;
   TrafiInfo[trafi][Fordulas] = 0;
    SendClientMessage(playerid, SARGA, \"Felszedtél egy trafipaxot.\");
    SendClientMessage(playerid, ZOLD, string);
         break;
        }
    }
}
return 1;
}
CMD:tfelszedall(playerid)
{
for(new trafi; trafi < MAX_TRAFI; trafi++)
{
DestroyObject(TrafiInfo[tInfo][Object]);
TrafiInfo[tInfo][Van] = 0;
TrafiInfo[tInfo][PosX] = 0;
TrafiInfo[tInfo][PosY] = 0;
TrafiInfo[tInfo][PosZ] = 0;
TrafiInfo[tInfo][Fordulas] = 0;
}
SendClientMessage(playerid, SARGA, \"Felszedted az összes trafipaxot.\");
return 1;
}
stock GetVehicleSpeed(vehicleid)
{
    new Float:vSpeed[3];
    GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
    new Float:vSpeed_Float;
    vSpeed_Float = floatsqroot( ((vSpeed[0] * vSpeed[0]) + (vSpeed[1] * vSpeed[1])) + (vSpeed[2] * vSpeed[2])) * 180.0;
    new vSpeed_Int;
    vSpeed_Int = floatround( vSpeed_Float, floatround_round );
return vSpeed_Int;
}
public TrafiEllenor()
{
new nev[MAX_PLAYER_NAME];
new Float:x, Float:y, Float:z, string[128];
for(new playerid; playerid < MAX_TRAFI; playerid++)
{
    if(IsPlayerConnected(playerid))
    {
   GetPlayerName(playerid, nev, sizeof(nev));
   for(new trafi; trafi < MAX_TRAFI; trafi++)
   {
       if(TrafiInfo[tInfo][Van] == 1)
       {
         GetObjectPos(TrafiInfo[tInfo][Object], x, y, z);
           if(IsPlayerInRangeOfPoint(playerid, 30.0, x, y, z) && IsPlayerInAnyVehicle(playerid))
           {
            new vehicleid = GetPlayerVehicleID(playerid);
              if(GetVehicleSpeed(vehicleid) > TrafiInfo[tInfo][Maxsebesseg])
              {
              TrafiInfo[tInfo][Gyorshajtasok]++;
              GivePlayerMoney(playerid, -TrafiInfo[tInfo][birsag]);
            format(string, sizeof(string), \"%st lekapta a trafipax! Max sebesség: %d | Sebessége: %d | Bírság: $%d\", nev, TrafiInfo[trafi][Maxsebesseg], GetVehicleSpeed(vehicleid), TrafiInfo[trafi][birsag]);
            SendClientMessageToAll(SARGA, string);
            break;
              }
           }
       }
           }
}
}
return 1;
}

hellotok !Valaki segítene  hogy hogy kéne lefordítani?:) Köszönöm a segítségeteket elõre is!

code fordítás zcmd->strcmp(cmd-re
« Válasz #1 Dátum: 2013. augusztus 24. - 14:57:28 »
0 Show voters
lassabb, bonyolultabb, nem mûködik vele az sscanf.. minek neked strcmp? o.O

code fordítás zcmd->strcmp(cmd-re
« Válasz #2 Dátum: 2013. augusztus 24. - 16:05:38 »
0 Show voters
Idézetet írta: TengeriMalac date=1377349048\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41814\" data-ipsquote-contentclass=\"forums_Topic
lassabb, bonyolultabb, nem mûködik vele az sscanf.. minek neked strcmp? o.O
 
Miért nem mûködik vele a sscanf?
A sscanf bármilyen karakterláncot képes feldarabolni a megadott karakter/-ek mentén (általában szóköz).

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
code fordítás zcmd->strcmp(cmd-re
« Válasz #3 Dátum: 2013. augusztus 24. - 19:41:37 »
0 Show voters
van forumon olyan amivel lehet  konvertálni

code fordítás zcmd->strcmp(cmd-re
« Válasz #4 Dátum: 2013. augusztus 24. - 19:59:55 »
0 Show voters
az zcmdre fordít,és vissza fele nem fordít!

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
code fordítás zcmd->strcmp(cmd-re
« Válasz #5 Dátum: 2013. augusztus 24. - 20:26:47 »
+1 Show voters
Ha azt használod akkor miért nem tudod belerakni?
a CMD:haha = if(strcmp(cmd, \"/haha\", true) == 0)
és ezeket az OnPlayerCommandText alá.

code fordítás zcmd->strcmp(cmd-re
« Válasz #6 Dátum: 2013. augusztus 24. - 20:35:09 »
0 Show voters
úgy megcsináltam és erre errort írt:
if(sscanf(params, \"dd\", TrafiInfo[tInfo][Maxsebesseg], TrafiInfo[tInfo][birsag])) return SendClientMessage(playerid, PIROS, \"Használat: /tlerak [max sebesség] [bírság]\");
de amikor zcmdvel volt akkor nem azért szertem volna segítséget kérni de látom az nem nagyon jön össze ennél a topicnál:)

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
code fordítás zcmd->strcmp(cmd-re
« Válasz #7 Dátum: 2013. augusztus 24. - 20:42:56 »
0 Show voters
OnPlayerCommandText....
new cmd[30], params[30];
sscanf(cmdtext, \"ss\", cmd, params);
...parancsok
próbáld meg így.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal